claude/skills/implement-plan/SKILL.md
This skill MUST be invoked when the user says "plan this", "planla", "planlar mısın", "plan yap", "tasarla", "design this", "implementation plan", "nasıl implement ederiz" or any variation requesting implementation planning. SHOULD also invoke when user asks "how should I implement X", "en iyi yaklaşım ne", or wants a technical specification. Creates detailed implementation plans through interactive research and iteration, breaking down tasks into phases with mandatory user questions via AskUserQuestion.
npx skillsauth add kilimcininkoroglu/cli-tweaks implement-planInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create detailed implementation plans through an interactive, iterative process. Be skeptical, thorough, and collaborative.
Given a task or ticket:
Explore subagents in parallel for codebase explorationfile:line references, ask only unanswerable questionsWhen an explicit planning trigger is active (for example planla or injected
EXPLICIT PLANNING REQUEST context), this override takes precedence over the
normal planning flow:
EnterPlanMode to enter plan mode.Explore subagents, Grep, Glob, Read tools.AskUserQuestion to resolve them NOW — do not defer to the plan body.AskUserQuestion before finalizing.ExitPlanMode (no parameters -- it reads from the plan file).Prefer planning for implementation tasks unless they're simple. Use when ANY of these apply:
Also applies when:
Rule of thumb: If unsure whether to plan, err on the side of planning. It's better to get alignment upfront than to redo work.
Only skip planning for simple tasks:
file:line references.AskUserQuestion during planning — do not decide unilaterally what to exclude.Explore subagent -> find all relevant files and understand current implementationExplore agents IN PARALLEL for faster explorationThis step is mandatory for the normal planning path.
If the explicit planning override is active, skip this step until after the
initial plan presentation via ExitPlanMode.
Before designing a normal-path plan, you MUST use the AskUserQuestion tool to ask 1-4 focused questions. The goal is to understand what the user actually wants before committing to an approach.
What to ask about:
How to ask:
Example AskUserQuestion usage:
1. [question] I found the API uses REST handlers at server.go:45. For the new endpoint, should we follow the existing pattern or introduce a router?
[topic] Architecture
[option] Follow existing pattern (add handler to server.go)
[option] Introduce a lightweight router (e.g., gorilla/mux)
2. [question] The scope could include validation, error handling, and logging. What's the priority?
[topic] Scope
[option] Full scope (all three)
[option] Core only (validation + error handling)
[option] Minimal (just the happy path first)
Rules (normal path):
Explicit override rules:
AskUserQuestion to resolve open questions and confirm scope exclusions BEFORE writing the plan.After getting user answers:
AskUserQuestion to let the user decide. Do NOT pick an approach and present it as final — give the user structured options with trade-offs explained. This applies throughout the entire planning process, not just Step 2.Write the complete plan to the plan file following the template below, then call ExitPlanMode to present it. ExitPlanMode reads from the plan file -- do NOT pass title or plan as parameters.
For the explicit planning override, your next response after entering plan mode
should be a single ExitPlanMode call once the plan file is written (no
plain-text interim response).
Use this structure for the final plan:
## Overview
[1-2 sentence summary of what we're building and why]
## Current State
- [Key finding with file:line reference]
- [Existing pattern we'll follow]
## What We're NOT Doing
- [Explicitly excluded scope item]
- [Deferred feature]
## Phase 1: [Name]
Goal: [What this phase accomplishes]
Files to modify:
- `path/to/file.ext` - [what changes]
Steps:
1. [Concrete step with file reference]
2. [Next step]
Manual verification:
- [How to verify this phase works]
## Phase 2: [Name]
[Same structure as Phase 1]
## Risks and Trade-offs
- [Risk]: [Mitigation]
- [Trade-off]: [Justification]
Explore subagents for research (they work in read-only mode)If you encounter open questions during planning:
| Mistake | Why It's Wrong | Do This Instead | |--------------------------------------|---------------------------------------|----------------------------------------------------| | Dumping a complete plan immediately | User can't course-correct early | Present understanding first, get buy-in at each step | | Skipping clarifying questions | You'll plan the wrong thing | Use AskUserQuestion in ALL paths to resolve questions before finalizing | | Passing params to ExitPlanMode | Claude Code ExitPlanMode reads from plan file | Write plan to file first, call ExitPlanMode without params | | Asking questions in plain text | User gets unstructured wall of text | Use AskUserQuestion tool for structured multiple-choice | | Accepting user corrections blindly | User may be wrong or outdated | Verify corrections against code before proceeding | | Leaving "TBD" or "TODO" in plan | Plan should be actionable | Resolve all questions before finalizing | | Missing file:line references | Claims become unverifiable | Every code reference needs a location | | Skipping "What We're NOT Doing" | Scope creep inevitable | Always define boundaries explicitly | | Adding explicit "testing" phases | TDD is implicit in all implementation | Describe what to build; tests come with it | | Writing code during planning | Plan mode is read-only | Only research and plan; code comes after approval |
development
This skill MUST be invoked when the user says "version update skill oluştur", "create version update skill", "versiyon skill'i oluştur", "update-version skill", "version-update skill yap" or any variation requesting creation of a project-local version update skill. SHOULD also invoke when user mentions "versiyon güncelleme skill'i kur", "setup version bumping", or asks to automate version management for the current project. Scans the project for version files, build commands, and changelog, then generates a tailored version-update skill in .factory/skills/.
development
This skill MUST be invoked when the user says "task-plan", "görev planla", "break down this PRD", "create tasks from spec", "PRD'yi parçala", "görevleri oluştur" or any variation requesting task breakdown from a specification document. SHOULD also invoke when user mentions "feature breakdown", "sprint planning", "task tracking", or wants to manage a structured development workflow with features and tasks.
testing
This skill MUST be invoked when the user says "commit tarihlerini değiştir", "redate commits", "spread commits", "backdate" or any variation requesting git commit date rewriting across a date range. Rewrites both author and committer dates using git filter-branch, distributing commits realistically across the specified period.
development
This skill MUST be invoked when the user says "UIKit", "iOS geliştirme", "programmatic UI", "table view", "collection view", "Auto Layout", "UIViewController", "UINavigationController", "Core Animation", "UIKit review", "UIKit build", "iOS view controller", "UIKit pattern", "programmatic layout", or any variation requesting UIKit development, review, or improvement. Covers programmatic UIKit with Auto Layout, table/collection views, navigation, animation, networking, architecture, and 20 reference documents with production-ready patterns.