Skip to main content
This skill uses a two-phase approach: initialize the task first, then do the real work. The two phases can use different prompts, different sessions, or even different agents — that separation is intentional.

Phase 1: start a new task

1

Install the skill in the repository

Copy the skill into your repo at the appropriate path for your tool. See Installation for exact locations and personal skill paths.
2

Run the Start New Task prompt

Use this prompt to initialize the repo-local task folder, install project-scoped subagents, and update the managed workflow guidance. The agent stops after init completes and does not start building yet.
Use $repo-task-proof-loop to initialize a new repo-local task for the work below. Seed the task from this request, install or refresh the project-scoped subagents, update the managed workflow guidance, and stop after init completes. Do not start build yet.
...
Replace ... with either Task file: <path/to/task-file.md> on the next line, or paste the task text on the following lines.
3

Or run init directly from the CLI

You can also initialize a task directly without a prompt. Set SKILL_PATH first:
SKILL_PATH=.agents/skills/repo-task-proof-loop
Initialize from a task file:
python3 "$SKILL_PATH/scripts/task_loop.py" init \
  --task-id feature-auth-hardening \
  --task-file docs/tasks/auth-hardening.md
Or seed from inline text:
python3 "$SKILL_PATH/scripts/task_loop.py" init \
  --task-id feature-auth-hardening \
  --task-text "Implement auth hardening for session refresh and logout."
The --task-id value may contain only letters, numbers, dots, underscores, and hyphens.
4

Start a new Claude Code session if needed

In Claude Code, if init just created or refreshed .claude/agents/* during a running session, start a new Claude Code session before relying on those agents. Use /agents to confirm the available agent list.
This step only applies to Claude Code. Codex does not require a session restart.

Phase 2: continue an existing task

1

Run the Continue Existing Task prompt

Once a task is initialized, use this prompt to do the real work: spec freeze, build, evidence, verification, and fixing until the verifier returns PASS.
Use $repo-task-proof-loop to continue the task described below in this repository. Reuse the matching repo-local task if it already exists; if not, stop after explaining that init should be run first.
...
Replace ... with the same task text or task file reference used during init.
2

Validate before sign-off

After the loop completes, run validate to confirm all required artifacts are present and well-formed:
python3 "$SKILL_PATH/scripts/task_loop.py" validate \
  --task-id feature-auth-hardening

Check an existing task

If you are unsure whether a task was already initialized or you need to see its current state, use the Check Existing Task prompt:
Use $repo-task-proof-loop to find the existing repo-local task that matches the task described below, inspect its artifacts, and report the matched task ID, current status, and next recommended step.
...
You can also inspect task state directly from the CLI:
python3 "$SKILL_PATH/scripts/task_loop.py" status \
  --task-id feature-auth-hardening

Useful init options

OptionValuesDefaultDescription
--guidesauto, agents, claude, both, noneautoWhich guide files to create or update
--install-subagentsboth, codex, claude, nonebothWhich project-scoped subagent sets to install
--forcefalseOverwrite existing task artifact templates
With --guides auto, the initializer preserves existing guide files and ensures CLAUDE.md exists whenever Claude agents are being installed and AGENTS.md exists whenever Codex agents are being installed.
The shortest path to start building right away on a brand-new task is to run Start New Task once, then immediately run Continue Existing Task with the same task text. init always comes before build.

Build docs developers (and LLMs) love