/idea - Capture Project Idea
SkillDev toolsCapture a lightweight project idea on the board.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the /idea - Capture Project Idea skill
What this skill tells your AI
The instructions your AI receives, as published by indigoai-us/hq-core in .claude/skills/idea/SKILL.md and read by ahel’s review.
Quickly add a project idea to the board. No PRD, no stories — just capture the thought.
Input: $ARGUMENTS
Step 1: Parse Input
Extract from $ARGUMENTS:
--company <slug>or-c <slug>— explicit company override--app <repo-name>— target repo/app (setsscope: "app")- Everything else → idea description text
If $ARGUMENTS is empty and no flags, go to Step 2 (full interview).
If description text is present (>5 words after flag extraction), skip the description question in Step 3.
Step 2: Resolve Company
Priority order:
--company/-cflag → use exact slug- cwd inside
companies/{slug}/→ infer from path - cwd inside
repos/{pub|priv}/{name}→ look up owning company incompanies/manifest.yaml - If still ambiguous → ask in Step 3
Read companies/manifest.yaml. Validate company slug exists and has a non-empty board_path.
If board_path is empty or missing:
- Ask: "Company {slug} has no board. Create one? [Y/n]"
- If yes: write fresh board.json at
companies/{slug}/board.jsonwith{"company":"{slug}","updated_at":"ISO8601","initiatives":[],"projects":[]}, update manifestboard_path - If no: abort
Step 3: Interview (1 AskUserQuestion call)
Batch all missing info into one AskUserQuestion call. Skip any field already resolved from args/context.
Questions (include only what's missing):
-
What's the idea? (1-2 sentences) Skip if description already extracted from args.
-
Scope?
- A. Company-wide (no specific repo)
- B. App/repo → list company repos from manifest as sub-options
Skip if
--appflag provided or company has no repos.
-
Goal alignment? (optional) If board
schema_version >= 2andobjectives[]is non-empty, list objectives:1. {obj-title-1} 2. {obj-title-2} N. NoneIf board is v1 or has no objectives, fall back to listing active initiatives:
1. {init-title-1} 2. {init-title-2} N. NoneIf board has neither objectives nor active initiatives, skip and default to null.
If company was unresolved in Step 2, prepend a company question:
- Which company? List all companies from manifest that have a
board_path.
Target: 1 AskUserQuestion call total. If everything is provided via args (description + company + app), skip straight to Step 4 — no interview needed.
Step 4: Write Board Entry
- Read
companies/{co}/board.json - Generate ID:
- Collect all
idvalues fromprojectsarray - Extract numeric suffixes from IDs matching
{prefix}-proj-{NNN}pattern - Next ID =
{prefix}-proj-{max_N + 1}, zero-padded to 3 digits (4+ if >999) - Use the lowercase prefix convention from existing entries (e.g.
lr,ab,pe)
- Collect all
- Derive title: If description is >50 chars, derive a concise 3-6 word title. If ≤50 chars, use as-is for both title and description.
- Build entry:
If user selected an objective in Step 3, set{ "id": "{prefix}-proj-{NNN}", "title": "{concise title}", "description": "{user's full description}", "status": "idea", "scope": "company|app", "app": "{repo-name|null}", "initiative_id": "{xx-init-NNN|null}", "objective_id": "{xx-obj-NNN|null}", "prd_path": null, "created_at": "{ISO8601}", "updated_at": "{ISO8601}" }objective_idto that objective's ID. Also find the objective'sinitiative_ids[0](if any) and setinitiative_idfor backward compatibility. - Append to
projectsarray. Update rootupdated_at. Write board.json.
Step 5: Confirm & Reindex
Before printing confirmation, optional best-effort note (presence is automatic):
hq mesh session note --session <sid> --enqueue --seq <n> --summary "Idea captured: {title}"
If the daemon/helper is unavailable, continue silently. Manual verbs only:
task-status, blocked, note.
Print:
Idea captured: **{title}** ({id})
Board: companies/{co}/board.json
Status: idea
Next steps:
/plan {title} → promote to full PRD
/idea → add another idea
/idea --company {co} → add idea to same board
Reindex: qmd update 2>/dev/null || true
Rules
- No PRD files — this command ONLY writes to board.json
- No orchestrator registration — ideas are not executable;
/planhandles that on promotion - No Linear sync — ideas are pre-planning; Linear sync happens at
/plantime - 1 AskUserQuestion max — batch everything into one call
- No TodoWrite — single-step output, not needed
- No EnterPlanMode — this command IS the quick capture
- Board.json is the only file written (plus manifest if board_path was empty)
- Follow existing ID conventions — lowercase prefix, zero-padded 3-digit numbers
- Inline mode: if all info is provided via args/flags, write the entry with zero questions
- Work mesh is best-effort — for cloud-connected company boards, report the captured idea through
hq mesh; never block idea capture on mesh availability. Presence is automatic; usehq mesh session notefor discrete milestones.
See also
/brainstorm— compare approaches/plan— promote it to a full PRD
Signals
- GitHub stars
- 84
- Forks
- 15
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
idea-indigoai-us- Source
- github.com/indigoai-us/hq-core