[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) — citefile:lineevidence 2. Read existing files in target area — understand structure, base classes, conventions 3. Runpython.claude/scripts/code_graph trace <file> --direction both --jsonwhen.code-graph/graph.dbexists 4. Map dependencies viaconnectionsorcallers_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. Outputstory_points,complexity,man_days_traditional,man_days_aiin 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 Specificationssection with TC-{FEAT}-{NNN} IDs to every phase file 2. Map every functional requirement to ≥1 TC (or explicitTBDwith rationale) 3. TC IDs followTC-{FEATURE}-{NNN}format — reference by ID, never embed full content 4. Before any new workflow step: callTaskListand re-read the phase file 5. On context compaction: callTaskListFIRST — never create duplicate tasks 6. Verify TC satisfaction per phase before marking complete (evidence must befile:line, not TBD) Mode: TDD-first → reference existing TCs withEvidence: TBD. Implement-first → use TBD →/tdd-specfills 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 withfile:lineevidence- []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:
- Pre-Check — Detect active/suggested plan or create new directory
- Research — Parallel researcher subagents explore different aspects (max 5 tool calls each)
- Codebase Analysis — Search for project reference docs (patterns-reference, project-structure, architecture, adr); scout if not found
- Plan Creation — Planner subagent creates plan.md + phase-XX files with full sections
- 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 likesrc/,app/,lib/,server/,packages/, etc., no manifest files likepackage.json/*.sln/go.mod, no populatedproject-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:
- Skip codebase analysis phase (researcher subagents that grep code)
- Replace with: market research + business evaluation phase using WebSearch + WebFetch
- Delegate architecture decisions to
solution-architectagent - Output:
plans/{id}/plan.mdwith greenfield-specific phases (domain model, tech stack, project structure) - Skip reading project reference docs (won't exist in greenfield)
- Enable broad web research for tech landscape, best practices, framework comparisons
- Every decision point requires AskUserQuestion with 2-4 options + confidence %
- [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-architectagent 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):
- Active workflow is
greenfield-initORbig-feature - 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
- If existing scaffolding found → SKIP. Log: "Existing scaffolding detected at {file:line}. Skipping Phase 1 scaffolding."
- 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 theEnterPlanModetool — 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-reviewto 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
## Namingsection.
Workflow
- If creating new: Create directory using
Plan dir:from## Namingsection, then runnode.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. - Follow strictly to the "Plan Creation & Organization" rules of
planningskill. - Use multiple
researcheragents (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. - 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. - Main agent gathers all research and scout report filepaths, and pass them to
plannersubagent with the prompt to create an implementation plan of this task. - Main agent receives the implementation plan from
plannersubagent, 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.mdMUST 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.mdwith 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-changesas 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-changesat 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 hasfile:line· every Verification cell has TC-ID or grep (not "manually verify")
After creating all phase files, run the recursive decomposition loop:
- Score each phase against the 5-point criteria (file paths, no planning verbs, ≤30min steps, ≤5 files, no open decisions)
- For each FAILING phase → create task to decompose it into a sub-plan (with its own /plan → /plan-review → /plan-validate → fix cycle)
- Re-score new phases. Repeat until ALL leaf phases pass (max depth: 3)
- 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_aiin 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 Specificationswith TC IDs per phase. CallTaskListbefore 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.