developer
Post-completion development skill for adjustments and changes after all phases are done. Accepts change requests from arguments (/developer fix the login button) or via AskUserQuestion. Analyzes existing code and plans, creates change tasks in docs/changes.json, spawns small-coder and high-coder agents in parallel, and tracks all results in changes.json. Triggers on: developer, dev, adjust, change, fix, tweak, modify, post-dev.
What this skill does
# Developer Skill
Handle post-completion adjustments by analyzing change requests, creating tracked tasks in `changes.json`, and spawning coder agents in parallel.
---
## When to Use
Use `/developer` when:
- All phases are **already completed** via `/execute-phase`
- You need **adjustments, fixes, or tweaks** to existing code
- You want changes **tracked separately** from the original progress.json
Use `/execute-phase` instead when:
- You're still building the initial project phases
- Tasks come from progress.json
---
## How It Works
```
/developer [change description]
|
v
+----------------------------------------------------------+
| STEP 1: Get change request |
| - From argument: /developer fix the login button |
| - OR from AskUserQuestion if not provided |
+----------------------------------------------------------+
|
v
+----------------------------------------------------------+
| STEP 2: Read project context |
| - docs/progress.json (understand what was built) |
| - docs/dev-plan.md (original plan) |
| - docs/frontend-plan.md (component specs) |
| - docs/backend-plan.md (schema specs) |
| - Scan existing codebase (src/**) |
+----------------------------------------------------------+
|
v
+----------------------------------------------------------+
| STEP 3: Analyze & create change tasks |
| - Break the request into concrete tasks |
| - Classify each: low (small-coder) / high (high-coder) |
| - Identify affected files |
| - Determine dependencies between change tasks |
+----------------------------------------------------------+
|
v
+----------------------------------------------------------+
| STEP 4: Write docs/changes.json |
| - Create or APPEND to changes.json |
| - Each change request = a new "batch" |
| - Tasks inside the batch have IDs like "C1.1", "C1.2" |
+----------------------------------------------------------+
|
v
+----------------------------------------------------------+
| STEP 5: Spawn agents in PARALLEL |
| |
| ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| │ small-coder │ │ high-coder │ │ small-coder │ |
| │ Task C1.1 │ │ Task C1.2 │ │ Task C1.3 │ |
| └─────────────┘ └─────────────┘ └─────────────┘ |
| |
| One agent per task — all run simultaneously |
+----------------------------------------------------------+
|
v
+----------------------------------------------------------+
| STEP 6: Update changes.json with results |
| - Mark completed / blocked tasks |
| - Recalculate batch and global summary |
+----------------------------------------------------------+
|
v
+----------------------------------------------------------+
| STEP 7: Report results |
+----------------------------------------------------------+
```
---
## Step 1: Get Change Request
### Option A: From arguments
If the user provides a description:
```
/developer fix the login button hover state
/developer add dark mode toggle to settings
/developer refactor the user card to use the new design tokens
/developer the sidebar collapses incorrectly on mobile
```
Extract the change request directly. **Do NOT ask questions — proceed to Step 2.**
### Option B: No argument provided
If the user invokes with no argument (`/developer`), you MUST use AskUserQuestion:
```
AskUserQuestion:
question: "What change or adjustment do you need?"
header: "Change Type"
options:
- label: "Bug fix"
description: "Something is broken or behaving incorrectly"
- label: "UI/UX adjustment"
description: "Visual or interaction changes"
- label: "Feature tweak"
description: "Modify existing functionality"
- label: "I'll describe it"
description: "Provide detailed description"
```
Then follow up to get specifics:
```
AskUserQuestion:
question: "Describe the change you need. Be specific about what should happen."
header: "Details"
options:
- label: "I'll type it out"
description: "Let me describe the change in detail"
```
### Question Rules
- Maximum **2 questions** to gather the change request
- If the user provided arguments, ask **ZERO questions**
- Capture the full request as `{change_request}`
---
## Step 2: Read Project Context
Read all available context to understand the current state of the project:
```
Glob: **/progress.json
Read: [found path] — understand what was built and task structure
Glob: **/dev-plan.md
Read: [found path] — original plan and architecture
Glob: **/frontend-plan.md
Read: [found path] — component specs, file paths, patterns
Glob: **/backend-plan.md
Read: [found path] — schema, queries, RLS policies
Glob: **/changes.json
Read: [found path] — previous change batches (if any)
```
Also scan the codebase to understand what files exist:
```
Glob: src/**/*.{ts,tsx}
```
**If progress.json does NOT exist:**
Warn the user but proceed anyway — changes.json can work independently:
> Note: `progress.json` not found. Operating without original task context. Changes will still be tracked in `changes.json`.
---
## Step 3: Analyze & Create Change Tasks
Break the user's change request into concrete, implementable tasks.
### 3.1 Identify affected areas
From the change request, determine:
- **Which files** need to be modified (grep/glob existing code)
- **Which domain** is affected (frontend, backend, fullstack)
- **What type** of change (bug fix, style change, logic change, new addition)
### 3.2 Break into tasks
Each distinct unit of work becomes a task. One task = one logical change.
**Examples:**
User request: "Fix the login button hover state and add a loading spinner"
```
Task C1.1: Fix login button hover state (1 file — low → small-coder)
Task C1.2: Add loading spinner to login button (1 file — low → small-coder)
```
User request: "Add dark mode toggle with persistent preference"
```
Task C1.1: Create dark mode Zustand store (1 file — low → small-coder)
Task C1.2: Add theme toggle component (1 file — low → small-coder)
Task C1.3: Wire dark mode across layout + providers + store (4 files — high → high-coder)
```
### 3.3 Classify complexity
Use the same rules as progress.json:
| Complexity | Criteria | Agent |
|------------|----------|-------|
| `low` | 1-2 files, single concern, no cross-file logic | `small-coder` |
| `high` | 3+ files, cross-file coordination, multi-concern | `high-coder` |
### 3.4 Determine dependencies
If tasks within the same batch depend on each other:
- Task C1.3 depends on C1.1 and C1.2 → `blocked_by: ["C1.1", "C1.2"]`
- Independent tasks have empty `blocked_by`
**Only spawn tasks where `blocked_by` is empty.** Blocked tasks wait for a re-run.
---
## Step 4: Write changes.json
### 4.1 Structure
If `changes.json` does NOT exist — create it fresh.
If `changes.json` ALREADY exists — read it and APPEND a new batch.
### 4.2 Batch numbering
Each invocation of `/developer` creates a new batch:
- First run: Batch `C1` with tasks `C1.1`, `C1.2`, ...
- Second run: Batch `C2` with tasks `C2.1`, `C2.2`, ...
- Nth run: Batch `CN` with tasks `CN.1`, `CN.2`, ...
If `changes.json` already has batches, find the highest batch number and increment.
### 4.3 Format
```json
{
"project": "[from progress.json or dev-plan.md]",
"generated": "[ISO date of first creation]",
"last_updated": "[ISO date of latest update]",
"summary": {
"total_batches": 1,
Related in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.