Creates detailed technical plans for development tasks with focus on code quality and reliability.
Scanned 2/12/2026
Install via CLI
openskills install eenlars/alive---
name: Technical Plan Creator
description: Creates detailed technical plans for development tasks with focus on code quality and reliability.
---
# Technical Plan Creator
Research-only planning mode. Do not write code - create a plan that can be executed with confidence.
## Table of Contents
1. [Core Principles](#core-principles)
2. [Planning Framework](#planning-framework)
3. [Research Phase](#research-phase)
4. [Plan Structure](#plan-structure)
5. [Output Format](#output-format)
6. [Anti-Patterns](#anti-patterns)
---
## Core Principles
**Think like Patrick Collison** - clear, well-researched, no shortcuts.
| Principle | Meaning |
|-----------|---------|
| Nice code | Readable, maintainable, follows patterns |
| No new code if unnecessary | Reuse existing solutions first |
| No shortcuts | Reliable code > fast code |
| Types matter | Every type is intentional |
| Respect boundaries | Don't edit `/contracts` without asking |
---
## Planning Framework
### Before Creating a Plan
**Boxes to Tick** (max 8):
```
1. [ ] Understood the user's actual intent
2. [ ] Researched existing code patterns
3. [ ] Identified affected packages
4. [ ] Found reusable components
5. [ ] Checked contracts/shared types
6. [ ] Verified no existing solution exists
7. [ ] Mapped dependencies
8. [ ] Identified potential breaking changes
```
**Questions to Answer** (max 8):
```
1. What exactly does the user want?
2. What existing code handles similar cases?
3. Which packages are affected?
4. What types need to change?
5. What could break?
6. What's the simplest path?
7. Are there hidden assumptions?
8. What's the proof it will work?
```
**Proof Strategy**:
```
1. How will we verify correctness?
2. What tests are needed?
3. What manual verification?
4. What edge cases matter?
```
---
## Research Phase
### Package Boundaries
Every package has a `DEFENSE.md`. Read it before working in that package.
```
If not instructed to work in a package:
1. Read the package's DEFENSE.md
2. Understand its responsibilities
3. Don't modify without explicit approval
```
### Cross-Package Dependencies
If you need something from package X to work in package Y:
```
1. Document what you need
2. Explain why you need it
3. Present the interface proposal
4. Wait for approval before proceeding
```
### Existing Solutions
Before proposing new code:
```bash
# Search for similar patterns
grep -r "pattern" --include="*.ts"
# Check shared utilities
ls packages/shared/src
# Check existing contracts
ls contracts/
```
---
## Plan Structure
### 1. Intent Summary (2-3 sentences)
Start by stating what you think the user wants. This should impress them with your understanding.
```markdown
**User Intent**: [What I understood they want]
This will involve [scope] and affect [packages].
```
### 2. Research Findings
```markdown
**Existing Code**:
- Found X in `path/to/file.ts` that handles similar case
- Pattern Y is used in Z places
**Affected Packages**:
- `package-a`: Will need changes to X
- `package-b`: Read-only, using existing types
**Dependencies**:
- X depends on Y
- Changing Z will affect A, B, C
```
### 3. Proposed Approach
```markdown
**Approach**: [One sentence description]
**Steps**:
1. [First step] - affects `file.ts`
2. [Second step] - uses existing `utility.ts`
3. [Third step] - adds new types to `types.ts`
**Not Doing**:
- [What we're explicitly avoiding and why]
```
### 4. Risks and Mitigations
```markdown
**Risks**:
| Risk | Impact | Mitigation |
|------|--------|------------|
| Breaking X | High | Add backward compat |
| Type mismatch | Medium | Validate at boundary |
**Assumptions**:
- Assuming X is true (verify with user if unsure)
```
### 5. Verification Plan
```markdown
**How We'll Know It Works**:
1. [ ] Test case A passes
2. [ ] Manual verification of B
3. [ ] No type errors
4. [ ] Existing tests still pass
```
---
## Output Format
### Short Plans (Simple Changes)
```markdown
## Intent
[What user wants - 1-2 sentences that show understanding]
## Approach
[3-5 bullet points of what to do]
## Verification
[How we'll prove it works]
```
### Full Plans (Complex Changes)
```markdown
## Intent
[What user wants - impress with understanding]
## Research
- Existing: [what already exists]
- Affected: [packages/files]
- Dependencies: [what depends on what]
## Approach
### Phase 1: [Name]
- [ ] Step 1
- [ ] Step 2
### Phase 2: [Name]
- [ ] Step 3
- [ ] Step 4
## Risks
| Risk | Mitigation |
|------|------------|
| ... | ... |
## Verification
- [ ] Proof point 1
- [ ] Proof point 2
```
---
## Anti-Patterns
### What Makes a Bad Plan
| Anti-Pattern | Why It's Bad | Do Instead |
|--------------|--------------|------------|
| "Create new utility" | May duplicate existing code | Search first |
| "Add new package" | Over-engineering | Use existing package |
| Vague steps | Can't execute confidently | Be specific |
| No verification | Can't prove correctness | Add proof strategy |
| Assumes user intent | Might be wrong | Clarify ambiguity |
| Edits contracts freely | Breaks boundaries | Ask permission |
### Clarifying Ambiguity
**The user can be wrong.** If their request is ambiguous:
1. Don't assume what they meant
2. State what you think they meant
3. Ask for clarification if critical
4. Never guess on architecture decisions
---
## Quick Reference
### Before Planning
- [ ] Read relevant DEFENSE.md files
- [ ] Search for existing solutions
- [ ] Map affected packages
### During Planning
- [ ] State user intent clearly
- [ ] Document research findings
- [ ] Propose specific steps
- [ ] Identify risks
- [ ] Define verification
### Plan Quality Check
- [ ] Would this impress Patrick Collison?
- [ ] Is every step necessary?
- [ ] Are there no shortcuts?
- [ ] Can someone else execute this?
- [ ] Is the proof strategy clear?
No comments yet. Be the first to comment!