claude-plugins/plugins/project-plan/commands/generate.md
Cal Corum 51fe634ff5 refactor: convert 5 more skills to commands, update transcriber defaults
Convert backlog, project-plan, save-doc, youtube-transcriber, and
z-image from skills/ to commands/ so they appear as user-invocable
slash commands with plugin name prefixes.

Update youtube-transcriber: switch default model from gpt-4o-transcribe
to gpt-4o-mini-transcribe (OpenAI's current recommendation, half cost)
and fix cost estimates that were 4-7x too high.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 14:41:37 -05:00

177 lines
4.7 KiB
Markdown

---
description: Analyze codebase and generate comprehensive PROJECT_PLAN.json task files
---
# Project Plan Generator
Creates structured `PROJECT_PLAN.json` files for tracking project work.
## Usage
```
/project-plan:generate [type]
```
**Types:**
- `refactoring` - Technical debt and code quality improvements (default)
- `feature` - New feature implementation tasks
- `migration` - System migration or upgrade tasks
- `audit` - Security, accessibility, or compliance audit
- `custom` - Ask user for specific focus areas
## Analysis Process
### 1. Codebase Scan
Search for indicators based on plan type:
**For refactoring/technical debt:**
```bash
# Find TODOs, FIXMEs, HACKs
grep -rn "TODO\|FIXME\|HACK\|XXX" --include="*.{ts,js,vue,py,go}" .
# Find console.log/print statements
grep -rn "console\.log\|print(" --include="*.{ts,js,vue,py}" .
# Find 'any' types in TypeScript
grep -rn ": any" --include="*.ts" .
# Find hardcoded values
grep -rn "localhost\|:3000\|:8000" --include="*.{ts,js,vue,py}" .
# Find skipped tests
grep -rn "\.skip\|@skip\|pytest\.mark\.skip" --include="*.{test,spec}.*" .
```
**For features:**
- Review PRD or requirements documents
- Check existing feature flags or incomplete implementations
- Identify placeholder UI or stub functions
**For audits:**
- Check for missing ARIA labels, keyboard handlers
- Look for SQL queries, user input handling
- Review authentication/authorization patterns
### 2. Categorize Findings
| Category | Criteria |
|----------|----------|
| `critical` | Broken functionality, security issues, data loss risk |
| `high` | Production blockers, major UX issues |
| `medium` | Code quality, maintainability, moderate UX |
| `low` | Polish, nice-to-have, minor improvements |
| `feature` | New capabilities, enhancements |
### 3. Generate JSON
Create `PROJECT_PLAN.json` in the project root or relevant subdirectory.
## JSON Schema
```json
{
"meta": {
"version": "1.0.0",
"created": "YYYY-MM-DD",
"lastUpdated": "YYYY-MM-DD",
"planType": "refactoring|feature|migration|audit|custom",
"totalEstimatedHours": 0,
"totalTasks": 0,
"completedTasks": 0
},
"categories": {
"critical": "Must fix immediately",
"high": "Required for production",
"medium": "Quality improvements",
"low": "Polish and nice-to-have",
"feature": "New capabilities"
},
"tasks": [
{
"id": "CRIT-001",
"name": "Short task name",
"description": "Detailed explanation of what needs to be done and why",
"category": "critical",
"priority": 1,
"completed": false,
"tested": false,
"dependencies": ["OTHER-001"],
"files": [
{
"path": "src/example.ts",
"lines": [45, 67, 89],
"issue": "Description of issue in this file"
}
],
"suggestedFix": "Step-by-step approach to resolve",
"estimatedHours": 2,
"notes": "Additional context, gotchas, or tips"
}
],
"quickWins": [
{
"taskId": "LOW-001",
"estimatedMinutes": 15,
"impact": "Brief description of value"
}
],
"productionBlockers": [
{
"taskId": "CRIT-001",
"reason": "Why this blocks production"
}
],
"weeklyRoadmap": {
"week1": {
"theme": "Critical Fixes",
"tasks": ["CRIT-001", "CRIT-002"],
"estimatedHours": 8
}
}
}
```
## Task ID Conventions
| Prefix | Category |
|--------|----------|
| `CRIT-` | Critical blockers |
| `HIGH-` | High priority |
| `MED-` | Medium priority |
| `LOW-` | Low priority |
| `FEAT-` | New features |
| `SEC-` | Security issues |
| `A11Y-` | Accessibility |
| `PERF-` | Performance |
| `TEST-` | Testing gaps |
| `DOCS-` | Documentation |
## Required Task Fields
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | Yes | Unique identifier |
| `name` | string | Yes | Short descriptive name |
| `description` | string | Yes | Detailed explanation |
| `completed` | boolean | Yes | Task completion status |
| `tested` | boolean | Yes | Whether fix was tested |
| `dependencies` | string[] | Yes | Task IDs this depends on (empty array if none) |
| `notes` | string | Yes | Additional context |
## Recommended Task Fields
| Field | Type | Description |
|-------|------|-------------|
| `category` | string | critical/high/medium/low/feature |
| `priority` | number | Numeric sort order (1 = highest) |
| `files` | array | Affected files with paths and line numbers |
| `suggestedFix` | string | How to resolve the issue |
| `estimatedHours` | number | Time estimate |
## Output Location
- Default: `PROJECT_PLAN.json` in project root
- For monorepos: `{subproject}/PROJECT_PLAN.json`
- For focused work: `{directory}/PROJECT_PLAN.json`