# Ideas

> Capture and integrate improvement ideas for the shared Claude Code and Codex infrastructure. Use when recording an infrastructure enhancement for later review rather than implementing it immediately.

- Skill: `flonat/ideas` (Agent Skill)
- Install (CLI): `npx skillmds@latest add flonat/ideas`
- Raw SKILL.md: https://api.skillmd.com/api/skills/flonat/ideas/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: flonat (https://skillmd.com/u/flonat)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/flonat/ideas

---


# Ideas: Capture & Integrate

> An inbox for improvement ideas — the gap between `[LEARN]` tags (immediate corrections) and `skill-extract` (full skill creation). Captures raw improvement ideas and periodically integrates the best ones into the system.

## Two Modes

| Mode | Trigger | What it does |
|------|---------|-------------|
| **Capture** | `ideas capture [text]` | Append a structured idea entry to `log/ideas.md` |
| **Integrate** | `ideas integrate` | Review unprocessed ideas and turn them into actions |

---

## Mode 1: Capture

### With argument: `ideas capture [text]`

Parse the text and append a structured entry to `log/ideas.md`.

### Without argument: `ideas capture`

Ask interactively:
1. "What's the idea?" (free text)
2. "Where did this come from?" (current session / external repo / user feedback / reading)

### Entry Format

```markdown
## [YYYY-MM-DD] [category] Idea title
- **Quality:** [high] | [medium]
- **Source:** [session | external:repo-name | user-feedback | reading:source]
- **Proposed action:** One-sentence description of what to do
- **Details:** [the idea text, expanded if needed]
- **Status:** unprocessed
```

### Auto-Classification

Classify each idea into one of these categories based on content:

| Category | Signal words / patterns |
|----------|------------------------|
| `[skill-design]` | "new skill", "workflow for", "automate", "slash command" |
| `[rule]` | "always", "never", "enforce", "prevent", "require" |
| `[workflow]` | "process", "steps for", "how to handle", "protocol" |
| `[infrastructure]` | "hook", "MCP", "settings", "permissions", "symlink" |
| `[research]` | "method", "analysis", "paper", "experiment", "data" |

### Quality Rating

| Rating | Criteria |
|--------|----------|
| `[high]` | Specific, actionable, addresses a known friction point or recurring issue |
| `[medium]` | Interesting but needs more thought, or addresses a minor convenience issue |

Skip `[low]` ideas — if it's not worth recording, don't record it.

### After Capture

Confirm: "Idea captured in `log/ideas.md`. You have [N] unprocessed ideas — run `ideas integrate` when ready to act on them."

---

## Mode 2: Integrate

### Trigger: `ideas integrate [since:YYYY-MM-DD] [dryrun]`

### Step 1: Read State

Read `log/.ideas-state.json` to find the last integration date. If `since:` argument is provided, use that instead. If no state file exists, process all entries.

### Step 2: Gather Unprocessed Ideas

Read `log/ideas.md` and collect all entries with `**Status:** unprocessed` (optionally filtered by date).

### Step 3: Classify Each Idea

For each unprocessed idea, classify as:

| Type | Description | Action |
|------|-------------|--------|
| **Direct proposal** | Specific edit to a known file — can be implemented now | Present the edit for approval |
| **Investigation** | Needs research or design before implementation | Create a vault task |
| **Duplicate** | Already covered by an existing skill, rule, or convention | Mark as `duplicate` with reference |
| **Declined** | Not worth pursuing after reflection | Mark as `declined` with reason |

### Step 4: Present for Approval

Show a summary table:

```
| # | Idea | Category | Quality | Proposed action | Classification |
|---|------|----------|---------|-----------------|---------------|
| 1 | ... | [rule] | [high] | ... | Direct proposal |
| 2 | ... | [skill-design] | [medium] | ... | Investigation |
```

Ask: "Which ideas should I act on? (all / numbers / skip)"

### Step 5: Execute Approved Ideas

- **Direct proposals:** Make the edit, following break-the-glass rules for protected files
- **Investigations:** Create a vault task in the Tasks Tracker with:
  - Task name: "Investigate: [idea title]"
  - Source: "Ideas inbox"
  - Priority: High for `[high]` quality, Medium for `[medium]`
  - Description: Full idea text + proposed approach

### Step 6: Update State

Update each processed entry's status in `log/ideas.md`:
- `**Status:** implemented (YYYY-MM-DD)` — direct proposal was executed
- `**Status:** task-created (YYYY-MM-DD)` — vault task created for investigation
- `**Status:** duplicate → [reference]` — already exists
- `**Status:** declined — [reason]` — not worth pursuing

Write `log/.ideas-state.json`:
```json
{
  "last_integration": "YYYY-MM-DD",
  "total_captured": N,
  "total_implemented": N,
  "total_pending": N
}
```

### Dry Run Mode

When `dryrun` is specified, run steps 1-4 only — classify and present, but don't execute or update state. Useful for reviewing the backlog without committing to action.

---

## Important Notes

- Ideas are **not** tasks — they're raw material that may or may not become actionable
- The capture threshold is deliberately low — if something seems worth noting, capture it
- Integration should happen periodically (weekly or when the backlog reaches 10+ ideas)
- This skill complements `[LEARN]` tags (which record corrections) and `skill-extract` (which creates full skills)
- Break-the-glass rules still apply — direct proposals that modify protected files need confirmation

