'description: Imagine (Idea Intake) — Start or refine an idea. If given
Scanned 9/2/2026
Install to Claude Code
npx -y skills add majiayu000/claude-skill-registry --skill imagine --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Imagine?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-imagine)More formats (shields.io, HTML) on the badges page.
---
name: imagine
description: 'description: Imagine (Idea Intake) — Start or refine an idea. If given
free-form text, create a new IDEA-XXXX folder, ask clarifying questions, draft idea.md,
then (after user review) save to inputs/idea.md and log the run.'
---
---
name: Imagine
description: Imagine (Idea Intake) — Start or refine an idea. If given free-form text, create a new IDEA-XXXX folder, ask clarifying questions, draft idea.md, then (after user review) save to inputs/idea.md and log the run.
argument-hint: >-
<initial idea text OR existing IDEA_ID> (examples: build a docs-first backlog generator | IDEA-0007-my-idea)
disable-model-invocation: false
---
# Imagine — Idea Intake (Interactive)
## Invocation
Run this command with either:
- **A free-form initial idea** (recommended):
- `/imagine <initial idea text...>`
OR
- An **existing idea folder id** to refine the current idea:
- `/imagine <IDEA_ID>`
Where:
- `$ARGUMENTS` may contain spaces if you pass an initial idea text.
- If `$ARGUMENTS` is empty, STOP and ask the user to rerun with an initial idea (or an IDEA_ID).
---
## Resolve IDEA_ID (required)
Before using any paths, resolve or create the idea folder:
- If `$ARGUMENTS` matches `^IDEA-\\d{4}(-.*)?$`, treat it as `IDEA_REF` and call `vf.resolve_idea_id` with `idea_ref = $ARGUMENTS`.
- Otherwise, treat `$ARGUMENTS` as free-form idea text and call `vf.create_idea_from_text` with `initial_text = $ARGUMENTS`.
- Store the returned `idea_id` as `IDEA_ID`.
- Use `IDEA_ID` for all paths, YAML headers, and run log entries.
---
## Goal
Turn a rough idea into a **first, reviewable** `idea.md` stored at:
- `docs/forge/ideas/<IDEA_ID>/inputs/idea.md`
This command is **interactive** by default:
- Phase 1: draft an idea.md + ask clarifying questions
- Phase 2: after user replies, save the final `idea.md` and capture answers for future stages
---
## Canonical paths (repo-relative)
Ideas root:
- `docs/forge/ideas/`
Per-idea root:
- `docs/forge/ideas/<IDEA_ID>/`
Inputs:
- `docs/forge/ideas/<IDEA_ID>/inputs/idea.md` (final target)
- `docs/forge/ideas/<IDEA_ID>/inputs/imagine_questions.md` (generated)
- `docs/forge/ideas/<IDEA_ID>/inputs/imagine_answers.md` (captured; append-only)
History:
- `docs/forge/ideas/<IDEA_ID>/runs/<RUN_ID>/imagine_questions.md`
- `docs/forge/ideas/<IDEA_ID>/runs/<RUN_ID>/idea_draft.md`
- `docs/forge/ideas/<IDEA_ID>/runs/<RUN_ID>/idea_final.md`
Per-idea logs:
- `docs/forge/ideas/<IDEA_ID>/run_log.md` (append-only)
- `docs/forge/ideas/<IDEA_ID>/manifest.md` (rolling status)
---
## Directory handling
Ensure these directories exist (create them if missing):
- `docs/forge/ideas/`
- `docs/forge/ideas/<IDEA_ID>/inputs/`
- `docs/forge/ideas/<IDEA_ID>/runs/<RUN_ID>/`
If you cannot create directories or write files directly, output the artifacts as separate markdown blocks labeled with their target filenames and include a short note listing missing directories.
---
## Step 0 — Resolve or create IDEA_ID
Use the tool-based resolution logic from **Resolve IDEA_ID (required)** above, then proceed:
- If `docs/forge/ideas/<IDEA_ID>/inputs/idea.md` exists, use it as the base idea.
- If it does not exist, proceed as a new idea using the resolved/created `IDEA_ID`.
---
## Step 1 — Create the idea workspace (if missing)
Ensure per-idea files exist:
- `docs/forge/ideas/<IDEA_ID>/run_log.md` (create if missing; can start empty)
- `docs/forge/ideas/<IDEA_ID>/manifest.md` (create if missing; template below)
---
## Step 2 — Run identity
Generate:
- `RUN_ID` as a filesystem-safe id (Windows-safe, no `:`), e.g.:
- `2026-01-14T05-22-41Z_imagine-8f3c`
Also capture:
- `generated_at` as ISO-8601 time (may include timezone offset)
---
## Step 3 — Gather context
### If refining an existing idea
Include file contents in context:
- Existing idea (if present):
@docs/forge/ideas/<IDEA_ID>/inputs/idea.md
### If creating a new idea
Use `$ARGUMENTS` (initial idea text) as the base.
---
## Step 4 — Produce clarifying questions
Create **5–12 questions**, optimized to reduce ambiguity without over-scoping.
Guidance:
- Prefer questions that resolve: target user, core problem, non-goals, constraints, MVP vs later, inputs/outputs.
- Avoid implementation rabbit holes unless the idea explicitly mentions them.
- If the idea implies a framework/tooling product, ask about: audience, intended workflow, what “done†looks like.
Write questions to:
- `docs/forge/ideas/<IDEA_ID>/inputs/imagine_questions.md` (overwrite allowed)
- `docs/forge/ideas/<IDEA_ID>/runs/<RUN_ID>/imagine_questions.md`
---
## Step 5 — Draft `idea.md` (REVIEWABLE)
Create a **draft** idea document based on:
- the base idea (existing idea.md or initial text)
- reasonable assumptions clearly marked
- TODO markers where answers are needed
Write draft to:
- `docs/forge/ideas/<IDEA_ID>/runs/<RUN_ID>/idea_draft.md`
Do NOT write to `inputs/idea.md` yet.
---
## Step 6 — Ask the user and stop (Phase 1)
In chat, present:
1) The generated questions as a numbered list.
2) A short note: “Reply with answers in the same numbered format. Optionally include edits to the draft idea.â€
3) Also present the **draft idea** (or a short summary + tell where it was saved, depending on tool limits).
Then append a run_log entry with:
- Status: `NEEDS_USER_INPUT`
- Run-ID: `<RUN_ID>`
- Outputs so far: `inputs/imagine_questions.md`, `runs/<RUN_ID>/idea_draft.md`
STOP and wait for the user reply.
---
## Phase 2 — Capture answers, finalize `inputs/idea.md`
When the user replies:
### Step 7 — Persist answers (append-only)
Append the user’s answers to:
- `docs/forge/ideas/<IDEA_ID>/inputs/imagine_answers.md`
Format:
```md
### <ISO-8601> — Answers for <RUN_ID>
<user answers verbatim, lightly formatted if needed>
```
---
### Step 8 — Produce final `idea.md`
Update the draft by incorporating answers:
- Replace TODOs with decisions
- Move information into correct sections
- Keep scope stable; do not add new requirements beyond what the user confirmed
- If something remains unclear, keep it in an “Open Questions†section (but keep it short)
Write final to BOTH:
- `docs/forge/ideas/<IDEA_ID>/inputs/idea.md` (overwrite allowed)
- `docs/forge/ideas/<IDEA_ID>/runs/<RUN_ID>/idea_final.md`
---
### Step 9 — Update logs + manifest
Append a SUCCESS entry to:
- `docs/forge/ideas/<IDEA_ID>/run_log.md`
And create/update manifest:
- if `manifest.md` exists, update only the keys under `Idea` section
---
## Output Format: `idea.md` (Markdown + YAML header)
Write `idea.md` with a YAML header followed by sections.
### YAML header (example)
```yaml
---
doc_type: idea
idea_id: "<IDEA_ID>"
generated_by: "Imagine (Idea Intake)"
generated_at: "<ISO-8601>"
run_id: "<RUN_ID>"
source:
- "user_input ($ARGUMENTS or existing inputs/idea.md)"
qa:
questions: "inputs/imagine_questions.md"
answers: "inputs/imagine_answers.md (appended)"
status: "Draft"
---
```
### Recommended sections
# Idea
## One-liner
(1 sentence)
## Problem / Motivation
- ...
## Target Users
- ...
## Goals
- ...
## Non-Goals
- ...
## Constraints
- ...
## Inputs
- ...
## Outputs
- ...
## High-level Workflow
1. ...
2. ...
## Success Criteria
- ...
## Open Questions (if any)
- ...
---
## Logging Requirements: `run_log.md` (append-only)
Append entries with this shape:
### Phase 1 (needs input)
```md
### <ISO-8601 timestamp> — Imagine (Idea Intake)
- Idea-ID: <IDEA_ID>
- Run-ID: <RUN_ID>
- Mode: new | refine
- Inputs:
- user_input ($ARGUMENTS) OR inputs/idea.md (if refining)
- Outputs:
- inputs/imagine_questions.md
- runs/<RUN_ID>/imagine_questions.md
- runs/<RUN_ID>/idea_draft.md
- Status: NEEDS_USER_INPUT
- Notes:
- <1–3 bullets on main unknowns>
```
### Phase 2 (finalized)
```md
### <ISO-8601 timestamp> — Imagine (Idea Intake) — Finalize
- Idea-ID: <IDEA_ID>
- Run-ID: <RUN_ID>
- Outputs:
- inputs/imagine_answers.md (appended)
- inputs/idea.md
- runs/<RUN_ID>/idea_final.md
- Status: SUCCESS | SUCCESS_WITH_WARNINGS | FAILED
- Notes:
- <1–5 bullets on key decisions captured>
```
---
## Manifest template (if creating new)
```md
# Manifest — <IDEA_ID>
## Idea
- idea_status: Draft
- last_updated: <YYYY-MM-DD>
- last_run_id: <RUN_ID>
- latest_inputs:
- inputs/idea.md
- inputs/imagine_questions.md
- inputs/imagine_answers.md
- notes:
- <optional bullets>
```
---
## Failure handling
If the initial idea is extremely short/vague:
- Still generate questions
- Draft `idea.md` with placeholders/TODOs
- Do not invent details
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!