From amplify
Executes tasks from PLAN.md sequentially with human oversight, handling task splitting, clarifying questions, tests, and learning persistence. Useful for deliberate progress on planned work.
npx claudepluginhub wunki/amplify --plugin ask-questions-if-underspecifiedThis skill uses the workspace's default tool permissions.
Work through a PLAN.md **one task at a time**, with human oversight. Unlike automated loops, this skill encourages questions, explanations, and deliberate progress.
Sets up persistent 3-file markdown workflow (task_plan.md, findings.md, progress.md) for planning phases, tracking progress, and logging findings across AI coding sessions.
Executes implementation plans from plan.md files via Superpower Loop phases: task creation, batch execution with verification, git commits. Use after plan ready or on 'execute the plan'.
Share bugs, ideas, or general feedback.
Work through a PLAN.md one task at a time, with human oversight. Unlike automated loops, this skill encourages questions, explanations, and deliberate progress.
Prerequisites: If a project-level AGENTS.md exists at the repository root, read it before starting and follow its conventions throughout this workflow.
ask-questions-if-underspecified patternsRead PLAN.md at the repository root and locate the first unchecked [ ] item that is not prefixed with BLOCKED:.
Tracking: If a TodoWrite tool is available in the current environment, create TodoItems from the Task Checklist (at the end of this skill) so progress is visible to the user. Detect availability by checking whether the tool appears in the active tool list. Skip this step if the tool is not available.
If no PLAN.md exists at the repository root:
PLAN.md and proceed.create-plan skill). If a SPEC.md exists, offer to generate a plan from it.If the first unchecked task is BLOCKED:: Report the blocker to the user, state what is needed to unblock it, and stop. Do not skip to a later task without explicit user instruction.
If all remaining unchecked tasks are BLOCKED:: Report each blocker with its unblock condition, then stop. Do not attempt to work around blockers.
Before writing any code:
If the task is too large: Split it in PLAN.md before writing any code. Break it into atomic steps, then work only on the first one. A task is too large if it touches multiple unrelated areas or would take more than one focused session.
If anything is unclear, ask questions first. Use the ask-questions-if-underspecified patterns:
Before I start on: "Add JWT authentication to /api/login"
1) Token storage?
a) HTTP-only cookie (recommended for web)
b) localStorage
c) Let me decide based on existing auth patterns
2) Expiration?
a) 15min access + 7d refresh (default)
b) Different duration: <specify>
Reply with: 1a 2a (or describe)
Do not proceed until questions are answered or user says to use defaults.
Complete the work. Stay focused on just this one task. After each substantive change, simplify and clean up touched areas when appropriate.
Testing is not optional. Every task that changes behavior must include tests:
Use the write-test skill for guidance on what to test if it is available. Focus on user-facing behavior, not implementation details. If existing tests break, fix them as part of the task.
Before marking complete, verify the code passes all checks.
Check package.json, Makefile, .github/workflows/, or project docs to identify the actual commands. Common patterns:
bun run format, npm run format, mix formatbun run lint, npm run lint, mix credobun run test:all, npm test, mix testAll applicable checks must pass. If any fail, fix the issues before proceeding.
If none of these files exist: Ask the user how to run checks before proceeding. Do not invent commands.
If the project has no test infrastructure: Note this explicitly in the task summary and skip the test step. Do not invent test commands.
Before marking complete, ask yourself:
Persist learnings now (before context is lost):
DATABASE_URL set"): Update AGENTS.md at the repository root. If AGENTS.md does not exist, create it with a ## Project-Specific section containing the new entry.docs/ directory, update relevant documentation.After completing the task, update PLAN.md with a completion summary.
Read references/summary-examples.md when writing a task summary. Skip if the format is already clear from earlier tasks in the session.
Summary guidelines:
>After marking the task complete:
Let the user decide when to continue. They may want to review, test, or commit first.
The plan is a living document. Update it when reality diverges:
Splitting a task (during research, before any code):
## Action items
<!-- "Set up database schema" was too large, split into: -->
- [ ] Define user table with email/password fields
- [ ] Define session table for refresh tokens
- [ ] Run migration and verify
Adding discovered work:
- [x] Add rate limiting to auth endpoints
> Implemented using express-rate-limit. 5 attempts per 15min.
> NOTE: Discovered Redis is not configured. Added task below.
> ...
- [ ] Configure Redis for distributed rate limiting (added: discovered during rate limiting work)
Blocking issues:
- [ ] BLOCKED: Deploy to staging - waiting on DevOps to provision new env
Format entries as actionable guidance under a ## Project-Specific section:
## Project-Specific
- **Auth**: All auth logic lives in `src/auth/`. Use `requireAuth` middleware, not manual token checks.
- **Testing**: Run `pnpm test:unit` for fast feedback, `pnpm test:e2e` before PR.
If the project has a docs/ directory and you built a user-facing feature:
When all tasks are checked:
SPEC.md exists at the repository root:
specs/ directory if it doesn't existSPEC.md to specs/YYYY-MM-DD-<descriptive-title>.md using today's dateSPEC.md does not existPLAN.md (do not archive plans)# Example: Spec was about adding authentication, today is 2026-02-27
mkdir -p specs
mv SPEC.md specs/2026-02-27-add-user-authentication.md
rm PLAN.md
/smart-commitFor every task, complete ALL steps: