expense-audit: a task that gives the
agent a folder of expense claims and a reimbursement policy and asks it to list the
claims that break the policy.
1. Decide the outcome and the check
Write two sentences before touching the CLI: what the agent must produce, and how a verifier will decide it is right without trusting the agent. Forexpense-audit,
the agent writes flagged.json naming each non-compliant claim and the rule it
broke, and the verifier compares that file with a private answer key.
If you cannot state the check, the task is not ready. A task whose only evidence is
the agent saying it is done cannot be scored.
2. Choose a starter and initialize
README.mdis the task description the agent reads and the judge’s input.workspace/INSTRUCTIONS.mdand the rest ofworkspace/hold what the agent may read.droyd_env.jsondeclares the runtime, budgets and a one-line theme statement.expense_audit/taskset.pyandtoolset.pydefine the task rows, the agent’s tools and the reward.expense_audit/data/expected.jsonis where the private answer key goes.seeds/world.jsonis the registry of people and organizations; it starts empty.AUTHORING.mdis local guidance and is never uploaded.
droyd task init ledger-example --example ledger-forensics in a separate folder.
Examples are reference material; do not copy their answers into your task.
3. Replace the scaffold
Write the real task description inREADME.md and the operating instructions in
workspace/INSTRUCTIONS.md. Put the expense claims and the policy document under
workspace/. Fill in the theme statement in droyd_env.json. Every TODO must
go; a placeholder that raises or returns zero reward is not a finished task.
Install the Droyd skill in the task folder so your coding agent can help with the
rest:
4. Author the verifier
The verifier lives in your task package and never ships to the agent. Keep the answer key inexpense_audit/data/expected.json, load it in the reward function,
and compare it with what the agent produced. For repository tasks, put independent
checks in hidden_tests/; they run against a fresh checkout with the agent’s
changes applied, so the agent’s own test output is never the score.
Remove the placeholder exceptions and unconditional failures as you complete each
part. Review the agent-visible files for anything that leaks the answer, such as a
filename or a comment.
5. Validate and save a revision
6. Make a first debug run
Next steps
- Adding World Data adds a repository or simulated services.
- Submitting Tasks explains admission and what acceptance means.
- The CLI command reference lists every namespace; run
droyd task --helpfor the options of your installed version.
In active developmentTask authoring is in active development. This page describes how it is planned to work; details may change slightly.
