# Plan

> Explore a codebase and produce a detailed implementation plan before writing any code. Use when asked to plan a feature, think through an approach, or figure out how to implement something.

- Skill: `s1lver091/plan` (Agent Skill)
- Install (CLI): `npx skillmds@latest add s1lver091/plan`
- Raw SKILL.md: https://api.skillmd.com/api/skills/s1lver091/plan/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: s1lver091 (https://skillmd.com/u/s1lver091)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/s1lver091/plan

---


# Planning

Do not write code. Do not modify files. Explore and think.

## Step 1: Clarify the goal

Before exploring, make sure you understand what done looks like.
- What is the user trying to achieve?
- Are there constraints (must not break X, must stay compatible with Y)?
- Is there an existing pattern in the codebase to follow?

If the goal is ambiguous, use the `questionnaire` tool to ask.

## Step 2: Explore the codebase

Use `grep`, `find`, `read`, and `ls` to understand the relevant code.

Find:
- The entry point or feature area affected
- Types and interfaces that the feature will touch
- Existing similar features to use as a model
- Tests that cover adjacent behavior

Take notes as you go. You will use these in the plan.

## Step 3: Identify the approach

Before writing steps, decide on the approach:
- What is the minimal change that delivers the goal?
- Is there a simpler alternative worth mentioning?
- What are the main risks or unknowns?

## Step 4: Write the plan

### Goal
One sentence. What will be true when this is complete.

### Approach
2-3 sentences explaining the strategy and why.

### Steps
Numbered, ordered, atomic. Each step names the exact file and function to touch.

```
1. `src/types.ts` — Add `theme: 'light' | 'dark'` to the `UserPreferences` interface
2. `src/store/preferences.ts` — Update `savePreferences()` to persist the new field
3. `src/components/Settings.tsx` — Add a theme toggle that calls `savePreferences`
4. `src/components/App.tsx` — Read `preferences.theme` and apply a CSS class to the root element
```

### Files to touch
- `path/to/file.ts` — what changes

### New files needed
- `path/to/new.ts` — purpose (omit if none)

### Risks
Specific things to be careful about. Name callers that could break, shared types that must stay compatible, performance implications.

### Open questions
Anything that needs a decision before implementation can proceed.

