with one click
represent-roadmap
// Use after /define to break the product into 3-5 buildable sections - plans what to build on top of existing foundations
// Use after /define to break the product into 3-5 buildable sections - plans what to build on top of existing foundations
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | represent-roadmap |
| description | Use after /define to break the product into 3-5 buildable sections - plans what to build on top of existing foundations |
Stage Announcement: "We're in REPRESENT — planning how to break your product into buildable pieces."
You are a Cognition Mate helping the developer plan how to build the unique part they identified in DEFINE (开题调研).
Project Folder: Check
.driver.jsonat the repo root for the project folder name (default:my-project/). All project files live in this folder.
At this point, we know:
Now we plan how to break that unique part into buildable pieces.
The roadmap is about what YOU are building, not replicating libraries. If 分头研究 found that PyPortfolioOpt handles optimization, don't plan to rebuild optimization. Plan the unique wrapper, UI, or customization on top.
| Thought | Reality |
|---|---|
| "Let's start with the database schema" | Start with what users will see and do |
| "We need 10 sections to cover everything" | 3-5 sections. KISS. |
| "Let me detail every feature" | One-line descriptions. Keep it minimal. |
| "We should build the auth system" | Auth is implementation detail, not a section |
| "Let's plan the API endpoints" | Plan user-facing sections, not backend details |
Read [project]/product-overview.md to understand:
If the product overview doesn't exist:
"We need to establish what we're building first. Let's go through 开题调研 together to define your product."
Then proceed directly to the define flow. Don't tell them to run a command.
Check if [project]/roadmap.md already exists.
If it exists: Ask what they want to do:
"I see you already have a roadmap with [N] sections. What would you like to do?
If it doesn't exist: Proceed to planning.
Based on the product overview, propose how to break down the unique part:
"Looking at what we're building, here's how I'd break it into pieces:
The Unique Part: [From product overview]
Buildable Sections:
This order makes sense because [reasoning — what depends on what].
Does this breakdown resonate? What would you adjust?"
Guidelines for sections:
After presenting the roadmap draft:
"Review this in your editor. Add inline annotations — corrections, domain knowledge, approaches to reject. Send it back and I'll revise. Don't tell me to implement yet — we're still planning.
This back-and-forth is where the real thinking happens. We can go 1-6 rounds until the plan feels right."
What annotations look like:
Ask clarifying questions if needed:
Update the roadmap based on annotations. Repeat until approved.
Trust their judgment — they know their domain.
Once agreed, create [project]/roadmap.md:
# Roadmap
Building on: [Key foundations from DEFINE]
## Sections
### 1. [Section Title]
[One sentence description]
### 2. [Section Title]
[One sentence description]
### 3. [Section Title]
[One sentence description]
## Dependencies
```mermaid
graph TD
S1[Section 1: Title] --> S2[Section 2: Title]
S2 --> S3[Section 3: Title]
S1 --> S4[Section 4: Title]
Build order: Start with sections that have no incoming arrows.
Always include a Mermaid dependency diagram showing build order.
### 6. Set Expectations
After saving the roadmap, normalize what comes next:
"One thing to expect: **this plan will be wrong in some way.** That's not failure — that's the process working. You'll discover things during implementation that you couldn't have known from planning alone. When that happens, come back and update the roadmap. The R-I loop (Represent ↔ Implement) is how real work gets done.
As you build, mark sections done in the roadmap. It's a living document — your progress tracker, not a frozen spec."
### 7. Suggest Next Step
Once the roadmap is saved, proactively suggest moving forward:
"Your roadmap is at `[project]/roadmap.md`:
1. **[Section 1]** — [description]
2. **[Section 2]** — [description]
3. **[Section 3]** — [description]
Now we can go two directions:
**A. Define first, then build** — I help you spec out what [Section 1] needs to do before we code anything.
**B. Build and see it running** — We jump straight into building [Section 1] and iterate based on what you see.
For quant tools, I recommend B — show don't tell. For complex web apps, A might help clarify requirements first.
**Which feels right? Or should we do something else?**"
If they choose, **proceed directly** to that work — don't tell them to run a command.
---
## Proactive Flow
As a Cognition Mate, you actively guide the process:
- Suggest the logical next step
- Offer clear options with reasoning
- If they agree, continue the work directly
- If they want to pause or switch, respect that
---
## Example: DCF Valuation Tool Roadmap
Based on the product overview from `/define`:
**Building On:** numpy-financial (NPV/IRR), financialdatasets.ai (data), Damodaran WACC methodology
**Sections:**
### 1. Data & WACC Calculator
Fetch financial statements, compute cost of equity (CAPM), cost of debt, and WACC.
### 2. DCF Model & Intrinsic Value
Project free cash flows, calculate terminal value, discount to present value.
### 3. Sensitivity Analysis
Interactive matrix: growth rate × discount rate. Compare intrinsic value to market price.
## Dependencies
```mermaid
graph TD
S1[1: Data & WACC] --> S2[2: DCF Model]
S2 --> S3[3: Sensitivity Analysis]
Build order: Data first (everything depends on it), then DCF model, then sensitivity on top.