Skip to main content
The status subcommand gives a quick read-out of where a task currently stands: which required files are present, what the overall statuses in evidence.json and verdict.json are, and which criteria are not yet passing. Unlike validate, status always exits with code 0. Use validate when you need a strict pass/fail check; use status when you want a human- or agent-readable summary during work.

Usage

python3 "$SKILL_PATH/scripts/task_loop.py" status --task-id <TASK_ID> [options]

Flags

--task-id
string
required
Task identifier to summarize.
--repo-root
string
Optional working directory inside the repo. Defaults to the current directory. The script walks up from this path to discover the git repository root.

JSON output

status prints a JSON object to stdout. All fields are always present.
FieldTypeDescription
repo_rootstringAbsolute path to the discovered repository root.
task_idstringThe requested task identifier.
task_dirstringAbsolute path to .agent/tasks/<TASK_ID>/.
existsbooleanWhether .agent/tasks/<TASK_ID>/ exists.
required_files_presentobjectMap of each required file path (relative to task_dir) to a boolean indicating whether it exists.
evidence_overall_statusstring or nullValue of overall_status from evidence.json, or "PARSE_ERROR: <message>" if the file cannot be parsed, or null if the file does not exist.
verdict_overall_statusstring or nullValue of overall_verdict from verdict.json, or "PARSE_ERROR: <message>" if the file cannot be parsed, or null if the file does not exist.
non_pass_criteriaarrayList of criteria from verdict.json whose status is FAIL or UNKNOWN. Each entry has id, status, and reason. Empty when all criteria pass or when verdict.json is absent or unparseable.

Example

python3 "$SKILL_PATH/scripts/task_loop.py" status \
  --task-id feature-auth-hardening
Example output with non-passing criteria:
{
  "repo_root": "/path/to/repo",
  "task_id": "feature-auth-hardening",
  "task_dir": "/path/to/repo/.agent/tasks/feature-auth-hardening",
  "exists": true,
  "required_files_present": {
    "spec.md": true,
    "evidence.md": true,
    "evidence.json": true,
    "verdict.json": true,
    "problems.md": true,
    "raw/build.txt": true,
    "raw/test-unit.txt": true,
    "raw/test-integration.txt": false,
    "raw/lint.txt": true,
    "raw/screenshot-1.png": true
  },
  "evidence_overall_status": "FAIL",
  "verdict_overall_status": "FAIL",
  "non_pass_criteria": [
    {
      "id": "AC2",
      "status": "FAIL",
      "reason": "Integration test suite exits non-zero; raw/test-integration.txt was not captured."
    },
    {
      "id": "AC3",
      "status": "UNKNOWN",
      "reason": "Screenshot not present; visual acceptance criterion cannot be confirmed."
    }
  ]
}
Use status after each workflow phase to confirm the artifact state before spawning the next subagent. Use validate when you need a strict conformance check before sign-off.

Build docs developers (and LLMs) love