← AI DevKitCONTENT HISTORY

Update to AI DevKit

Snapshot Sep 30, 2026 · 23:15 UTC · version 0.62.1

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "task",
  "description": "AI DevKit · Track dev-lifecycle / structured-debug progress on a durable task with the ai-devkit task CLI. Use to record phase, progress, next step, blockers, and validation evidence.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 289
    }
  ],
  "skill_md_contents": "---\nname: task\ndescription: AI DevKit · Track dev-lifecycle / structured-debug progress on a durable task with the ai-devkit task CLI. Use to record phase, progress, next step, blockers, and validation evidence.\n---\n\n# Task Progress Tracking\n\nRecord development progress on a durable task: phase, progress, next step,\nblockers, and validation evidence.\n\nRequires the optional task command. Use `npx ai-devkit@latest` for task and\nagent commands. Before recording task events, run a real read probe:\n\n```bash\nnpx ai-devkit@latest task list --json\n# or, when a task name is known:\nnpx ai-devkit@latest task list --name <task-name> --json\n```\n\nOnly treat task tracing as available when the read probe exits 0. If it fails,\ncontinue without task logging and include the failed command plus stderr/stdout\nsummary in the final report. Do not block the user's work just because optional\ntask tracing is unavailable or unusable.\n\n## Core idea\n\n- **One task per work item.** Create it once; advance its `phase` field as work\n  moves through the lifecycle or debug workflow.\n- **`<id>` can be a task name.** Every command below accepts the task name in\n  place of a task id, resolving to the latest non-terminal task. Prefer\n  `<task-name>` so agents do not track task ids.\n- **Choose stable names.** For lifecycle work, use the feature key as the task\n  name. For debugging or review work, choose a short kebab-case task name.\n- **Emit at checkpoints, not streaming.** Phase transitions, task toggles,\n  immediate next-step changes, fresh evidence, blockers discovered/resolved. A\n  handful of calls per session.\n- **Sequence mutations.** Never run task mutation commands in parallel for the\n  same task. Each mutation reads the current task snapshot and writes it back;\n  parallel writes can clobber snapshot fields even though events append. Run\n  create/assign/phase/next/progress/evidence/blocker/artifact/close commands\n  one at a time, then read back with `show --events --json` when the final state\n  matters.\n- **Attribution is explicit.** Identify self once, then pass actor flags on\n  mutation commands.\n\n## Identify self\n\nUse `agent-management` when attribution is needed:\n\n1. Run the `agent-management` self-identification workflow with `npx ai-devkit@latest agent list --json`.\n2. Match the current agent entry from that list. Prefer an exact session match when available; otherwise use the unambiguous entry for the current project/worktree.\n3. Build actor flags from the matched entry:\n   `--agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId>`.\n   Map JSON fields directly: `name` -> `--agent`, `type` -> `--agent-type`,\n   `pid` -> `--pid`, and `sessionId` -> `--session`.\n4. If identity is ambiguous, do not guess. Continue task logging without actor\n   flags rather than fabricating attribution.\n5. Add `--agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId>` to every mutation command once known. If a task already\n   exists, run `npx ai-devkit@latest task assign <task-name> --agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId> --json` once so\n   the task snapshot has current ownership.\n6. If actor identity is unknown, run the same mutation commands without the four\n   actor flags.\n\n## Canonical commands\n\nWhen self identity is known, add all four actor flags to every mutation command:\n`--agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId>`.\n\n```bash\n# Create the task once (capture taskId from --json if needed)\nnpx ai-devkit@latest task create --title \"<title>\" --name <task-name> --phase requirements --agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId> --json\n\n# If the task already exists, assign current ownership once when known\nnpx ai-devkit@latest task assign <task-name> --agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId> --json\n\n# Mark real work as active after create/resume\nnpx ai-devkit@latest task status <task-name> active --agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId> --json\n\n# Advance phase as the lifecycle moves on\nnpx ai-devkit@latest task phase <task-name> implementation --agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId> --json\n\n# Progress (use --text; positional text is ignored)\nnpx ai-devkit@latest task progress <task-name> --text \"Implementing task CLI\" --agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId> --json\n\n# Next step\nnpx ai-devkit@latest task next <task-name> \"Run validation\" --agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId> --json\n\n# Blockers\nnpx ai-devkit@latest task status <task-name> blocked --agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId> --json\nnpx ai-devkit@latest task blocker <task-name> add \"Waiting for review\" --agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId> --json\nnpx ai-devkit@latest task blocker <task-name> resolve <blocker-id> --agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId> --json\nnpx ai-devkit@latest task status <task-name> active --agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId> --json\n\n# Validation evidence - record after a fresh verify/tdd/test run\nnpx ai-devkit@latest task evidence <task-name> --passed --command \"npm test\" --exit-code 0 --summary \"tests passed\" --agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId> --json\n\n# Reference an artifact (never copies the file)\nnpx ai-devkit@latest task artifact <task-name> docs/ai/testing/foo.md --kind test-report --description \"Testing notes\" --agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId> --json\n\n# Read current status / list\nnpx ai-devkit@latest task show <task-name> --json\nnpx ai-devkit@latest task list --name <task-name> --json\n\n# Close at lifecycle end\nnpx ai-devkit@latest task close <task-name> completed --agent <agent-name> --agent-type <agent-type> --pid <pid> --session <sessionId> --json\n```\n\n## When to emit (by workflow)\n\n- **dev-lifecycle** - real read probe first; `create` at start when no\n  non-terminal task exists for the feature; `assign` once when actor is known; set\n  `status active` when real work starts or resumes; `phase` on every phase\n  transition; `next` after phase planning; `progress` after\n  planning/implementation task toggles; `show` at resume; `close completed`\n  only after final verification/review is done.\n- **verify / tdd / dev-testing** - `evidence` after fresh proof (this is what\n  makes \"last validation\" trustworthy). Use `--failed` when it fails.\n- **structured-debug** - reuse the same commands: `evidence` for repro results,\n  `next` for the next hypothesis, `blocker add`/`resolve`, `progress`.\n- **Any phase** - `blocker add` when blocked, `resolve` when clear; `next` to\n  state the immediate next step. Set `status blocked` when an open blocker stops\n  progress, and set `status active` again after the blocker is resolved.\n\n## Tips\n\n- Add `--json` when an agent must parse output (create/show/list). Omit for\n  human-readable checks.\n- Don't restate obvious nearby files or transient state; keep summaries short.\n- Good task records let a later reader answer: who worked on it, which phase it\n  reached, what changed, what is next, what verified the claim, and what blocked\n  or changed scope. Do not log every command; do log those checkpoints.\n"
}

SHA-256: a52d83f739dc6b096188938502c778c032d1581d9b01f27288019bb207e85b65