Help us improve
Share bugs, ideas, or general feedback.
From AFK Coding Pipeline
Use when slice tickets exist and it's time to implement — runs a fresh-context subagent loop per slice with forced TDD (red-green-refactor), then verifies each slice against its ticket with an independent reviewer before moving on.
npx claudepluginhub alexanderop/afk --plugin afkHow this skill is triggered — by the user, by Claude, or both
Slash command
/afk:ralphThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Context windows degrade as they fill. The fix is not a bigger window — it's a
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Guides systematic root-cause debugging when tests fail, builds break, or unexpected errors occur. Provides a structured triage checklist to preserve evidence, localize, and fix issues instead of guessing.
Share bugs, ideas, or general feedback.
Context windows degrade as they fill. The fix is not a bigger window — it's a smaller scope: one fresh agent per slice, reading one self-contained ticket, shipping it, and exiting. You aren't aiming for one perfect run; you're aiming for many cheap runs that converge, with the ticket file as the ratchet.
This skill is the orchestrator. It stays in the main session and dispatches subagents; it does NOT implement anything itself.
Iron Laws:
For each ticket in docs/tickets/, in dependency order:
.afk/config.json for the test/lint/typecheck commands. Record git rev-parse HEAD as the slice-start sha — the reviewer scopes its diff to it.implementer agent. Its dispatch prompt must contain: the FULL ticket text (paste it verbatim), the check commands, the branch name, and any context the ticket doesn't say (decisions from earlier slices, gotchas from .afk/brain/, answers to previous NEEDS_CONTEXT questions). Never make the subagent go find its own context.DONE → proceed to review.NEEDS_CONTEXT → answer its questions (read code/PRD yourself if needed), re-dispatch.BLOCKED → do not push through. Surface to the user if it's a requirements problem; fix the environment if it's an environment problem.spec-reviewer agent with the ticket text, the implementer's report, the slice-start sha, and the check commands. It reads THIS slice's diff ({slice-start}..HEAD, not the whole branch) and verifies every checkbox, every acceptance criterion, and that tests are real (assert behavior, not expect(true)).Parallel slices: only when slices share no files and no dependency edges. Use one git worktree per slice, dispatch implementers concurrently, merge in ticket order. When in doubt, run sequentially — a merge conflict between two agents costs more than the parallelism saves.
The tickets ARE the state. Checked boxes = done. If the session dies, the next
session reads docs/tickets/, sees which boxes are unchecked, and resumes.
Never hold progress only in conversation memory.
| Thought | Reality |
|---|---|
| "I'll implement this slice myself, dispatching is overhead" | Your context is full of orchestration. Fresh context per slice is the entire point. |
| "The implementer says DONE, next slice" | Implementers overreport. The spec reviewer reads the code. Always. |
| "The test won't pass, I'll have the implementer skip it" | A skipped test is a shipped bug with a paper trail. Fix or BLOCKED. |
| "Three slices in parallel will be 3x faster" | Only if they're truly disjoint. Shared files = merge hell. Check first. |
| "Small fix, no need for red-green-refactor this time" | The loop's discipline is what makes AFK safe. No exceptions inside the pipeline. |
.afk/config.json (afk:setup).implementer and spec-reviewer agents (TDD iron laws, attempt caps, and report formats are baked into their definitions — the dispatch prompt only carries the slice-specific context).