task
Skill0 starsChanged 39 days agoMITView on GitHub
Create a bounded, single-purpose task and execute it with TDD. Appends a row to TASKS.md, writes a task file at plans/tasks/task-N-<slug>.md, and runs a write-test → implement → verify loop. Use for small to medium items. Invoke via /task or when the user asks to "just do X", "quick fix", "small change", or names one concrete, bounded ask with no plan behind it.
28 other projects use a version of this.
Adopted by
Most recently taken up by
- nmamano/isomuxtheir own version, first seen Nov 8, 2026
- ToolJet/ToolJettheir own version, first seen Nov 8, 2026
- Beskars-Code/Skillstheir own version, first seen Nov 6, 2026
- Gabriel-Lafrance/Skillstheir own version, first seen Nov 6, 2026
- denolfe/dotfilestheir own version, first seen Nov 2, 2026
- callmeradical/skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use inbox, grill-me and 5 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
kv0906Skillinbox
Quick capture mode (with content) or batch processing mode (no content). GTD-style routing of inbox items to proper folders. Use "/inbox thought to capture" or "/inbox" to process.
Also in 3 projects that use this
GoogleSkillgrill-me
A relentless interview to sharpen a plan or design.
Also in 5 projects that use this
VercelSkillsetup
Set up Vercel CLI and project configuration. Use when the user says "set up Vercel", "configure Vercel", "link to Vercel", or "vercel init".
Also in 4 projects that use this
OpenAISkillaudit
Audit or critique a product flow, journey, workflow, funnel, onboarding path, checkout path, settings path, screen, or multi-step product experience by capturing screenshots first, then reporting UX, design, and accessibility findings inline from that evidence. Use Figma only when the user explicitly asks for a board. Use when the user asks to audit, review, critique, inspect, assess, analyze, evaluate, or give feedback on a product experience.
Also in 3 projects that use this
BlockSkillplan
Draft a TDD, PRD, or lightweight plan in the conversation without committing it.
Also in 3 projects that use this
Google CloudSkilltriage
Gather context on a change or bug and plan the implementation.
Also in 3 projects that use this
Other versions28 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 28
- ToolJet/ToolJet★ 41ksame name
- codeaholicguy/ai-devkit★ 1.7ksame name
- me2resh/apexyard★ 542same name
- Gh61/lovelace-hue-like-light-card★ 392same name
- Achuan-2/siyuan-plugin-task-note-management★ 227same name
- mweinbach/agent-coworker★ 157same name
- denolfe/dotfiles★ 88same name
- lsnackerman/raw-clauding-skills★ 45same name
- nmamano/isomux★ 43same name
- endlessblink/master-plan★ 26same name
18 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- brainstormSkill
- brainstorm-teamSkill
- code-tourSkill
- dead-code-reviewSkill
- docstring-syncSkill
- flowsimSkill
- gotchaSkill
- plan-htmlSkill
- repo-healthSkill
- repo-onboardingSkill
- sdlcSkill
- sdlc-statusSkill
- test-checkSkill
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 4 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 24 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 28
TASKS.md: if missing, create it from templates/TASKS.md.template (or from scratch with sections Active / Pending, Blocked, Done).
- Very specific: line 74
If running under Claude Code, call TaskCreate with the same title.
- Distinctive: line 78
Pure-docs / no-testable-surface asks: if the change has nothing to assert against (docs, comments, config, copy edits), skip steps 1, 2, …
- Distinctive: line 81
Don't manufacture a hollow test, and don't punt the task to another skill.
- Very specific: line 101
Run the wider test suite: if one is configured (/test-check or the project's root test command).
- Distinctive: line 117
Commit only if the user asked for it, or if they have a durable "always commit finished tasks" instruction.
- Distinctive: line 124
Don't inflate small tasks: If the ask is one line of code, the task file can be terse.
- Very specific: line 125
Respect
GOTCHAS.md: Before writing code, check the configured gotchas_file (if it exists) for entries that apply to the area you're …
“Common” is measured: kept by at least 6 in 10 of the 24 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Task — single-task TDD execution
Toolkit paths. Every toolkit script or template path cited here resolves, first hit wins, against: a repo-local copy installed by
setup.sh; else the plugin root (this skill's base directory two levels up,<base>/../..) when it holds that path; else~/.claude/brainstorm-toolkit/(the global shell install).
Boundaries
/task always executes TDD on the current branch. Want the full pipeline (evals + validate +
plan check, changes left for you to commit)? That's /sdlc. Want just the row written and
nothing run? Edit TASKS.md directly.
Flow
1. Prepare the task record
- TASKS.md: if missing, create it from
templates/TASKS.md.template(or from scratch with sectionsActive / Pending,Blocked,Done). - Determine the next task number by reading existing rows (
(P?) <title> — plans/tasks/task-<N>-...) and takingmax(N) + 1. Start at 1 if empty. - Slugify the description (lowercase, hyphen-separated, ≤40 chars).
- Append a row to the
Active / Pendingsection:- [ ] (P2) <one-line title> — plans/tasks/task-<N>-<slug>.md. - Initialize a minimal state record (best-effort): write
.claude/pipeline/task-<N>-<slug>/run.jsonwith{schema_version: 1, feature_slug: "task-<N>-<slug>", pipeline: "task", stage: "implement", status: "in_progress", started_at}(shape perskills/sdlc/templates/state-schema.md). This puts/taskruns in the same state journal as/sdlc. If the write fails (permissions, read-only volume), log a one-line stderr warning and continue — state writes never fail a task.
2. Write the task file
Create plans/tasks/task-<N>-<slug>.md:
---
id: task-<N>
status: pending
priority: P2
files: []
---
# <Title>
## Description
<1–3 sentences restating the ask.>
## Steps
- [ ] <first concrete step>
- [ ] <next step>
## Acceptance criteria
- <observable condition for done>
## Files
<expected paths to create/modify; fill in as you go>
## Notes
<open questions, links, context>3. (Claude only; optional) Mirror to native Tasks
If running under Claude Code, call TaskCreate with the same title. This gives the user a live progress indicator in the UI. Skip silently on other agents.
4. Execute with TDD
Pure-docs / no-testable-surface asks: if the change has nothing to assert against (docs, comments, config, copy edits), skip steps 1, 2, and 5 — make the edit directly at step 4 and note "no testable surface" in the report. Don't manufacture a hollow test, and don't punt the task to another skill.
- Write a failing test encoding the acceptance criterion, using the project's configured
runner (
.claude/project.json→test.unitortest.frontend; the conventional location if none is configured), and confirm it fails for the expected reason. Then runbash scripts/protect-tests.sh arm <test-file> --slug task-<N>-<slug>(best-effort, ignore a nonzero exit) — this is a detector, not a preventer: it records the file's hash soverifyat close-out can prove the test was not quietly rewritten to pass; it cannot stop a rewrite. Always pass--slugwith the sametask-<N>-<slug>this run's own envelope (Section 1 step 5) was written under — unaddressed, a second run open at the same time can get armed/verified instead. For a bug fix, that test must be shown red against the unfixed code (this is TDD's red). If the test was written after the fix, apply the "Red-check a regression guard" procedure inskills/sdlc/templates/fix-loop.mdbefore trusting it. - Mark the TASKS.md row in-progress (
[ ]→[~]) and, on Claude,TaskUpdate status: in_progress. - Implement the change, following existing patterns, until the test passes without
weakening it. Rule: never write plan or task references (plans/ paths, task IDs, brainstorm names) into code — this covers comments, docstrings, string literals and data (e.g.
TASKS.md:N,task-N,plans/<file>.md, phase/step numbers, a plan slug). Write the reason itself: the plan is deleted once delivered and TASKS.md rows move, so it rots. - Run the wider test suite if one is configured (
/test-checkor the project's root test command).
5. Close out
- Update the task file: set
status: completed, mark all step checkboxes[x], fill inFileswith the actual paths touched. - Run
bash scripts/protect-tests.sh verify --slug task-<N>-<slug>(the same slug arm used). A nonzero exit means a protected test's bytes changed since it was armed — investigate before closing out; it does not block by itself. - Mark the TASKS.md row done (
[~]→[x]) and move it to theDonesection. - On Claude:
TaskUpdate status: completed. - Update the state record (best-effort): set
run.json.status = "complete",stage = "done", and record thefilestouched (andcommit_shaif you committed). Same never-fail rule as Section 1. - Report a concise summary: files touched, tests that now pass (or "no testable surface"), anything left open.
Commit only if the user asked for it, or if they have a durable "always commit finished tasks"
instruction. When you do commit, append a blank line and
Co-Authored-By: Claude <noreply@anthropic.com> only if .claude/project.json
coauthor_trailer is true; absent or false means no trailer.
Gotchas
- Don't inflate small tasks. If the ask is one line of code, the task file can be terse. Don't pad acceptance criteria to look thorough.
- Respect
GOTCHAS.md. Before writing code, check the configuredgotchas_file(if it exists) for entries that apply to the area you're touching — scoped to the touched area, not the whole file. - Capture at exit (flywheel). If the run hit a real trap (a test flipped red→green, or something surprised you), run the loop-exit capture protocol in
skills/gotcha/SKILL.md— auto-draft + one-tap confirm; clean runs stay silent. If capture is declined/deferred, append a/gotcha <drafted text>sentinel line — structured + deduped bycmd(multi-slot seam, seedocs/SEAM.md):line='{"cmd":"/gotcha <drafted text>","source":"task","confirm":false}'; grep -qF "$line" .claude/.next-action 2>/dev/null || echo "$line" >> .claude/.next-action(never a bare/gotcha). On Codex (as a fallback until its.codex/hooks.jsonStop hook is wired+trusted) also printNext: /gotcha …inline so the seam degrades gracefully. If no Stop hook is wired at all, apply the no-hook nudge (docs/SEAM.mdSEAM2). - One task at a time.
/taskhandles a single bounded item. If the ask implies a batch of tasks, don't fire/taskrepeatedly — run them through/sdlc <range>(e.g./sdlc 1-5), which keeps full-pipeline discipline across the set and commits nothing until you review. For an open-ended feature, start with/brainstorm.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

