From skills-by-amrit
Use when you have a spec or requirements for a multi-step task and need to create a detailed implementation plan before touching code.
npx claudepluginhub boparaiamrit/skills-by-amritThis skill uses the workspace's default tool permissions.
Write implementation plans that are **executable prompts**, not documents that become prompts. Every word in the plan is read directly by the executor as its instruction set. There is no translation layer.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Write implementation plans that are executable prompts, not documents that become prompts. Every word in the plan is read directly by the executor as its instruction set. There is no translation layer.
Core principle: Plans are prompts. If a different agent executed this plan verbatim, they would produce identical results without asking a single clarifying question.
1. NO VAGUE STEPS — EVERY TASK HAS <files>, <action>, <verify>, <done>
2. PLANS MUST COMPLETE WITHIN ~50% CONTEXT — if too big, SPLIT
3. 2-3 TASKS PER PLAN MAXIMUM — more plans, smaller scope, consistent quality
Quality degrades as context fills. Plan for this.
| Context Usage | Quality Level | Action |
|---|---|---|
| 0-30% | 🟢 PEAK | Full thoroughness |
| 30-50% | 🟡 GOOD | Still solid |
| 50-70% | 🟠 DEGRADING | Time to split/checkpoint |
| 70%+ | 🔴 POOR | Quality collapse — STOP |
Rules:
Always after:
/discuss captures user preferences (locked decisions)Skip when:
brainstorming first)brainstorming for exploration)YOU CANNOT:
- Write a task without <files>, <action>, <verify>, <done> fields
- Include "..." or "TODO" in code blocks — complete, copy-pasteable code always
- Write a task that takes > 60 minutes — break it down further
- Skip verification commands — every step has "Run: X, Expected: Y"
- Assume the executor knows the project — include exact paths and anti-patterns
- Write pseudocode — write real, compilable/runnable code
- Leave the test step as "write appropriate tests" — write the actual tests
- Plan more than what was designed — scope is defined by the design document
- Create a plan with more than 3 tasks — SPLIT into multiple plans
- Ignore user decisions from discuss-phase — locked decisions are NON-NEGOTIABLE
| Rationalization | Reality |
|---|---|
| "The executor will figure it out" | They won't. That's planning, not execution. |
| "The code is too long for the plan" | Include the complete code. Plans that skip code create gaps. |
| "This step is obvious" | Nothing is obvious without context. |
| "I'll add the test details during execution" | No. The test is part of the plan. |
| "The verification is self-evident" | Include exact command and expected output. |
| "3 tasks is too few for this feature" | Then create multiple plans. Quality > quantity per plan. |
| "All 8 tasks fit naturally in one plan" | Context will degrade. Split into 3 plans. Always split. |
1. Could someone with ZERO project knowledge follow this plan?
2. Does every task have <files>, <action>, <verify>, <done>?
3. Is every code block complete and copy-pasteable? (no "..." or "TODO")
4. Is each task doable in 15-60 minutes?
5. Are there 2-3 tasks per plan maximum?
6. Does every <action> include WHAT TO AVOID and WHY?
7. Does every <verify> have an exact command with expected output?
8. Does every <done> have measurable acceptance criteria?
9. Would a different agent produce identical results from this plan?
10. Can this plan complete in ~50% of a fresh context window?
Every task MUST have these four fields. No exceptions.
<files> — Exact file paths created or modified**Files:**
- Create: `src/auth/jwt-handler.ts`
- Modify: `src/routes/auth.ts` (add login endpoint)
- Create: `tests/auth/jwt-handler.test.ts`
Not "the auth files." Not "relevant files." EXACT PATHS.
<action> — Specific implementation with anti-patterns**Action:**
Create JWT handler using the `jose` library (NOT `jsonwebtoken` — CommonJS
incompatible with Edge runtime). Implement:
- `generateAccessToken(userId)` — 15min expiry, RS256 algorithm
- `generateRefreshToken(userId)` — 7day expiry, stored in httpOnly cookie
- `verifyToken(token)` — Returns decoded payload or throws `TokenExpiredError`
DO NOT:
- Use symmetric algorithms (HS256) — we need key rotation
- Store tokens in localStorage — XSS vulnerability
- Use `any` type for token payload — define `TokenPayload` interface
The <action> tells the executor what to build AND what to avoid. The anti-patterns prevent common mistakes.
<verify> — Exact commands to prove it works**Verify:**
```bash
# Tests pass
npm test -- tests/auth/jwt-handler.test.ts
# Expected: PASS — 5/5 tests passing
# Build passes
npm run build 2>&1 | tail -5
# Expected: Build successful
# Manual verification
curl -X POST http://localhost:3000/api/auth/login \
-d '{"email":"test@test.com","password":"test123"}' \
-H "Content-Type: application/json"
# Expected: 200 with Set-Cookie header containing refresh token
### 4. `<done>` — Measurable acceptance criteria
```markdown
**Done when:**
- [ ] Valid credentials return 200 + JWT access token in body
- [ ] Refresh token set as httpOnly cookie (not in response body)
- [ ] Invalid credentials return 401 with generic error message
- [ ] Expired token verification throws `TokenExpiredError`
- [ ] All 5 tests pass, build green, no lint errors
# Plan: [Feature Name]
**Goal:** [One sentence — what this plan achieves]
**Phase:** [Phase number from ROADMAP.md]
**Requires:** [Plans that must complete before this one, or "None"]
**Provides:** [What this plan gives to dependent plans]
**Context budget:** [2-3 tasks, ~X minutes total]
---
### Task 1: [Component Name]
**Files:**
- Create: `exact/path/to/file.ts`
- Modify: `exact/path/to/existing.ts`
- Create: `tests/exact/path/to/test.ts`
**Action:**
[Specific implementation instructions — what to build, how to build it,
what to avoid and WHY. Include complete code blocks.]
```typescript
// exact/path/to/file.ts
export function functionName(input: InputType): OutputType {
// Complete implementation — no TODOs, no placeholders
return result;
}
Verify:
npm test -- tests/exact/path/to/test.ts
# Expected: PASS — 3/3 tests passing
Done when:
[Same four-field structure]
## Task Sizing Rules
| Duration | Verdict |
|----------|---------|
| < 15 min | Too small — combine with another task |
| 15-60 min | ✅ Perfect size |
| 60-120 min | Borderline — consider splitting |
| > 120 min | Too big — MUST split |
## Plan Sizing Rules
| Tasks | Verdict |
|-------|---------|
| 1 task | Acceptable for simple plans |
| 2-3 tasks | ✅ Ideal plan size |
| 4-5 tasks | Too many — split into 2 plans |
| 6+ tasks | Way too many — split into 3+ plans |
## Handling User Decisions (from /discuss)
If a `CONTEXT.md` exists for this phase, it contains **locked decisions**:
```markdown
## Locked Decisions (NON-NEGOTIABLE)
- Card layout (not table) for dashboard
- Use jose library for JWT (not jsonwebtoken)
- Infinite scroll (not pagination)
These are non-negotiable. The plan MUST implement exactly what the user chose. Don't substitute, don't "improve," don't second-guess.
.planning/plans/[phase]-[N]-PLAN.md
# Example: .planning/plans/01-01-PLAN.md
For phase-based project:
.planning/phases/01-auth/01-01-PLAN.md
Commit the plan before execution begins:
node planning-tools.cjs state add-decision "Created plan [name]" --rationale "Covers [scope]"
git add .planning/plans/
git commit -m "docs: create plan [name]"
After writing the plan:
"Plan complete: [N] tasks, ~[M] minutes estimated.
Ready to execute? Options:
1. Execute now — I'll run the tasks in sequence with verification
2. Review first — Check the plan before executing
3. Split further — If any task feels too large
Run /execute [plan-name] to begin."
Then use executing-plans skill.
... or TODO<action>/discussbrainstorming produces the design, /discuss captures user preferencesexecuting-plans implements the plantest-driven-development governs each taskgit-workflow for commit conventionsplanning-tools.cjs for state management