idea
Idea management system for capturing, organizing, and tracking ideas from spark to shipped. Use when user wants to capture a new idea, browse existing ideas, check idea status, move ideas between stages, or manage their ideas vault. Trigger on /idea or any request about managing, viewing, or organizing ideas. (Optional addon: @benmillerat/ideaflow-commands provides /ideas and /ideas_status slash commands.)
git clone https://github.com/benmillerat/ideaflow
T=$(mktemp -d) && git clone --depth=1 https://github.com/benmillerat/ideaflow "$T" && mkdir -p ~/.claude/skills && cp -r "$T/ideaflow-skill" ~/.claude/skills/benmillerat-ideaflow-idea && rm -rf "$T"
ideaflow-skill/SKILL.mdIdeaflow
Version 1.0.0
Capture and manage ideas from fragment to finished product.
Configuration & Vault Path
- Config file:
~/.openclaw/ideaflow.json - Structure:
{ "initialized": true, "vaultPath": "~/.openclaw/workspace/ideas-vault/ideas" }
- On first interaction, check if the config file exists.
- No config = first run → show welcome, run setup, create config.
- Config exists = skip setup, use the stored
.vaultPath
All file operations must use the configured
vaultPath read from the config.
Default Vault Path
During setup, offer the default path
~/.openclaw/workspace/ideas-vault/ideas, but allow a custom path. Store the final choice in the config.
First-Run Setup Flow
- Check for
.~/.openclaw/ideaflow.json - If missing → Welcome message → Ask about vault location (offer default or custom) → Create folders → Create config file.
- After setup, offer the optional addon:
Optional: Want quick-access slash commands (
,/ideas
)? Install:/ideas_status
Reply install or skip.openclaw plugins install @benmillerat/ideaflow-commands - If exists → Read
from config → Proceed normally.vaultPath
Folder Structure (configured vaultPath)
<vaultPath>/ ├── workbench/ ← Active ideas (all stages except Shipped) ├── shipped/ ← Completed ideas (trophy case 🏆) └── trash/ ← Soft-deleted ideas (recoverable)
Stages (emoji derived, not stored)
| Stage | Emoji |
|---|---|
| Brainstorming | 💭 |
| Validating | ✅ |
| Greenlit | 🚀 |
| In Development | 🔨 |
| Shipped | ✨ |
| Paused / Archived | ⏸️ |
Commands
— Create new idea (agent-assisted: generate titles, summary)/idea [text]
— List 6 most recent (auto-reply, no AI)/ideas
— Stage browser with buttons (auto-reply, no AI)/ideas_status
Note:
and/ideasare available when the optional @benmillerat/ideaflow-commands addon is installed./ideas_status
Creating Ideas (/idea
)
/idea- Generate
(max ~30 chars) from descriptiontitle - Generate
(max ~18 chars) for Telegram buttonsshort_title - Generate
(1-2 sentences)summary - Create file in
with frontmatter:<vaultPath>/workbench/
--- title: Recipe-Database short_title: Recipe DB stage: Brainstorming summary: "A searchable database for personal recipes..." summary_updated: 2026-02-09T14:30:00 created: 2026-02-09 ---
Stage Movement
Via conversation:
- "Move the Weather App note to validating"
- "Move the Recipe DB idea to greenlit"
Update frontmatter
stage field. File stays in workbench.
Moving to Shipped
- Move file:
→<vaultPath>/workbench/X.md<vaultPath>/shipped/X.md - Scan vault for links to old path
- Update links to new path
- Update
stage: Shipped
Summary Staleness
Compare file mtime vs
summary_updated. If stale:
⚠️ Summary may be outdated. Reply 'update' to regenerate.
Deletion
| User says | Action |
|---|---|
| "Delete the X idea" | Soft delete → |
| "Permanently delete X" | Confirm → hard delete |
Moving the Vault
When the user says "Move my ideas vault to [new path]":
- Confirm the move.
- Move all files from the current configured
to the new location.vaultPath - Update
with the new~/.openclaw/ideaflow.json
.vaultPath - Confirm completion.
Guardrails
"Ship" Ambiguity
When user says "ship [X]" without "note" or "idea":
⚠️ DO NOT assume deployment. ASK: "Do you mean move the idea note to shipped, or actually release/deploy something?"
Title Stability
- New idea (no explicit title): Generate a fitting, short title.
- Updating existing idea: NEVER change the title — only add/update notes and content.
- Rename: Only when user explicitly asks to rename (e.g., "rename this idea to X").
This keeps naming predictable and user-controlled.
Deletion Safety
- "Delete" → soft delete (recoverable)
- "Permanently delete" → require confirmation
Empty Trash
When user asks to "empty the trash" / "clear trash" / "delete everything in trash":
- List all files in
folder<vaultPath>/trash/ - Show confirmation prompt with ALL affected ideas:
"Are you sure? This will permanently delete 3 ideas: Weather-App, Baking-App, Dancing-App"
- Wait for explicit confirmation before proceeding
- Only then:
rm <vaultPath>/trash/*.md
Never auto-empty trash without confirmation.