factory/skills/implement-plan/SKILL.md
This skill MUST be invoked when the user says "plan this", "planla", "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 conditional AskUser clarification based on planning mode.
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:
worker subagents in parallel for codebase explorationfile:line references, ask only unanswerable questionsWhen an explicit planning/spec trigger is active (for example planla or injected
Spec mode is active context), this override takes precedence over the generic flow:
AskUser to resolve them NOW — do not defer to the plan body.AskUser before finalizing.ExitSpecMode.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.AskUser during planning — do not decide unilaterally what to exclude.worker subagent -> Find all relevant files and understand current implementationThis step is mandatory for the normal planning path.
If the explicit planning override is active, skip this step until after the first
ExitSpecMode submission.
Before designing a normal-path plan, you MUST use the AskUser 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 AskUser 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:
AskUser to resolve open questions and confirm scope exclusions BEFORE writing the plan.After getting user answers:
AskUser 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.For explicit planning override, write the plan and call ExitSpecMode once all
questions are resolved (no plain-text interim response).
Build the complete plan following the template below and present it using ExitSpecMode tool with:
title: A descriptive plan titleplan: The full plan in markdown formatUse 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]
AskUser to resolve all questions before writing the plan and calling ExitSpecModeIf 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 AskUser in ALL paths to resolve questions before finalizing | | Asking questions in plain text | User gets unstructured wall of text | Use AskUser 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.