git clone https://github.com/duc01226/EasyPlatform
T=$(mktemp -d) && git clone --depth=1 https://github.com/duc01226/EasyPlatform "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/plan" ~/.claude/skills/duc01226-easyplatform-plan && rm -rf "$T"
.claude/skills/plan/SKILL.md<!-- SYNC:critical-thinking-mindset -->[IMPORTANT] Use
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.TaskCreate
<!-- /SYNC:critical-thinking-mindset --> <!-- SYNC:ai-mistake-prevention -->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.
<!-- /SYNC:ai-mistake-prevention --> <!-- SYNC:understand-code-first -->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.
<!-- /SYNC:understand-code-first -->Understand Code First — HARD-GATE: Do NOT write, plan, or fix until you READ existing code.
- Search 3+ similar patterns (
/grep) — citeglobevidencefile:line- Read existing files in target area — understand structure, base classes, conventions
- Run
whenpython .claude/scripts/code_graph trace <file> --direction both --jsonexists.code-graph/graph.db- Map dependencies via
orconnections— know what depends on your targetcallers_of- Write investigation to
for non-trivial tasks (3+ files).ai/workspace/analysis/- Re-read analysis file before implementing — never work from memory alone
- 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- [ ]
— 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/project-reference/domain-entities-reference.md
<!-- /SYNC:rationalization-prevention --> <!-- SYNC:estimation-framework -->Rationalization Prevention — AI skips steps via these evasions. Recognize and reject:
Evasion Rebuttal "Too simple for a plan" Simple + wrong assumptions = wasted time. Plan anyway. "I'll test after" RED before GREEN. Write/verify test first. "Already searched" Show grep evidence with . No proof = no search.file:line"Just do it" Still need TaskCreate. Skip depth, never skip tracking. "Just a small fix" Small fix in wrong location cascades. Verify file:line first. "Code is self-explanatory" Future readers need evidence trail. Document anyway. "Combine steps to save time" Combined steps dilute focus. Each step has distinct purpose.
<!-- /SYNC:estimation-framework -->Estimation — Modified Fibonacci: 1(trivial) → 2(small) → 3(medium) → 5(large) → 8(very large) → 13(epic, SHOULD split) → 21(MUST ATTENTION split). Output
andstory_pointsin plan frontmatter. Complexity auto-derived: 1-2=Low, 3-5=Medium, 8=High, 13+=Critical.complexity
— Test specifications by module (read existing TCs to include test strategy in plan)docs/test-specs/
<!-- /SYNC:plan-quality --> <!-- SYNC:iterative-phase-quality -->Plan Quality — Every plan phase MUST ATTENTION include test specifications.
- Add
section with TC-{FEAT}-{NNN} IDs to every phase file## Test Specifications- Map every functional requirement to ≥1 TC (or explicit
with rationale)TBD- TC IDs follow
format — reference by ID, never embed full contentTC-{FEATURE}-{NNN}- Before any new workflow step: call
and re-read the phase fileTaskList- On context compaction: call
FIRST — never create duplicate tasksTaskList- Verify TC satisfaction per phase before marking complete (evidence must be
, not TBD)file:lineMode: TDD-first → reference existing TCs with
. Implement-first → use TBD →Evidence: TBDfills after./tdd-spec
<!-- /SYNC:iterative-phase-quality -->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.
Before routing, assess complexity score. Score >=3 → plan MUST ATTENTION produce multiple phases with per-phase quality cycles.
Quick Summary
Goal: Intelligently create implementation plans by analyzing task complexity and routing to
/plan-fast or /plan-hard.
Workflow:
- Analyze — Surface ambiguity BEFORE planning (protocol below), then ask clarifying questions via
.AskUserQuestion - Route — Decide
(simple) or/plan-fast
(complex) based on scope/plan-hard - Create — Execute chosen plan variant, write plan to
directoryplans/ - Validate — Offer
and/plan-review
for quality assurance/plan-validate
Ambiguity Protocol — MUST ATTENTION run before writing any plan:
Dimension Ask Scope All records or filtered? What's included/excluded? Any privacy implications? Format File? API? Background job? UI change? What does "done" look like? Volume How many entities/files affected? (drives approach: in-memory vs paged) Constraints Performance targets? Security boundaries? Patterns already in use? If multiple interpretations exist, present with effort estimates before planning:
"[Request]" could mean: 1. [Interpretation A] — [approach] — ~[Nh] effort 2. [Interpretation B] — [approach] — ~[Nh] effort Simplest approach: [X]. Which direction?NEVER pick silently. If a simpler approach exists than implied, say so first.
Key Rules:
- PLANNING-ONLY: never implement, never use EnterPlanMode tool
- Parent skill for all plan-* variants (plan-fast, plan-hard, plan-ci, plan-cro, plan-two, plan-parallel)
- Always collaborate with user; ask decision questions, present options
- Always add final
and/plan-validate
tasks/plan-review
Greenfield Mode
Auto-detected: If no existing codebase is found (no code directories like
,src/,app/,lib/,server/, etc., no manifest files likepackages//package.json/*.sln, no populatedgo.mod), this skill switches to greenfield mode automatically. Planning artifacts (docs/, plans/, .claude/) don't count — the project must have actual code directories with content.project-config.json
When greenfield is detected:
- ALWAYS route to
— greenfield planning requires deep research, never fast plans/plan-hard - Skip "MUST ATTENTION READ project-structure-reference.md" step (file won't exist or is placeholder)
- Enable web research for tech landscape analysis (WebSearch + WebFetch)
- Delegate architecture decisions to
agentsolution-architect - Increase user interview frequency (AskUserQuestion at each major decision)
- If
workflow is not already active, suggest it via AskUserQuestion:/greenfield- "Activate Greenfield Project Init workflow (Recommended)" — full waterfall inception
- "Continue with standalone /plan-hard" — planning only, no full workflow
Be skeptical. Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence percentages (Idea should be more than 80%).
Variant Decision Guide
| If the task is... | Use | Why |
|---|---|---|
| Simple, clear scope (<5 files) | | Lightweight plan, faster output |
| Complex, multi-layer, many files | | Deep research, comprehensive plan |
| CI/CD pipeline changes | | CI-specific context and validation |
| Cross-cutting refactor | | Cross-service impact analysis |
| Parallel implementation possible | | Splits plan into parallelizable phases |
| Two competing approaches | | Creates 2 plans for comparison |
| Analyzing existing plan | | Reviews/critiques an existing plan |
| Archiving completed plan | | Moves plan to archive |
| General/unknown | (this skill) | Routes automatically |
PLANNING-ONLY — Collaboration Required
DO NOT use the
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 useEnterPlanModetool to offerAskUserQuestionvalidation. ASK user to confirm the plan before any next step./plan-review
Your mission
<task> $ARGUMENTS </task>Pre-Creation Check (Active vs Suggested Plan Detection)
Check the
## Plan Context section in the injected context:
- If "Plan:" shows a path → Active plan exists. Ask user: "Active plan found: {path}. Continue with this? [Y/n]"
- If "Suggested:" shows a path → Branch-matched plan hint only. Ask user if they want to activate it or create new.
- If "Plan: none" → Proceed to create new plan using naming pattern from
section.## Naming
Workflow
- Analyze the given task and use
tool to ask for more details if needed.AskUserQuestion - Decide to use
or/plan-fast
SlashCommands based on the complexity./plan-hard - Execute SlashCommand:
or/plan-fast <detailed-instructions-prompt>/plan-hard <detailed-instructions-prompt> - Activate
skill.planning - Note:
is an enhanced prompt that describes the task in detail based on the provided task description.detailed-instructions-prompt
MANDATORY FINAL TASKS — After all planning tasks, ALWAYS add these final tasks:
- "Write test specifications for each phase" — Add
with TC-{FEAT}-{NNN} IDs to every phase file. Use## Test Specifications
if feature docs exist./tdd-spec
for TDD-first mode.Evidence: TBD - "Run /plan-validate" — Interview user to validate plan assumptions
- "Run /plan-review" — Auto-review plan for validity and best practices
- "Run /why-review (standalone only)" — If NOT inside a workflow, trigger
to validate design rationale, alternatives considered, and risk assessment in the plan. Skip if a workflow already includes/why-review
in its sequence./why-review
Standalone Review Gate (Non-Workflow Only)
MANDATORY IMPORTANT MUST ATTENTION: If this skill is called outside a workflow (standalone
), the generated plan MUST ATTENTION include/planas a final phase/task in the plan. This ensures all implementation changes get reviewed before commit even without a workflow enforcing it./review-changesIf already running inside a workflow (e.g.,
,feature), skip this — the workflow sequence handlesbugfixat the appropriate step./review-changes
Workflow Recommendation
MANDATORY IMPORTANT MUST ATTENTION — NO EXCEPTIONS: If you are NOT already in a workflow, you MUST ATTENTION use
to ask the user. Do NOT judge task complexity or decide this is "simple enough to skip" — the user decides whether to use a workflow, not you:AskUserQuestion
- Activate
workflow (Recommended) — quality-gate → plan → plan-review → plan-validatepre-development- Execute
directly — run this skill standalone/plan
Post-Plan Granularity Self-Check (MANDATORY)
<!-- SYNC:plan-granularity --><!-- /SYNC:plan-granularity -->Plan Granularity — Every phase must pass 5-point check before implementation:
- Lists exact file paths to modify (not generic "implement X")
- No planning verbs (research, investigate, analyze, determine, figure out)
- Steps ≤30min each, phase total ≤3h
- ≤5 files per phase
- 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)
<!-- SYNC:preservation-inventory --><!-- /SYNC:preservation-inventory -->Preservation Inventory — MANDATORY for bugfix plans. Trigger keywords in plan title/frontmatter:
,fix,bug,regression,broken. Author MUST produce this table BEFORE writing implementation steps.defectColumns:
Invariant | file:line | Why (data consequence if broken) | Verification (TC-ID or grep)BLOCKED until: ≥3 rows · every File cell has
· every Verification cell has TC-ID or grep (not "manually verify")file:line
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."
Next Steps (Standalone: MUST ATTENTION ask user via AskUserQuestion
. Skip if inside workflow.)
AskUserQuestionMANDATORY IMPORTANT MUST ATTENTION — NO EXCEPTIONS: If this skill was called outside a workflow, you MUST ATTENTION use
to present these options. Do NOT skip because the task seems "simple" or "obvious" — the user decides:AskUserQuestion
- "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" — Auto-review plan for validity and best practices
- "/plan-validate" — Interview user to confirm plan decisions
- "Skip, continue manually" — user decides
If already inside a workflow, skip — the workflow handles sequencing.
Closing Reminders
- MANDATORY IMPORTANT MUST ATTENTION break work into small todo tasks using
BEFORE startingTaskCreate - MANDATORY IMPORTANT MUST ATTENTION search codebase for 3+ similar patterns before creating new code
- MANDATORY IMPORTANT MUST ATTENTION cite
evidence for every claim (confidence >80% to act)file:line - MANDATORY IMPORTANT MUST ATTENTION add a final review todo task to verify work quality
- MANDATORY IMPORTANT MUST ATTENTION include Test Specifications section and story_points in plan frontmatter <!-- SYNC:plan-granularity:reminder -->
- MANDATORY IMPORTANT MUST ATTENTION verify all phases pass 5-point granularity check. Failing phases → sub-plan. "Can I start coding RIGHT NOW?" <!-- /SYNC:plan-granularity:reminder --> <!-- SYNC:understand-code-first:reminder -->
- MANDATORY IMPORTANT MUST ATTENTION search 3+ existing patterns and read code BEFORE any modification. Run graph trace when graph.db exists. <!-- /SYNC:understand-code-first:reminder --> <!-- SYNC:rationalization-prevention:reminder -->
- MANDATORY IMPORTANT MUST ATTENTION follow ALL steps regardless of perceived simplicity. "Too simple to plan" is an evasion, not a reason. <!-- /SYNC:rationalization-prevention:reminder --> <!-- SYNC:estimation-framework:reminder -->
- MANDATORY IMPORTANT MUST ATTENTION include
andstory_points
in plan frontmatter. SP > 8 = split. <!-- /SYNC:estimation-framework:reminder --> <!-- SYNC:plan-quality:reminder -->complexity - MANDATORY IMPORTANT MUST ATTENTION include
with TC IDs per phase. Call## Test Specifications
before creating new tasks. <!-- /SYNC:plan-quality:reminder --> <!-- SYNC:iterative-phase-quality:reminder -->TaskList - MANDATORY IMPORTANT MUST ATTENTION score complexity first. Score >=6 → decompose. Each phase: plan → implement → review → fix → verify. No skipping. <!-- /SYNC:iterative-phase-quality:reminder --> <!-- SYNC:critical-thinking-mindset:reminder -->
- MUST ATTENTION apply critical thinking — every claim needs traced proof, confidence >80% to act. Anti-hallucination: never present guess as fact. <!-- /SYNC:critical-thinking-mindset:reminder --> <!-- SYNC:ai-mistake-prevention:reminder -->
- MUST ATTENTION apply AI mistake prevention — holistic-first debugging, fix at responsible layer, surface ambiguity before coding, re-read files after compaction. <!-- /SYNC:ai-mistake-prevention:reminder -->