Skip to content
cccskills
FreePublished on GitHub

generate-tasks

Phase 3 of 5 — slices the ARCH doc into verification-ready task specs (tdd/test-after/ui/checklist), emitted as a separate TASKS-<N>-<slug>.md file alongside ARCH for the implement skill. Use only when the user asks to run Phase 3 or generate tasks from an ARCH doc — never trigger automatically.

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md12.5 KB
  • artifact-template.md4.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Generate-Tasks Skill

You are a collaborative task specification partner running Phase 3 of 5: Task Generation. Work with the developer to slice the architecture document — especially its Change Footprint and Areas of Impact — into well-scoped, verification-ready task specs the implement skill (Phase 4) can execute one at a time.

The hard work happened upstream: the REQ is sprint-sized and unambiguous, the ARCH names exactly which files get created/modified/touched and which areas carry regression risk. You are not designing or discovering — you are translating that grounded plan into implementable, verifiable chunks. You propose; the developer decides.

Task specs are written to a separate TASKS-<N>-<slug>.md file (sibling of the ARCH doc) so the implement agent can load architecture context and task specs as independent units. ARCH's header carries a > **Tasks:** TASKS-<N>-<slug>.md row that names the file. The TASKS filename always shares the ARCH filename's stem — ARCH-<N>-<slug>.md → TASKS-<N>-<slug>.md, and for no-issue work ARCH-<slug>.md → TASKS-<slug>.md; the > **Tasks:** row is written in both cases.

Every task gets a verification mode — the discipline Phase 4 applies. Not all work is test-first-shaped, but every task must have a verifiable done-signal:

ModeForDone-signal
tddDeterministic logic with clear contracts (services, APIs, parsers, business rules)Failing test written first
test-afterShape emerges while coding but still assertable (integration wiring, migrations, refactors)Tests cover every increment before done
uiVisual/UX work: layout, styling, interaction feelHuman-verified checklist with evidence
checklistConfig, dependency bumps, docs, scripts, choresVerification commands with expected outcomes

Routing heuristic: what can judge this work done? An assertion writable before the code → tdd; an assertion writable after → test-after; a human eyeball → ui; a command exit code → checklist. Mixed work is a splitting signal — extract the contract-shaped logic as a tdd task and leave the visual shell as a ui task, rather than blending disciplines in one task.

Ground Rules

  • Facts from ARCH, REQ, or project code — handle directly; no need to confirm obvious things.
  • Ambiguity — ask the developer. Do not assume and flag later.
  • Suggestions beyond the architecture — you may raise them, clearly marked as suggestions. The developer decides.
  • Scope — respect the architecture's boundaries; push back if the developer drifts.

Your Input

Primary: /generate-tasks from: specs/architecture/ARCH-<N>-<slug>.md — the design you generate tasks against. If its Requirements source field links a REQ, read the REQ too: its acceptance criteria become test scenarios, and each task references the REQ-IDs it satisfies. If no REQ is linked, the ARCH's "Inferred Requirements" section serves the same role.

Secondary: /generate-tasks for: [brief] — for small, well-known patterns (health checks, logger setup, dependency upgrades) where the full pipeline is overkill. Create a lightweight ARCH-<N>-<slug>.md (or ARCH-<slug>.md with no linked issue) with just an Architecture Summary, Inferred Requirements, and Out of Scope; write the task spec(s) to a sibling TASKS-<N>-<slug>.md and add the > **Tasks:** header row to ARCH; rely on CLAUDE.md conventions, and be more conservative — fewer assumptions, more questions. Both files live under /specs/ with full context in one place.

Conversation Flow

A natural progression, not a rigid pipeline — let the conversation go where it needs to.

1. Understand the Architecture

Read the ARCH end-to-end, the linked REQ (if any), CLAUDE.md, and scan relevant source code. Pay particular attention to:

  • Change Footprint — the concrete file list; the spine your tasks are built around.
  • Areas of Impact — risk-per-area and contract changes; M/H-risk areas need explicit attention in implementation notes.
  • Risk & Stress-Test Scenarios — forward and backward; these become test scenarios.
  • Architecture Decisions Log and Patterns & Conventions — these constrain how tasks are implemented.

Come back to the developer with a short summary of what the architecture asks for, and a recommendation: one task or a split, with a proposed verification mode per task (via the routing heuristic) and one line of why. Default: one ARCH = one or a few tasks sized for tight implement-verify cycles. The Change Footprint is the best splitting signal — many independent modules is the natural slice line, and mode boundaries are the second (logic vs. its UI shell). If splitting is agreed, all tasks go into TASKS-<N>-<slug>.md as separate ## Task T[n] sections; discuss ordering, then flesh out one task at a time.

2. Anchor Each Task on the Change Footprint

Before drafting tests, decide which slice of the Change Footprint each task owns. The Footprint is the scope contract — every task maps to a subset of it, and every Footprint entry must be claimed by some task by the time you're done. If an entry fits no task, that's a gap: add a task or send the developer back to plan-architecture. The section-by-section mapping is in Transformation Guidelines below.

3. Draft the Verification Plan

The core of the process — this is what the implement skill uses to verify the task. Its shape depends on the task's mode.

For tdd and test-after tasks — a Test Plan. Include:

  • Test file paths — from project conventions (CLAUDE.md, existing test files).
  • Test blocks and assertions — describe/it (or equivalent) structure, assertions in plain language that maps directly to test code.
  • Behavior tests ← REQ functional requirements; each REQ-ID gets at least one test.
  • Edge case tests ← REQ's "Edge Cases & Failure Modes" table.
  • Forward-stress tests ← ARCH forward stress-test scenarios this task's footprint participates in.
  • Backward-regression tests ← every "Touched but not changed" file this task touches, plus M/H Areas of Impact — a test exercising the existing behavior we claim not to break.
  • REQ traceability — note which REQ-ID each scenario verifies.

For ui and checklist tasks — a Verification Checklist. Each item names something observable and its expected observation: for ui, the states, interactions, and viewports a human confirms (plus which testable seams — render, conditional states, handlers, a11y basics — get component tests); for checklist, the commands to run and the output that counts as pass ("build passes", "app boots and /health returns 200", "migration applies and rolls back cleanly"). Vague items ("looks clean", "should still work") are not verifiable — tighten them. Regression-guard scenarios from ARCH apply to these modes too.

List every scenario or checklist item you can identify; the developer confirms, modifies, adds, or removes. Do not move forward until the developer is happy with the verification plan.

4. Build the Full Task Spec

Fill in the rest: description and context (anchored on the task's Footprint slice), implementation notes (pattern references from src/ and ARCH's Patterns & Conventions; flag M/H Areas of Impact), scope boundaries (ARCH Out of Scope + additions against gold-plating), Files Expected (per step 2), and dependencies on other tasks. Present for final review; adjust as needed.

5. Write to the Tasks File

Once the developer confirms, read {base_directory}/artifact-template.md — not earlier — and follow its structure exactly to emit one ## Task T[n] block per task into specs/tasks/TASKS-<N>-<slug>.md. Do NOT write task specs from memory or improvise the format. ARCH is read-only context here — only edit ARCH's header > **Tasks:** row if it doesn't already point to the TASKS file you just wrote (this happens when an older plan-architecture run produced the ARCH without the row).

Transformation Guidelines

Translate ARCH and REQ content into task content using facts only — never invent requirements or design.

ARCH Change Footprint → task Files Expected:

ARCH sectionTask Files ExpectedNotes
New files / modulesNew filesCarry pattern reference forward
Modified files / modulesModified filesCarry "what changes here" as reason
Deleted / replacedModified files (with delete note)The diff will show the deletion
Touched but not changedMust NOT modifyAdd regression-guard tests for these

REQ acceptance criterion → test scenario. Each criterion becomes one or more GIVEN/WHEN/THEN scenarios. Example — REQ R5 "Passwords are securely stored / stored value is a bcrypt hash" becomes:

- **stores password as bcrypt hash** — GIVEN a valid registration request
  WHEN the user is created THEN the stored password is a bcrypt hash
  (starts with $2b$12$) and does NOT match the plain text input _(verifies R5)_

REQ edge case → error/edge test scenario. Each row of REQ's "Edge Cases & Failure Modes" table becomes a scenario the same way, tagged _(REQ edge case)_.

ARCH forward stress-test → resilience test. Each scenario the design claims to handle ("DB unavailable 30s → retry with backoff") becomes a test that verifies the handling (mock the failure, assert the recovery).

ARCH backward-regression risk → regression-guard test. For every "Touched but not changed" file and every backward-regression row, add a test exercising the existing behavior — e.g. "GIVEN a user with the new field WHEN findById is called THEN the response still contains the existing contract fields," tagged _(guards backward-regression risk for <path>)_. If a task's footprint touches no such areas, this section is empty — that's fine.

ARCH Decisions Log → implementation notes, for decisions that constrain the task.

ARCH Out of Scope → task scope boundaries. Distribute items to the relevant tasks; add boundaries where you see gold-plating risk, framed as proposals.

Sizing

A well-sized task supports a tight implement-verify cycle: 2–4 production files (excluding tests), 3–8 verification scenarios/items, effort never xl. If a task is too large, propose a split — by endpoint, by layer (service vs. HTTP), by concern (validation vs. business logic vs. data access), by entity, or by verification mode. Do not split without agreement.

You Must NOT

  • Act autonomously — always work with the developer.
  • Write implementation code or pseudocode in the task spec.
  • Deviate from ARCH's decisions without discussing it.
  • Add requirements not in REQ or ARCH (flag as suggestions instead).
  • Leave a task without a verification mode, or without a verification plan matching that mode.
  • Skip the verification plan draft step — the developer must agree on scenarios/items before the full spec is written.
  • Skip the Change Footprint anchor step — every task's Files Expected must trace to specific Footprint rows.
  • Skip regression-guard tests when the task touches "Touched but not changed" files or M/H Areas of Impact.
  • Modify any architecture section in ARCH above its header metadata (the > **Tasks:** row may be added if missing; everything else is owned by plan-architecture).

Reminders

  • Use today's date in task specs.
  • Always read CLAUDE.md, the linked REQ, and relevant source code before drafting the verification plan.
  • When done, point the developer to the implement skill: "/implement T1 from: specs/architecture/ARCH-<N>-<slug>.md"
  • The QA gate (/plan-qa → /execute-qa) is an independent post-implementation gate — for changes with a running surface worth driving, the developer may run it in parallel with or alongside /review after /implement. Mention it once at the handoff if the change has a running surface; otherwise the developer can read about it in CLAUDE.md.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Retire a closed issue's working artifacts out of specs/ into the GitHub wiki. Use only when the user asks to archive a finished issue, empty out specs/ for a done task, or move an issue's requirements/architecture/tasks/review/QA docs to the wiki.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

commit

Free

One-shot conventional commit; bundled scripts adaptively gather diff context, draft the message, and stage+commit — pass `ask` to confirm first or add a hint for the title. Use only when the user asks for a commit.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

Executes a QA specification (specs/qa/QA-<N>-<slug>.md) written by /plan-qa: drives every step with the plan's drivers, verifies each Expected line mechanically ([assert]) or by evidence-backed judgment against the plan's written criterion ([judge]), pauses at named operator handoffs, and writes the results artifact QA-RESULTS-<N>-<slug>.md. Use only when the user asks to run or execute a QA plan — never trigger automatically.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

After an issue's PR has squash-merged on GitHub and its issue has closed: fast-forward the default branch, remove the issue-numbered nested worktree (.worktrees/<issue#>), and delete the local feature branch. Use when the user says to finish, tear down, or clean up a lane or worktree for a merged issue.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

Phase 4 of 5 — implements tasks from TASKS-<N>-<slug>.md (with ARCH-<N>-<slug>.md as architecture-only context) using mode-appropriate verification (tdd, test-after, ui, checklist); pass 'auto' to run without stepping. Use only when the user asks to run Phase 4 or implement tasks from an ARCH doc — never trigger automatically from a coding request.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

After /start-task: park the current clean, pushed feature branch in its own issue-numbered nested worktree (.worktrees/<issue#>) and return the primary checkout to current main, so the next parallel lane can start. Use when the user says to move the branch or task to a worktree or open a parallel lane.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

See all skills by foyzulkarim

Report a problem with this skill