把重要想法发展成可追溯、AI 友好的 Markdown
记忆
idea-manager
试用A structured command-line tool for managing your ideas, proposals, todos, and wishlist items with validation and drift prevention. Reads and writes IDEAS.md, creates archive files under memory/, and supports alternate target files via --file. Use when someone asks to "show idea list", "review ideas", "add new idea", "update idea status", "delete idea", or "archive completed ideas", or discusses idea tracking or knowledge management.
它能做什么
A structured command-line tool for managing your ideas, proposals, todos, and wishlist items with validation and drift prevention. Reads and writes IDEAS.md, creates archive files under memory/, and supports alternate target files via --file. Use when someone asks to "show idea list", "review ideas", "add new idea", "update idea status", "delete idea", or "archive completed ideas", or discusses idea tracking or knowledge management.
技能文档
Requirements
| Binary | Purpose |
|---|---|
python3 | Run the idea-manager script |
IDEA Manager
Structured manager for IDEAS.md — prevents drift and enforces consistent conventions for tracking ideas, learnings, and proposals.
Intentions → Commands
| User wants to... | Command |
|---|---|
| See the idea list (uncompleted) | idea-manager report |
| Review all ideas | idea-manager read |
| Filter by status | idea-manager read --status active |
| Search by keyword | idea-manager read --search cron |
| Add a new idea (auto ID) | idea-manager write --auto-id --title ... --priority high |
| Add a new idea (JSON) | idea-manager write --json {"id":"IDEA-NNN","title":"..."} |
| Update an idea status | idea-manager edit --id IDEA-NNN --status completed |
| Delete an idea | idea-manager delete --id IDEA-NNN --decision reason |
| Archive / reindex | idea-manager archive |
| See summary statistics | idea-manager status |
Quick Reference
| User wants... | Do this |
|---|---|
| List all ideas | idea-manager read |
| Find specific idea | idea-manager read --id IDEA-001 |
| Search for keyword | idea-manager read --search "keyword" |
| Filter by status | idea-manager read --status active |
| Add new idea (CLI) | idea-manager write --id IDEA-001 --title "..." --priority high |
| Add new idea (JSON) | idea-manager write --json '{"id":"...","title":"..."}' (must include id and title) |
| Update idea status | idea-manager edit --id IDEA-001 --status completed |
| Delete an idea | idea-manager delete --id IDEA-001 --decision "Replaced by LRN-20260822-001" |
| Archive completed items | idea-manager archive (moves completed to memory/IDEAS-Archive-YYYY-MM-DD.md, reindexes) |
| See summary stats | idea-manager status |
| Export stats as JSON | idea-manager status --json |
| Export as JSON | idea-manager read --json |
| Generate report (markdown) | idea-manager report |
| Export report as JSON | idea-manager report --json |
| Report sorted by ID ascending | idea-manager report --sort id-asc |
| Report sorted by status | idea-manager report --sort status |
Trigger Phrases
When the user says any of these, run idea-manager report to generate a markdown table of non-completed items:
- What's on the idea list?
- Review idea list
- Idea list
- Review IDEAS.md
- Unfinished ideas from IDEAS.md
- Status of ideas
- Idea list status
- What ideas are not completed?
Important Rules
-
Always use structured fields — Never manually edit IDEAS.md. Use
idea-managerto ensure consistency and prevent corruption. -
ID format matters — Use
DOMAIN-NNNformat (e.g.,IDEA-001,TOOL-003,SKL-010). IDs must be unique. -
Status lifecycle — Follow:
active→pending/blocked→completed/superseded. Never skip statuses. -
Atomic updates only — The tool uses tempfile + atomic move to prevent partial writes that can corrupt the file.
-
Document decisions — When marking an idea
completedorsuperseded, use--decisionto record why and what replaced it. -
JSON schema validation — When using
--jsonflag, input must be a JSON object containing bothidandtitlefields. Well-formed JSON that doesn't match this schema (e.g.,openclaw.json) will be rejected with a clear error message.
Workflow Modes
Add New Idea
idea-manager write \
--id IDEA-001 \
--title "Add cron failure alerts" \
--priority high \
--status active \
--area cron,monitoring \
--source "User request" \
--details "Configure failureAlert on all cron jobs with Telegram notifications."
Required: --id, --title
Recommended: --priority, --status, --area, --details
Auto-Generate ID
Instead of specifying an explicit ID, use --auto-id to have the script calculate the next available IDEA-NNN sequence number:
idea-manager write --auto-id --title "Add cron failure alerts" --priority high --status active
This scans existing entries, finds the highest IDEA-NNN number, and generates the next one. Useful for interactive use where you don't want to manually track IDs.
Update Existing Idea
# Change status
idea-manager edit --id IDEA-001 --status completed
# Update with decision
idea-manager edit --id IDEA-001 \
--status superseded \
--decision "Replaced by LRN-20260810-002" \
--details "New approach uses built-in failureAlert instead of custom monitoring."
Delete an Idea
# Delete with a decision reason
idea-manager delete --id IDEA-001 --decision "Replaced by LRN-20260822-001"
The --decision flag records why the idea was removed (recommended). The entry is permanently removed from IDEAS.md.
Archive Completed Items
# Archive all completed entries, reindex remaining
idea-manager archive
# Archive entries of a specific status
idea-manager archive # archives completed items only; --status is restricted to 'completed'
Moves matching entries to memory/IDEAS-Archive-YYYY-MM-DD.md, removes them from IDEAS.md, and reindexes the remaining entries sequentially (IDEA-001, IDEA-002, …). The --decision field is included in the archive record when present.
Review and Search
# All active ideas
idea-manager read --status active
# Specific domain
idea-manager read --area cron
# Export for processing
idea-manager read --status active --json | jq '.[] | select(.priority=="high")'
Summary Statistics
idea-manager status
Output shows total count, distribution by status/priority/area.
Field Reference
| Field | Values | Purpose |
|---|---|---|
id | e.g., IDEA-001 | Unique identifier |
title | string | Short description |
logged | ISO date | When logged (auto) |
priority | low/medium/high/critical | Importance |
status | active/pending/completed/superseded/blocked | Current state |
area | comma-separated | Domain(s) affected |
source | string | Origin of idea |
recurrence_count | integer | Times pattern repeated |
first_seen / last_seen | ISO dates | Pattern timeframe |
related_files | comma-separated | Files touched |
pattern_key | string | For recurring patterns |
tags | comma-separated | Free-form tags |
decision | string | Final outcome |
owner | string | Responsible person |
details | text | Full description |
Gotchas
-
Don't edit IDEAS.md directly — Manual edits bypass validation and can cause format drift. Always use
idea-manager. -
ID collisions — The tool checks for duplicate IDs and will refuse to create conflicting entries.
-
JSON output for scripting — Use
--jsonflag when piping to other tools or processing programmatically. -
Delete is permanent —
idea-manager deleteremoves the entry fromIDEAS.mdand rewrites the file. The content is recoverable from git history. -
Archive reindexes —
idea-manager archivereassigns sequential IDs to remaining entries. Old IDs are recorded in the archive file and the ID mapping is printed. Anyrelated_filesreferences are updated automatically. -
Status meanings:
active: Currently being worked on or relevantpending: Waiting on something externalblocked: Cannot proceed due to dependencycompleted: Resolved/implementedsuperseded: Replaced by better approach
Reference: IDEAS.md Format
The file uses a consistent markdown format with frontmatter-like metadata:
## [IDEA-001] Add cron failure alerts
**Logged**: 2026-08-10T12:30:00Z
**Priority**: high
**Status**: active
**Area**: cron,monitoring
**Source**: User request
**Pattern-Key**: cron.failure-alert
Configure failureAlert on all cron jobs...
This format is automatically generated and parsed by idea-manager. Do not modify it manually.
Scripts
scripts/— Contains the Python implementation (idea_manager.py)
The tool is installed as idea-manager command. IDEAS.md is user data — it is auto-created on first run and lives in the workspace root. It is gitignored (not tracked in git), so each user gets their own fresh file.
Use --file /path/to/IDEAS.md to point the tool at a different file.
Further Reading
IDEAS.mdin the workspace root for all current tracked ideas.
相关技能
Persistent TODO scratch pad for tracking tasks across sessions. Use when the user asks to add, list, complete, remove, or summarize tasks in a portable workspace Markdown file. Uses stable task IDs and exact matching; heartbeat reporting is opt-in and count-only.
Convert the user's raw, unstructured, possibly disorganized thoughts (rambling, out-of-order, half-finished ideas) into a clear, structured, actionable prompt. Use whenever the user dumps a stream-of-consciousness input and wants it turned into something usable — whether a coding/dev task, a content task (scripts, product descriptions), or any general request. If critical information is missing or ambiguous in a way that would send the output in a fundamentally wrong direction, ask 1-3 targeted clarifying questions before producing the final structured prompt. Trigger on phrases like "我有一堆想法", "帮我整理一下", "转成提示词", "我想说的是", or when the user's message is clearly unstructured brainstorming rather than a direct request.
Coordinate Todo tasks across AI agents through Git
Don't just save ideas - trace how they mature. Use when a user wants to follow how an important idea was shaped by later conversations, work, projects, and l...
Track habits, routines, streaks, completions, reminders, and weekly progress with a local Node.js CLI. Use when the user wants to build a daily habit system,...