SuperAPI AI Directory

plan-hard

Coding & development

View repository

Updated 10-15 21:35

About this skill

[IMPORTANT] Use TaskCreate to break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI MUST ATTENTION ask user whether to skip.

Critical Thinking Mindset — Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence >80% to act. Anti-hallucination: Never present guess as fact — cite sources for every claim, admit uncertainty freely, self-check output for errors, cross-reference independently, stay skeptical of own confidence — certainty without evidence root of all hallucination.

AI Mistake Prevention — Failure modes to avoid on every task:

  • Check downstream references before deleting. Deleting components causes documentation and code staleness cascades. Map all referencing files before removal.
  • Verify AI-generated content against actual code. AI hallucinates APIs, class names, and method signatures. Always grep to confirm existence before documenting or referencing.
  • Trace full dependency chain after edits. Changing a definition misses downstream variables and consumers derived from it. Always trace the full chain.
  • Trace ALL code paths when verifying correctness. Confirming code exists is not confirming it executes. Always trace early exits, error branches, and conditional skips — not just happy path.
  • When debugging, ask "whose responsibility?" before fixing. Trace whether bug is in caller (wrong data) or callee (wrong handling). Fix at responsible layer — never patch symptom site.
  • Assume existing values are intentional — ask WHY before changing. Before changing any constant, limit, flag, or pattern: read comments, check git blame, examine surrounding code.
  • Verify ALL affected outputs, not just the first. Changes touching multiple stacks require verifying EVERY output. One green check is not all green checks.
  • Holistic-first debugging — resist nearest-attention trap. When investigating any failure, list EVERY precondition first (config, env vars, DB names, endpoints, DI registrations, data preconditions), then verify each against evidence before forming any code-layer hypothesis.
  • Surgical changes — apply the diff test. Bug fix: every changed line must trace directly to the bug. Don't restyle or improve adjacent code. Enhancement task: implement improvements AND announce them explicitly.
  • Surface ambiguity before coding — don't pick silently. If request has multiple interpretations, present each with effort estimate and ask. Never assume all-records, file-based, or more complex path.

Understand Code First — HARD-GATE: Do NOT write, plan, or fix until you READ existing code.

  1. Search 3+ similar patterns (grep/glob) — cite file:line evidence
  2. Read existing files in target area — understand structure, base classes, conventions
  3. Run python .claude/scripts/code_graph trace <file> --direction both --json when .code-graph/graph.db exists
  4. Map dependencies via connections or callers_of — know what depends on your target
  5. Write investigation to .ai/workspace/analysis/ for non-trivial tasks (3+ files)
  6. Re-read analysis file before implementing — never work from memory alone
  7. NEVER invent new patterns when existing ones work — match exactly or document deviation

BLOCKED until: - [ ] Read target files - [ ] Grep 3+ patterns - [ ] Graph trace (if graph.db exists) - [ ] Assumptions verified with evidence

Cross-Service Check — Microservices/event-driven: MANDATORY before concluding investigation, plan, spec, or feature doc. Missing downstream consumer = silent regression.

Boundary Grep terms
Event producers Publish, Dispatch, Send, emit, EventBus, outbox, IntegrationEvent
Event consumers Consumer, EventHandler, Subscribe, @EventListener, inbox
Sagas/orchestration Saga, ProcessManager, Choreography, Workflow, Orchestrator
Sync service calls HTTP/gRPC calls to/from other services
Shared contracts OpenAPI spec, proto, shared DTO — flag breaking changes
Data ownership Other service reads/writes same table/collection → Shared-DB anti-pattern

Per touchpoint: owner service · message name · consumers · risk (NONE / ADDITIVE / BREAKING).

BLOCKED until: Producers scanned · Consumers scanned · Sagas checked · Contracts reviewed · Breaking-change risk flagged

Estimation Framework — Story Points (Modified Fibonacci) + Man-Days for 3-5yr dev (6 productive hrs/day, .NET + Angular stack). AI estimate assumes Claude Code with good project context (code graph, patterns, hooks active).

SP Complexity Description Traditional (code + test) AI-Assisted (code+rev + test+rev)
1 Low Trivial: single field, config flag, CSS fix 0.5d (0.3d+0.2d) 0.25d (0.15d+0.1d)
2 Low Small: simple CRUD endpoint OR basic component 1d (0.6d+0.4d) 0.35d (0.2d+0.15d)
3 Medium Medium: form + API + validation 2d (1.3d+0.7d) 0.65d (0.4d+0.25d)
5 Medium Large: multi-layer feature (BE + FE) 4d (2.5d+1.5d) 1.0d (0.6d+0.4d)
8 High Very large: complex feature + migration 6d (4d+2d) 1.5d (1.0d+0.5d)
13 Critical Epic: cross-service — SHOULD split 10d (6.5d+3.5d) 2.0d (1.3d+0.7d)
21 Critical MUST split — not sprint-ready >15d ~3d

AI speedup grows with task size: SP 1 ≈ 2x · SP 2-3 ≈ 3x · SP 5-8 ≈ 4x · SP 13+ ≈ 5x. Pattern-heavy CQRS/Angular boilerplate eliminated in hours at any scale. Fixed overhead: human review. AI column breakdown: (code_gen × 1.3) + (test_gen × 1.3) — each artifact adds 30% human review overhead. Test writing with AI = few hours generation + 30% review, same model as coding. Output story_points, complexity, man_days_traditional, man_days_ai in plan/PBI frontmatter.

  • docs/project-reference/domain-entities-reference.md — Domain entity catalog, relationships, cross-service sync (read when task involves business entities/models) (content auto-injected by hook — check for [Injected: ...] header before reading)
  • docs/specs/ — Test specifications by module (read existing TCs to include test strategy in plan)

Plan Quality — Every plan phase MUST ATTENTION include test specifications.

  1. Add ## Test Specifications section with TC-{FEAT}-{NNN} IDs to every phase file
  2. Map every functional requirement to ≥1 TC (or explicit TBD with rationale)
  3. TC IDs follow TC-{FEATURE}-{NNN} format — reference by ID, never embed full content
  4. Before any new workflow step: call TaskList and re-read the phase file
  5. On context compaction: call TaskList FIRST — never create duplicate tasks
  6. Verify TC satisfaction per phase before marking complete (evidence must be file:line, not TBD)

Mode: TDD-first → reference existing TCs with Evidence: TBD. Implement-first → use TBD → /tdd-spec fills after.

Iterative Phase Quality — Score complexity BEFORE planning.

Complexity signals: >5 files +2, cross-service +3, new pattern +2, DB migration +2 Score >=6 → MUST ATTENTION decompose into phases. Each phase:

  • ≤5 files modified
  • ≤3h effort
  • Follows cycle: plan → implement → review → fix → verify
  • Do NOT start Phase N+1 until Phase N passes VERIFY

Phase success = all TCs pass + code-reviewer agent approves + no CRITICAL findings.

Fix-Layer Accountability — NEVER fix at the crash site. Trace the full flow, fix at the owning layer.

AI default behavior: see error at Place A → fix Place A. This is WRONG. The crash site is a SYMPTOM, not the cause.

MANDATORY before ANY fix:

  1. Trace full data flow — Map the complete path from data origin to crash site across ALL layers (storage → backend → API → frontend → UI). Identify where the bad state ENTERS, not where it CRASHES.
  2. Identify the invariant owner — Which layer's contract guarantees this value is valid? That layer is responsible. Fix at the LOWEST layer that owns the invariant — not the highest layer that consumes it.
  3. One fix, maximum protection — Ask: "If I fix here, does it protect ALL downstream consumers with ONE change?" If fix requires touching 3+ files with defensive checks, you are at the wrong layer — go lower.
  4. Verify no bypass paths — Confirm all data flows through the fix point. Check for: direct construction skipping factories, clone/spread without re-validation, raw data not wrapped in domain models, mutations outside the model layer.

BLOCKED until: - [ ] Full data flow traced (origin → crash) - [ ] Invariant owner identified with file:line evidence - [ ] All access sites audited (grep count) - [ ] Fix layer justified (lowest layer that protects most consumers)

Anti-patterns (REJECT these):

  • "Fix it where it crashes" — Crash site ≠ cause site. Trace upstream.
  • "Add defensive checks at every consumer" — Scattered defense = wrong layer. One authoritative fix > many scattered guards.
  • "Both fix is safer" — Pick ONE authoritative layer. Redundant checks across layers send mixed signals about who owns the invariant.

Each phase file MUST ATTENTION satisfy: <=5 files per phase, <=3h effort, clear success criteria, mapped test cases.

Evidence Gate: MANDATORY IMPORTANT MUST ATTENTION — every claim, finding, and recommendation requires file:line proof or traced evidence with confidence percentage (>80% to act, <80% must verify first).

External Memory: For complex or lengthy work (research, analysis, scan, review), write intermediate findings and final results to a report file in plans/reports/ — prevents context loss and serves as deliverable.

Quick Summary

Goal: Research, analyze the codebase, and create a detailed phased implementation plan with user collaboration.

Workflow:

  1. Pre-Check — Detect active/suggested plan or create new directory
  2. Research — Parallel researcher subagents explore different aspects (max 5 tool calls each)
  3. Codebase Analysis — Search for project reference docs (patterns-reference, project-structure, architecture, adr); scout if not found
  4. Plan Creation — Planner subagent creates plan.md + phase-XX files with full sections
  5. Post-Validation — Optionally interview user to confirm decisions via /plan-validate

Key Rules:

  • PLANNING ONLY: do NOT implement or execute code changes
  • Always run /plan-review after plan creation
  • Ask user to confirm before any next step
  • MANDATORY IMPORTANT MUST ATTENTION detect new tech/lib in plan and create validation task (see New Tech/Lib Gate below)

New Tech/Lib Gate (MANDATORY for all plans)

MANDATORY IMPORTANT MUST ATTENTION after plan creation, detect new tech/packages/libraries not in the project. If found: TaskCreate per lib → WebSearch top 3 alternatives → compare (fit, size, community, learning curve, license) → recommend with confidence % → AskUserQuestion to confirm. Skip if plan uses only existing dependencies.

Greenfield Mode

Auto-detected: If no existing codebase is found (no code directories like src/, app/, lib/, server/, packages/, etc., no manifest files like package.json/*.sln/go.mod, no populated project-config.json), this skill switches to greenfield mode automatically. Planning artifacts (docs/, plans/, .claude/) don't count — the project must have actual code directories with content.

When greenfield is detected:

  1. Skip codebase analysis phase (researcher subagents that grep code)
  2. Replace with: market research + business evaluation phase using WebSearch + WebFetch
  3. Delegate architecture decisions to solution-architect agent
  4. Output: plans/{id}/plan.md with greenfield-specific phases (domain model, tech stack, project structure)
  5. Skip reading project reference docs (won't exist in greenfield)
  6. Enable broad web research for tech landscape, best practices, framework comparisons
  7. Every decision point requires AskUserQuestion with 2-4 options + confidence %
  8. [CRITICAL] Business-First Protocol: Tech stack decisions come AFTER full business analysis. Do NOT ask user to pick a tech stack upfront. Instead: complete business evaluation → derive technical requirements → research current market options → produce comparison report → present to user for decision. See solution-architect agent for the full tech stack research methodology.
  • Research reports <=150 lines; plan.md <=80 lines
  • External Memory: Write all research and analysis to .ai/workspace/analysis/{task-name}.analysis.md. Re-read ENTIRE analysis file before generating plan.

Activate planning skill.

Scaffolding-First Protocol (Conditional)

Activation conditions (ALL must be true):

  1. Active workflow is greenfield-init OR big-feature
  2. AI MUST ATTENTION self-investigate for existing base/foundational abstractions using these patterns:
    • Abstract/base classes: abstract class.*Base|Base[A-Z]\w+|Abstract[A-Z]\w+
    • Generic interfaces: interface I\w+<|IGeneric|IBase
    • Infrastructure abstractions: IRepository|IUnitOfWork|IService|IHandler
    • Utility/extension layers: Extensions|Helpers|Utils|Common (directories or classes)
    • Frontend foundations: base.*component|base.*service|base.*store|abstract.*component (if frontend present)
    • DI/IoC registration: search for DI registration patterns idiomatic to the project's framework
  3. If existing scaffolding found → SKIP. Log: "Existing scaffolding detected at {file:line}. Skipping Phase 1 scaffolding."
  4. If NO foundational abstractions found → PROCEED with scaffolding phase.

When activated:

Phase 1 of the plan MUST ATTENTION be Architecture Scaffolding — all base abstract classes, generic interfaces, infrastructure abstractions, and DI registration with OOP/SOLID principles. Runs BEFORE feature stories. AI self-investigates what base classes the tech stack needs. All infrastructure behind interfaces with at least one concrete implementation (Dependency Inversion).

When skipped: Plan proceeds normally — feature stories build on existing base classes.

PLANNING-ONLY — Collaboration Required

DO NOT use the EnterPlanMode tool — you are ALREADY in a planning workflow. DO NOT implement or execute any code changes. COLLABORATE with the user: ask decision questions, present options with recommendations. After plan creation, ALWAYS run /plan-review to validate the plan. ASK user to confirm the plan before any next step.

Your mission

Pre-Creation Check (Active vs Suggested Plan)

Check the ## Plan Context section in the injected context:

  • If "Plan:" shows a path -> Active plan exists. Ask user: "Continue with this? [Y/n]"
  • If "Suggested:" shows a path -> Branch-matched hint only. Ask if they want to activate or create new.
  • If "Plan: none" -> Create new plan using naming from ## Naming section.

Workflow

  1. If creating new: Create directory using Plan dir: from ## Naming section, then run node .claude/scripts/set-active-plan.cjs {plan-dir} If reusing: Use the active plan path from Plan Context. Make sure you pass the directory path to every subagent during the process.
  2. Follow strictly to the "Plan Creation & Organization" rules of planning skill.
  3. Use multiple researcher agents (max 2 agents) in parallel to research for this task: Each agent research for a different aspect of the task and are allowed to perform max 5 tool calls.
  4. Analyze the codebase: search for project reference docs (patterns-reference, project-structure, architecture, adr) and read those found. ONLY PERFORM THIS IF docs not found or older than 3 days: Use /scout <instructions> to search the codebase for files needed.
  5. Main agent gathers all research and scout report filepaths, and pass them to planner subagent with the prompt to create an implementation plan of this task.
  6. Main agent receives the implementation plan from planner subagent, and ask user to review the plan

Post-Plan Validation (Optional)

After plan creation, offer validation interview to confirm decisions before implementation.

Check ## Plan Context -> Validation: mode=X, questions=MIN-MAX:

Mode Behavior
prompt Ask user: "Validate this plan with a brief interview?" -> Yes (Recommended) / No
auto Automatically execute /plan-validate {plan-path}
off Skip validation step entirely

If mode is prompt: Use AskUserQuestion tool with options above. If user chooses validation or mode is auto: Execute /plan-validate {plan-path} SlashCommand.

Output Requirements

Plan Directory Structure (use Plan dir: from ## Naming section)

{plan-dir}/
├── research/
│   ├── researcher-XX-report.md
│   └── ...
├── reports/
│   ├── XX-report.md
│   └── ...
├── scout/
│   ├── scout-XX-report.md
│   └── ...
├── plan.md
├── phase-XX-phase-name-here.md
└── ...

Research Output Requirements

  • Ensure every research markdown report remains concise (<=150 lines) while covering all requested topics and citations.

Plan File Specification

  • Every plan.md MUST ATTENTION start with YAML frontmatter:

    ---
    title: '{Brief title}'
    description: '{One sentence for card preview}'
    status: pending
    priority: P2
    effort: { sum of phases, e.g., 4h }
    story_points: { sum of phase SPs, e.g., 8 }
    man_days_traditional: '{ total e.g., 6d (4d code + 2d test) }'
    man_days_ai: '{ total with AI e.g., 3d (2d code + 1d test) }'
    branch: { current git branch }
    tags: [relevant, tags]
    created: { YYYY-MM-DD }
    ---
    
  • Save overview at {plan-dir}/plan.md (<80 lines): list each phase with status, progress, and links to phase files.

  • For each phase, create {plan-dir}/phase-XX-phase-name-here.md with sections: Context links, Overview, Key Insights, Requirements, Alternatives Considered (minimum 2 approaches with pros/cons), Design Rationale (WHY chosen approach), Architecture, UI Layout (see below), Related code files, Implementation Steps, Todo list, Success Criteria, Risk Assessment, Security Considerations, Next steps.

  • UI Layout: For frontend-facing phases, include ASCII wireframe. Classify components by tier (common/domain-shared/page-app). For backend-only phases: ## UI Layout → N/A — Backend-only change.

IMPORTANT Task Planning Notes (MUST ATTENTION FOLLOW)

  • Always plan and break work into many small todo tasks using TaskCreate
  • Always add a final review todo task to verify work quality and identify fixes/enhancements
  • MANDATORY FINAL TASKS: After creating all planning todo tasks, ALWAYS add these final tasks:
    1. Task: "Write test specifications for each phase" — Add ## Test Specifications with TC-{FEAT}-{NNN} IDs to every phase file. Use /tdd-spec if feature docs exist. Use Evidence: TBD for TDD-first mode.
    2. Task: "Run /plan-validate" — Trigger /plan-validate skill to interview the user with critical questions and validate plan assumptions
    3. Task: "Run /plan-review" — Trigger /plan-review skill with deep 3-round protocol (R1: checklist, R2: code-proof trace, R3: adversarial simulation). Review depth based on SP: ≤3 → 2 rounds min, 4-8 → 3 rounds, >8 → 3 rounds + code-proof mandatory.
    4. Task: "Run /why-review (standalone only)" — If NOT inside a workflow, trigger /why-review to validate design rationale, alternatives considered, and risk assessment in the plan. Skip if a workflow already includes /why-review in its sequence.

Important Notes

  • Activate needed skills from catalog during process.
  • Token efficiency without sacrificing quality. Sacrifice grammar for concision in reports.
  • Unresolved questions → list at end of report.

Standalone Review Gate (Non-Workflow Only)

MANDATORY IMPORTANT MUST ATTENTION: If this skill is called outside a workflow (standalone /plan-hard), the generated plan MUST ATTENTION include /review-changes as a final phase/task in the plan. This ensures all implementation changes get reviewed before commit even without a workflow enforcing it.

If already running inside a workflow (e.g., feature, bugfix), skip this — the workflow sequence handles /review-changes at the appropriate step.

Next Steps (Standalone: MUST ATTENTION ask user via AskUserQuestion. Skip if inside workflow.)

MANDATORY IMPORTANT MUST ATTENTION — NO EXCEPTIONS after completing this skill, you MUST ATTENTION use AskUserQuestion to present these options. Do NOT skip because the task seems "simple" or "obvious" — the user decides:

  • "Proceed with full workflow (Recommended)" — I'll detect the best workflow to continue from here (plan created). This ensures review, validation, implementation, and testing steps aren't skipped.
  • "/why-review" — Validate design rationale in the plan before implementation (standalone only — skipped when workflow includes it)
  • "/plan-review" — Validate plan before implementation
  • "/plan-validate" — Interview user to confirm plan decisions
  • "Skip, continue manually" — user decides

Post-Plan Granularity Self-Check (MANDATORY)

Plan Granularity — Every phase must pass 5-point check before implementation:

  1. Lists exact file paths to modify (not generic "implement X")
  2. No planning verbs (research, investigate, analyze, determine, figure out)
  3. Steps ≤30min each, phase total ≤3h
  4. ≤5 files per phase
  5. No open decisions or TBDs in approach

Failing phases → create sub-plan. Repeat until ALL leaf phases pass (max depth: 3). Self-question: "Can I start coding RIGHT NOW? If any step needs 'figuring out' → sub-plan it."

Preservation Inventory (MANDATORY for bugfixes)

Preservation Inventory — MANDATORY for bugfix plans. Trigger keywords in plan title/frontmatter: fix, bug, regression, broken, defect. Author MUST produce this table BEFORE writing implementation steps.

Columns: Invariant | file:line | Why (data consequence if broken) | Verification (TC-ID or grep)

BLOCKED until: ≥3 rows · every File cell has file:line · every Verification cell has TC-ID or grep (not "manually verify")

After creating all phase files, run the recursive decomposition loop:

  1. Score each phase against the 5-point criteria (file paths, no planning verbs, ≤30min steps, ≤5 files, no open decisions)
  2. For each FAILING phase → create task to decompose it into a sub-plan (with its own /plan → /plan-review → /plan-validate → fix cycle)
  3. Re-score new phases. Repeat until ALL leaf phases pass (max depth: 3)
  4. Self-question: "For each phase, can I start coding RIGHT NOW? If any needs 'figuring out' → sub-plan it."

Closing Reminders

MANDATORY IMPORTANT MUST ATTENTION break work into small todo tasks using TaskCreate BEFORE starting. MANDATORY IMPORTANT MUST ATTENTION validate decisions with user via AskUserQuestion — never auto-decide. MANDATORY IMPORTANT MUST ATTENTION add a final review todo task to verify work quality. MANDATORY IMPORTANT MUST ATTENTION READ the following files before starting:

  • IMPORTANT MUST ATTENTION verify all phases pass 5-point granularity check. Failing phases → sub-plan. "Can I start coding RIGHT NOW?"

                                        <!-- SYNC:understand-code-first:reminder -->
    
  • IMPORTANT MUST ATTENTION search 3+ existing patterns and read code BEFORE any modification. Run graph trace when graph.db exists.

  • IMPORTANT MUST ATTENTION include story_points, complexity, man_days_traditional, man_days_ai in plan/PBI frontmatter. Use SP table: SP 1=0.5d/0.25d, SP 2=1d/0.35d, SP 3=2d/0.65d, SP 5=4d/1.0d, SP 8=6d/1.5d · SP 13=10d/2.0d. SP 13 SHOULD split, SP 21 MUST split.

  • IMPORTANT MUST ATTENTION include ## Test Specifications with TC IDs per phase. Call TaskList before creating new tasks.

  • IMPORTANT MUST ATTENTION score complexity first. Score >=6 → decompose. Each phase: plan → implement → review → fix → verify. No skipping.

  • IMPORTANT MUST ATTENTION trace full data flow and fix at the owning layer, not the crash site. Audit all access sites before adding ?..

  • IMPORTANT MUST ATTENTION microservices/event-driven: scan producers, consumers, sagas, contracts in task scope. Per touchpoint: owner · message · consumers · risk (NONE/ADDITIVE/BREAKING). Missing consumer = silent regression.

  • MUST ATTENTION apply critical thinking — every claim needs traced proof, confidence >80% to act. Anti-hallucination: never present guess as fact.

  • MUST ATTENTION apply AI mistake prevention — holistic-first debugging, fix at responsible layer, surface ambiguity before coding, re-read files after compaction.

[TASK-PLANNING] Before acting, analyze task scope and systematically break it into small todo tasks and sub-tasks using TaskCreate.