skills/productivity/ce-plan/SKILL.md
Transform feature descriptions into well-structured project plans following conventions
npx skillsauth add codewithbehnam/cc-docs ce: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.
Note: The current year is 2026. Use this when dating plans and searching for recent documentation.
Transform feature descriptions, bug reports, or improvement ideas into well-structured markdown files issues that follow project conventions and best practices. This command provides flexible detail levels to match your needs.
<feature_description> #$ARGUMENTS </feature_description>
If the feature description above is empty, ask the user: "What would you like to plan? Please describe the feature, bug fix, or improvement you have in mind."
Do not proceed until you have a clear feature description from the user.
Check for brainstorm output first:
Before asking questions, look for recent brainstorm documents in docs/brainstorms/ that match this feature:
ls -la docs/brainstorms/*.md 2>/dev/null | head -10
Relevance criteria: A brainstorm is relevant if:
If a relevant brainstorm exists:
(see brainstorm: docs/brainstorms/<filename>) when carrying forward conclusions. Do not paraphrase decisions in a way that loses their original context — link back to the source.If multiple brainstorms could match: Use AskUserQuestion tool to ask which brainstorm to use, or whether to proceed without one.
If no brainstorm found (or not relevant), run idea refinement:
Refine the idea through collaborative dialogue using the AskUserQuestion tool:
Gather signals for research decision. During refinement, note:
Skip option: If the feature description is already detailed, offer: "Your description is clear. Should I proceed with research, or would you like to refine it further?"
Run these agents in parallel to gather local context:
What to look for:
docs/solutions/ that might apply (gotchas, patterns, lessons learned)These findings inform the next step.
Based on signals from Step 0 and findings from Step 1, decide on external research.
High-risk topics → always research. Security, payments, external APIs, data privacy. The cost of missing something is too high. This takes precedence over speed signals.
Strong local context → skip external research. Codebase has good patterns, CLAUDE.md has guidance, user knows what they want. External research adds little value.
Uncertainty or unfamiliar territory → research. User is exploring, codebase has no examples, new technology. External perspective is valuable.
Announce the decision and proceed. Brief explanation, then continue. User can redirect if needed.
Examples:
Only run if Step 1.5 indicates external research is valuable.
Run these agents in parallel:
After all research steps complete, consolidate findings:
app/services/example_service.rb:42)docs/solutions/ (key insights, gotchas to avoid)Optional validation: Briefly summarize findings and ask if anything looks off or missing before proceeding to planning.
Title & Categorization:
feat: Add user authentication, fix: Cart total calculation)-plan suffix
docs/plans/ for files matching today's date pattern YYYY-MM-DD-\d{3}-feat: Add User Authentication → 2026-01-21-001-feat-add-user-authentication-plan.mdStakeholder Analysis:
Content Planning:
After planning the issue structure, run SpecFlow Analyzer to validate and refine the feature specification:
SpecFlow Analyzer Output:
Select how comprehensive you want the issue to be, simpler is mostly better.
Best for: Simple bugs, small improvements, clear features
Includes:
Structure:
---
title: [Issue Title]
type: [feat|fix|refactor]
status: active
date: YYYY-MM-DD
origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md # if originated from brainstorm, otherwise omit
---
# [Issue Title]
[Brief problem/feature description]
## Acceptance Criteria
- [ ] Core requirement 1
- [ ] Core requirement 2
## Context
[Any critical information]
## MVP
### test.rb
```ruby
class Test
def initialize
@name = "test"
end
end
```
## Sources
- **Origin brainstorm:** [docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md](path) — include if plan originated from a brainstorm
- Related issue: #[issue_number]
- Documentation: [relevant_docs_url]
Best for: Most features, complex bugs, team collaboration
Includes everything from MINIMAL plus:
Structure:
---
title: [Issue Title]
type: [feat|fix|refactor]
status: active
date: YYYY-MM-DD
origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md # if originated from brainstorm, otherwise omit
---
# [Issue Title]
## Overview
[Comprehensive description]
## Problem Statement / Motivation
[Why this matters]
## Proposed Solution
[High-level approach]
## Technical Considerations
- Architecture impacts
- Performance implications
- Security considerations
## System-Wide Impact
- **Interaction graph**: [What callbacks/middleware/observers fire when this runs?]
- **Error propagation**: [How do errors flow across layers? Do retry strategies align?]
- **State lifecycle risks**: [Can partial failure leave orphaned/inconsistent state?]
- **API surface parity**: [What other interfaces expose similar functionality and need the same change?]
- **Integration test scenarios**: [Cross-layer scenarios that unit tests won't catch]
## Acceptance Criteria
- [ ] Detailed requirement 1
- [ ] Detailed requirement 2
- [ ] Testing requirements
## Success Metrics
[How we measure success]
## Dependencies & Risks
[What could block or complicate this]
## Sources & References
- **Origin brainstorm:** [docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md](path) — include if plan originated from a brainstorm
- Similar implementations: [file_path:line_number]
- Best practices: [documentation_url]
- Related PRs: #[pr_number]
Best for: Major features, architectural changes, complex integrations
Includes everything from MORE plus:
Structure:
---
title: [Issue Title]
type: [feat|fix|refactor]
status: active
date: YYYY-MM-DD
origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md # if originated from brainstorm, otherwise omit
---
# [Issue Title]
## Overview
[Executive summary]
## Problem Statement
[Detailed problem analysis]
## Proposed Solution
[Comprehensive solution design]
## Technical Approach
### Architecture
[Detailed technical design]
### Implementation Phases
#### Phase 1: [Foundation]
- Tasks and deliverables
- Success criteria
- Estimated effort
#### Phase 2: [Core Implementation]
- Tasks and deliverables
- Success criteria
- Estimated effort
#### Phase 3: [Polish & Optimization]
- Tasks and deliverables
- Success criteria
- Estimated effort
## Alternative Approaches Considered
[Other solutions evaluated and why rejected]
## System-Wide Impact
### Interaction Graph
[Map the chain reaction: what callbacks, middleware, observers, and event handlers fire when this code runs? Trace at least two levels deep. Document: "Action X triggers Y, which calls Z, which persists W."]
### Error & Failure Propagation
[Trace errors from lowest layer up. List specific error classes and where they're handled. Identify retry conflicts, unhandled error types, and silent failure swallowing.]
### State Lifecycle Risks
[Walk through each step that persists state. Can partial failure orphan rows, duplicate records, or leave caches stale? Document cleanup mechanisms or their absence.]
### API Surface Parity
[List all interfaces (classes, DSLs, endpoints) that expose equivalent functionality. Note which need updating and which share the code path.]
### Integration Test Scenarios
[3-5 cross-layer test scenarios that unit tests with mocks would never catch. Include expected behavior for each.]
## Acceptance Criteria
### Functional Requirements
- [ ] Detailed functional criteria
### Non-Functional Requirements
- [ ] Performance targets
- [ ] Security requirements
- [ ] Accessibility standards
### Quality Gates
- [ ] Test coverage requirements
- [ ] Documentation completeness
- [ ] Code review approval
## Success Metrics
[Detailed KPIs and measurement methods]
## Dependencies & Prerequisites
[Detailed dependency analysis]
## Risk Analysis & Mitigation
[Comprehensive risk assessment]
## Resource Requirements
[Team, time, infrastructure needs]
## Future Considerations
[Extensibility and long-term vision]
## Documentation Plan
[What docs need updating]
## Sources & References
### Origin
- **Brainstorm document:** [docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md](path) — include if plan originated from a brainstorm. Key decisions carried forward: [list 2-3 major decisions from brainstorm]
### Internal References
- Architecture decisions: [file_path:line_number]
- Similar features: [file_path:line_number]
- Configuration: [file_path:line_number]
### External References
- Framework documentation: [url]
- Best practices guide: [url]
- Industry standards: [url]
### Related Work
- Previous PRs: #[pr_numbers]
- Related issues: #[issue_numbers]
- Design documents: [links]
Content Formatting:
<details> tagsCross-Referencing:
Code & Examples:
# Good example with syntax highlighting and line references
```ruby
# app/services/user_service.rb:42
def process_user(user)
# Implementation here
end
```
# Collapsible error logs
<details>
<summary>Full error stacktrace</summary>
`Error details here...`
</details>
AI-Era Considerations:
Brainstorm cross-check (if plan originated from a brainstorm):
Before finalizing, re-read the brainstorm document and verify:
origin: frontmatter field points to the brainstorm filePre-submission Checklist:
REQUIRED: Write the plan file to disk before presenting any options.
mkdir -p docs/plans/
# Determine daily sequence number
today=$(date +%Y-%m-%d)
last_seq=$(ls docs/plans/${today}-*-plan.md 2>/dev/null | grep -oP "${today}-\K\d{3}" | sort -n | tail -1)
next_seq=$(printf "%03d" $(( ${last_seq:-0} + 1 )))
Use the Write tool to save the complete plan to docs/plans/YYYY-MM-DD-NNN-<type>-<descriptive-name>-plan.md (where NNN is $next_seq from the bash command above). This step is mandatory and cannot be skipped — even when running as part of LFG/SLFG or other automated pipelines.
Confirm: "Plan written to docs/plans/[filename]"
Pipeline mode: If invoked from an automated workflow (LFG, SLFG, or any disable-model-invocation context), skip all AskUserQuestion calls. Make decisions automatically and proceed to writing the plan without interactive prompts.
Filename: Use the date, daily sequence number, and kebab-case filename from Step 2 Title & Categorization.
docs/plans/YYYY-MM-DD-NNN-<type>-<descriptive-name>-plan.md
Examples:
docs/plans/2026-01-15-001-feat-user-authentication-flow-plan.mddocs/plans/2026-02-03-001-fix-checkout-race-condition-plan.mddocs/plans/2026-03-10-002-refactor-api-client-extraction-plan.mddocs/plans/2026-01-15-feat-thing-plan.md (missing sequence number, not descriptive)docs/plans/2026-01-15-001-feat-new-feature-plan.md (too vague - what feature?)docs/plans/2026-01-15-001-feat: user auth-plan.md (invalid characters - colon and space)docs/plans/feat-user-auth-plan.md (missing date prefix and sequence number)After writing the plan file, use the AskUserQuestion tool to present these options:
Question: "Plan ready at docs/plans/YYYY-MM-DD-NNN-<type>-<name>-plan.md. What would you like to do next?"
Options:
/deepen-plan - Enhance each section with parallel research agents (best practices, performance, UI)/ce:work - Begin implementing this plan locally/ce:work on remote - Begin implementing in Claude Code on the web (use & to run in background)Based on selection:
open docs/plans/<plan_filename>.md to open the file in the user's default editor/deepen-plan → Call the /deepen-plan command with the plan file path to enhance with researchdocument-review skill.CONTENT=$(cat docs/plans/<plan_filename>.md)
TITLE="Plan: <plan title from frontmatter>"
RESPONSE=$(curl -s -X POST https://www.proofeditor.ai/share/markdown \
-H "Content-Type: application/json" \
-d "$(jq -n --arg title "$TITLE" --arg markdown "$CONTENT" --arg by "ai:compound" '{title: $title, markdown: $markdown, by: $by}')")
PROOF_URL=$(echo "$RESPONSE" | jq -r '.tokenUrl')
Display: View & collaborate in Proof: <PROOF_URL> — skip silently if curl fails. Then return to options./ce:work → Call the /ce:work command with the plan file path/ce:work on remote → Run /ce:work docs/plans/<plan_filename>.md & to start work in background for Claude Code webNote: If running /ce:plan with ultrathink enabled, automatically run /deepen-plan after plan creation for maximum depth and grounding.
Loop back to options after Simplify or Other changes until user selects /ce:work or another action.
When user selects "Create Issue", detect their project tracker from CLAUDE.md:
Check for tracker preference in user's CLAUDE.md (global or project):
project_tracker: github or project_tracker: linearIf GitHub:
Use the title and type from Step 2 (already in context - no need to re-read the file):
gh issue create --title "<type>: <title>" --body-file <plan_path>
If Linear:
linear issue create --title "<title>" --description "$(cat <plan_path>)"
If no tracker configured: Ask user: "Which project tracker do you use? (GitHub/Linear/Other)"
project_tracker: github or project_tracker: linear to their CLAUDE.mdAfter creation:
/ce:workNEVER CODE! Just research and write the plan.
tools
macOS GUI automation CLI. Use steer to see the screen, click elements, type text, send hotkeys, scroll, drag, manage windows and apps, run OCR on Electron apps, and wait for UI conditions.
testing
Ship workflow: merge main, run tests, review diff, bump VERSION, update CHANGELOG, commit, push, create PR.
testing
Import cookies from your real browser (Comet, Chrome, Arc, Brave, Edge) into the headless browse session. Opens an interactive picker UI where you select which cookie domains to import. Use before QA testing authenticated pages.
development
Weekly engineering retrospective. Analyzes commit history, work patterns, and code quality metrics with persistent history and trend tracking. Team-aware: breaks down per-person contributions with praise and growth areas.