Subchapter 7.12
references/task-design.mdMarkdown6 KBView on GitHub
Use repository capabilities, supplied traces, user priorities, production failures, existing eval coverage, and project World knowledge. Start with real work and an observable result. Do not create a Task only because an unusual fixture is available.
Propose one grounded Task in the first user-facing design response after inspection. Use any concise structure that shows the work and capability, non-trivial condition, important failure, Environment and access, independent Verifier evidence, difference from existing Tasks, source evidence, and open decisions. Offer alternatives only when a real user choice changes the design.
In the same response, show relevant knowledge already in the project World Skill and the reusable additions or corrections suggested by the Task. If the skill does not exist, show the small initial content that will support this Task and future Tasks. Frequency in traces can support relevance but does not prove business priority. A repository feature can support feasibility but does not prove the Task is valuable.
A strong Task:
Reject a Task that mainly tests prompt decoding, brittle formatting, infrastructure luck, impossible knowledge, or a preferred internal tool sequence.
Use normal request language. State the goal, necessary context, expected output or effect, and real limits. Do not prescribe steps unless the procedure is the capability.
Copy assets/task/Task.md.template into the runnable Task directory beside
task.toml. Keep it outside the agent-visible image and workspace. Create or
update .agents/skills/<project>-world/SKILL.md in the same design loop by
following World knowledge.
Name the work, capability, value, source, and difference from existing Tasks. Use paths, symbols, focused tests, trace IDs, policies, or human decisions for important claims.
Write the exact initial instruction and any later turns or triggers. State
context passed outside the instruction. The generated instruction.md must
match either the approved input or the reviewed Draft input used under the
documented no-pause exception.
Include only Harness behavior this Task depends on: tool interfaces, session persistence, time, retries, or reconstruction differences. Do not repeat a complete repository map in every Task.
Describe initial state, relationships, visible and hidden information, dependencies, access, identity, permissions, time, network, setup, readiness, reset, and material production differences. Cite project World knowledge used by the design.
For each required or prohibited result, state independent evidence, the exact objective check or bounded semantic question, and its pass condition. List accepted alternatives, the complete pass rule, and invalid-run conditions.
Explain why the Task is solvable, how the agent can find required information, which shortcuts might work, and how hidden truth stays inaccessible. Name a realistic wrong result and a collateral change that must fail.
Show the full Task Spec and World Skill changes before building by default.
Explain what already existed, what the current Task adds or corrects, and what
stays only in Task.md. Let the human revise both. Ask the human to review:
Mark Status: Approved only after explicit approval. If the user requested a
full build without another pause, continue with a Draft and label it honestly.
Treat World Skill changes as accepted only after human review.
After implementation, ask for evidence review. Show representative trajectories, final state, Verifier evidence, defects found, revisions made, results, and remaining limits. A reviewed markdown design does not prove a good runnable Task.
Prove one Task before creating a family. Then vary one meaningful condition:
Keep the underlying work stable when comparing difficulty. Avoid shallow instruction rewrites. Update project World knowledge when a new condition reveals a reusable rule, builder, evidence source, or known failure.