Task
Use a task for work that needs the pack’s agents to do something, not answer a question or record a fact. Examples are researching a topic and adding it to the pack, fixing what the pack covers, or modeling new data.
Run a task
Section titled “Run a task”task starts the pack’s task agent with your objective. It returns a task Action immediately.
| Input | Type | Required | Meaning |
|---|---|---|---|
packId |
string | Yes | The pack’s id or slug, from list_packs. |
objective |
string | Yes | The objective for the pack’s agent, in natural language. |
mustWrite |
boolean | No | Fail the task, instead of succeeding, if nothing it writes reaches the pack. |
mode |
standard or fast |
No | Stored as given. It does not change how the task runs. Both modes use the same executor. |
idempotencyKey |
string | No | A key you choose for this attempt, up to 200 characters. If you retry with the same key, you get back the Action the first attempt created. |
Returns the Action. Call action_get with its actionId and waitSeconds until the status is final. A succeeded task returns output.summary, output.artifactIds, and output.knowledgeWrites. output.knowledgeWrites lists what the task wrote to the pack, as the pack recorded it. While the task runs, phase shows the tool its agent called last.
Permission: task needs steer access on the pack.
“Research how the validator docs have changed this quarter and write a dated summary into the pack.”
edisyl task <pack> "<objective>" [flags]edisyl task my_pack "Audit the validator docs and flag anything stale"edisyl task my_pack "Summarize this quarter" --wait --timeout 10medisyl task my_pack "Write this week's summary at /weekly/<date>" --cron "0 9 * * 1" --must-write| Flag | Behavior |
|---|---|
--wait |
Wait until the Action reaches a final status, then print its output. |
--timeout <duration> |
How long --wait waits. Default 5m. |
--must-write |
Fail the task, instead of succeeding, if nothing it wrote reached the pack. Use it when the purpose of the task is to write something, such as a dated summary page. On a schedule, it applies to every run. |
--fast |
Record the task’s mode as fast instead of standard. It doesn’t change how the task runs. |
--mode standard|fast |
The same, for a scheduled task. |
--id-only |
Print only the Action id, for use in scripts. With --cron or --at, it prints the schedule id instead. |
--cron "<expr>" |
Run this task on a recurring schedule. The minimum interval is 30 minutes. |
--at <RFC3339> |
Run this task once, at a future time. |
--name <label> |
An optional name for the schedule. Other schedule commands accept this name or the schedule id. |
-j, --json |
Machine-readable output. |
To follow the task, run edisyl action watch <action-id>. To read its summary and artifacts, run edisyl action get <action-id>.
How a task runs
Section titled “How a task runs”A task runs one executor agent over the pack. The agent uses ask to answer the questions the objective raises, one precise question at a time. It gives large or independent pieces of work to subtasks. It can also research the open web and add its findings to the pack. It can run ask and teach itself, as child Actions.
Task outcomes
Section titled “Task outcomes”A task can produce a report, an artifact, an external action (when explicitly authorized), or a proposed change that needs review. It adds new understanding to the pack only when the objective explicitly asks it to teach. A task never changes the pack’s understanding without being asked:
"Research competitor pricing and report back." → a result only"Research competitor pricing and teach the findings." → a result, and a teach on the same packRecurring tasks
Section titled “Recurring tasks”In the CLI, add --cron or --at to make any task a schedule. In MCP, use the schedule_* tools. See Scheduling recurring work and schedule.
Was this page helpful?
Thanks for the feedback.
