Work a task end-to-end with lean context gathering, implementation, and verification
Handle $ARGUMENTS. Be thorough, not ceremonial. Start from the source of truth, load extra skills only when they earn their keep, and verify before calling the task done.
<task>#$ARGUMENTS</task>
gh issue view first.gh pr view first.#555: resolve it against the current gh repo first, then fetch it with gh issue view.video-transcripts before implementation.
```xml
<video-transcripts>
<video-transcript
source-key="https://tracker-hosted-video/<stable-path-without-query>"
>
[00:00] (...)
</video-transcript>
</video-transcripts>
```
source-key must be the normalized stable identifier for the media. For signed tracker-hosted URLs like uploads.linear.app, strip the query string so rotating signatures do not bust the cache.title to cached <video-transcript> entries unless a later workflow truly needs it.<video-transcript ... source-key="..."> entries cover every current video URL for that container after the same normalization.uploads.linear.app or private GitHub asset URLs, use the helper directly before declaring the video blocked. It can reuse local tracker auth when available.<video-transcripts>
<video-transcript source-key="...">
[00:00] (...)
</video-transcript>
</video-transcripts>
<video-transcript ...> block under one <video-transcripts> wrapper.major-task immediatelymajor-task as the source of truth for workflow and helper selectionplanning-with-files before implementationpackages/, record in the plan whether a changeset will be required before completionapps/www/src/registry/, record in the plan whether docs/components/changelog.mdx must be updated instead of creating a package changesettesting first and use that testing policy as the source of truthtdd#555 against the current repo with gh repo view --json nameWithOwner -q '.nameWithOwner'.gh issue view <number-or-url> --comments --json number,title,body,comments,labels,state,url
gh pr view ... --json.main branch just because you are already on itmain, pull the latest main, then create a fresh repo-convention branch before editingcodex/555-short-slugcodex/LIN-123-short-slugcodex/<slug>Apply this section only when the task source is a tracker item.
gh for fetch and sync-back.<issue-number> <issue-title>.planning-with-files
Use for any non-trivial task that needs persistent working memory, phased execution, or likely more than a handful of tool calls.
Follow repo-specific overrides for where planning artifacts should live.major-task
Use for architecture or public API redesign, benchmarking or scalability work, framework comparison or migration analysis, major cross-package refactors, or RFC and proposal work.
When it triggers during intake, it becomes the source of truth instead of this file.testing
Use when the task is primarily about tests, coverage, regression gaps, or phase-based suite work.
Load it before tdd for testing programs.tdd
Use for bugs and for feature work where behavior-level automated coverage is sane.
For testing programs, load it only after choosing a concrete slice that should be done test-first.
Skip for trivial docs, mechanical refactors, or painful UI-only plumbing.learnings-researcher
Use for non-trivial work in a domain with documented solutions or when the task smells like a repeated issue.
Do not load it for tiny isolated edits.debug
Use when the failure mode is still fuzzy after the first repro pass or first failing test.video-transcripts
Use when a tracker issue, PR, comment thread, or attachment set includes any video or screen recording that should become structured transcript evidence before implementation.ce:brainstorm
Use when requirements are still ambiguous after reading the source of truth and nearby code.framework-docs-researcher
Use when touching unfamiliar, version-sensitive, or unstable third-party APIs after checking local clones and docs per AGENTS.dev-browser
Use only when there is a real browser surface to verify.
Require real browser proof only for browser or UI tasks.agent-browser-issue
Use when browser automation is blocked by a likely reusable tool-side issue that should be split into its own GitHub follow-up.changeset
Use when verified work changes a published package under packages/ and the repo expects release notes before completion.
Do not create a package changeset for registry-only work under apps/www/src/registry/; update docs/components/changelog.mdx instead.git-commit-push-pr
Use when verified work changed code and should ship as a PR.
Create or update the PR before any tracker comment.
The PR description should be the exact current final handoff, not a rewritten summary.
If the task changes again in a later iteration, update the PR description to match the latest handoff.ce-compound
Use only after verified, non-trivial work that produced reusable knowledge.
Never load it at the start.ce-review, correctness-reviewer, maintainability-reviewer, project-standards-reviewer, code-simplicity-reviewer
Use only for risky, large, user-facing, or architecture-sensitive changes.agent-native-reviewer
Use only when the change touches .agents/**, .claude/**, AI/tooling surfaces, commands, or user actions that an agent should also be able to perform.Keep verification mandatory but proportional.
pnpm test, bun test, or pnpm check shows local-corruption signals unrelated to the current diff, run pnpm run reinstall once and rerun the exact failing command before declaring the task blocked. Treat these as local-corruption signals:
Invalid hook callresolveDispatcher() / null dispatcher crashesnode_modules/react or node_modules/react-dom paths under packages/*.bun and .pnpm React paths in the same failing stackpackages/, ensure the required changeset exists before PR or final handoff.apps/www/src/registry/, update docs/components/changelog.mdx instead of creating a package changeset.Every final response must include:
🔀 PR ...🐛 Fixes ... for bug issues, otherwise use a generic issue line🟢 95-100% confidence| Phase | 🧪 Tests | 🌐 Browser || --- | --- | --- |ReproducedVerifiedPR and Issue when they exist✅❌➖ N/A⚠️ Partial, for example ⚠️ Could not automate dropdown🧪 Tests column:
🔴 in Reproduced when there was a real failing test first🟢 in Verified when that test passed after the fix✅ when test evidence exists but did not follow a real red-green loop➖ N/A for rows or cells that do not apply; do not invent a PR, issue, or commentConfidence must stay 100% or lower and use this line format:
🟢 95-100% confidence🟡 80-94% confidence🔴 below 80% confidence**🌐 Browser Check**, only when browser verification applies**✅ Outcome****⚠️ Caveat****🏗️ Design****🧪 Verified****🌐 Browser Check** must include the exact human steps to verify the fix in the browser**🏗️ Design** is mandatory for any non-trivial code-changing task and must include:
Chosen seam: ...Why not quick patch: ...Why not broader change: ... only if a broader API or abstraction change was a real optiondev-browser or the real browser workflow used for verification.**🌐 Browser Check** is present, put the screenshot immediately after that section.dev-browser is blocked on a likely reusable tool-side issue and the product task is still otherwise fixable, load agent-browser-issue.**🌐 Browser Check** must be a flat bullet list:
**🌐 Browser Check** when there is no browser surface.Apply this section only when the task came from a tracker item and reached a meaningful outcome.
🔀 PR ... line because the PR page already identifies itself**✅ Outcome**, **🏗️ Design**, **🧪 Verified**, **⚠️ Caveat**, and **🌐 Browser Check** sections when applicabledev-browser --connect http://127.0.0.1:9222 to upload the image through the PR comment file input as a staging area, then replace the local proof path in the PR body with the hosted GitHub attachment URL.gh issue comment <number-or-url> --body-file -
✅ Fixed in #<pr-number>.#123, not the full URL.Example:
✅ Fixed in #123.
- Open the affected page.
- Follow the real user flow that triggered the bug.
- Confirm the fixed behavior in the browser.
- Manual QA is still useful if browser verification was partial.
<video-transcripts> evidence before implementation when tracker evidence required it.#555 were resolved against the current gh repo instead of guessed.main and pulled latest before branching.planning-with-files or the repo-equivalent planning workflow before implementation.docs/components/changelog.mdx for registry-only work.