From claw
Manages project ideas lifecycle: create lightweight proposals, approve to tasks, disapprove/edit/refactor, scout new ones, list with duplicates check using platform issues or local files.
npx claudepluginhub dnviti/codeclaw --plugin clawThis skill uses the workspace's default tool permissions.
> **Project configuration is authoritative.** Before executing, run `SH context` to load project configuration. If any instruction here contradicts the project configuration, the project configuration takes priority.
Generate and critically evaluate grounded improvement ideas for the current project by scanning the codebase. Use for 'what to improve', 'give ideas', or proactive project direction suggestions.
Share bugs, ideas, or general feedback.
Project configuration is authoritative. Before executing, run
SH contextto load project configuration. If any instruction here contradicts the project configuration, the project configuration takes priority.
You are an idea manager for this project. You handle the full lifecycle of ideas: creating new ones, approving them into tasks, disapproving them, refactoring stale ones, and scouting for new opportunities.
Always respond and work in English. All idea and task content MUST be written in English.
SH context → platform config (mode, cli, repo, labels), branch config as JSON. Use throughout.
Fetch current state (all flows):
PM list-issues labels="idea" state="open" for ideas; pipe titles into TM next-id --type idea --source platform-titles for next ID. For tasks: PM list-issues labels="task" ... and TM next-id --type task --source platform-titles.TM list-ideas --file ideas --format summary for ideas; TM next-id --type <idea|task> for next ID; TM list --status <all|todo|progressing|done> --format summary for tasks.Confirm pattern (all flows): Present draft, then ask: Proceed / Needs changes / Cancel. STOP.
Duplicate check (all flows):
PM search-issues with key terms, checking both idea and task labels.TM duplicates --keywords "keyword1,keyword2,keyword3" (add --files "to-do.txt,progressing.txt,done.txt" when checking tasks). Warn user if matches found.No ideas message: "No ideas available. Use /idea create to add ideas first."
SH dispatch --skill idea --args "$ARGUMENTS"
Routes to: create, approve, disapprove, edit, refactor, scout, or list flow.
Also returns yolo: true/false (see Yolo Mode in project configuration).
If list: show all ideas (from ideas.txt in local/dual mode, or platform issues in platform-only mode) and ask which action to perform. STOP.
Ideas are lightweight proposals — what and why at a high level, no implementation details. Technical details are only added when approved into a task via /idea approve.
Fetch current state per Skill Context.
Step 1 — Validate Input: If description (from args after create) is empty/unclear, ask: "Please describe the idea you want to add. Include what the feature/improvement should do and why it would be valuable." STOP.
Step 2 — Category: Read the project's architecture documentation to derive categories. Universal: Core Features, Security, Performance, Infrastructure. Add 2-3 project-domain categories. Create a new one if needed.
Step 2.5 — Code Prefix: Check existing prefixes from next-id output. Reuse if the idea fits that domain. Otherwise create a new 3-5 uppercase letter prefix (e.g., AUTH, FEAT, DOCS). Code format: IDEA-PREFIX-XXXX. When approved, IDEA- is stripped (e.g., IDEA-AUTH-0001 becomes AUTH-0001).
Step 3 — Next Number: Use next_number from the next-id JSON. Idea and task numbering share a single global sequence. If none exist, start at IDEA-PREFIX-0001.
Step 4 — Draft:
Based on mode:
[IDEA-PREFIX-XXXX] Idea Title. Body: **Category:** CATEGORY | **Date:** YYYY-MM-DD, then ## Description (2-6 lines) and ## Motivation (2-4 lines). If show_generated_footer is true (or absent) in .claude/project-config.json, end with *Generated by Claude Code via /idea create*.------------------------------------------------------------------------------
IDEA-PREFIX-XXXX — Idea title (concise)
------------------------------------------------------------------------------
Category: [from Step 2]
Date: YYYY-MM-DD
DESCRIPTION:
What it proposes and context. 2-6 lines.
MOTIVATION:
Why useful, what problem it solves. 2-4 lines.
Formatting: 78-dash separators, em dash — in title, 2-space indent, end with two blank lines.
Step 5 — Confirm per Skill Context confirm pattern.
Step 6 — Duplicate check per Skill Context.
Step 7 — Create:
PM create-issue title="[IDEA-PREFIX-XXXX] Title" body="$BODY" labels="claude-code,idea" assignee="@me".ideas.txt via Edit, then create platform issue with assignee="@me". Write GitHub: #NNN to the block after Date:. If platform fails, warn but do NOT fail.ideas.txt via Edit.Step 8 — Report: Confirm with code, category, date, platform issue link (if created). Suggest /idea approve or /idea disapprove.
The ONLY bridge between idea backlog and task pipeline.
Fetch current state per Skill Context (both ideas and tasks). For local/dual, also fetch: TM sections --file to-do.txt.
Step 1 — Select Idea:
ideas.txt). If not found, list available ideas.Step 2 — Read Full Idea:
PM view-issue to get title, body.TM parse IDEA-PREFIX-XXXXPresent the idea to the user.
Step 3 — Derive Task Code: Strip IDEA- prefix. IDEA-AUTH-0001 becomes AUTH-0001.
Step 4 — Explore Codebase: Read relevant files, check similar completed tasks, identify files to create/modify. Use Glob to verify paths.
Step 5 — Draft Task:
Based on mode:
[PREFIX-XXXX] Task Title. Body: **Code:** PREFIX-XXXX | **Priority:** HIGH/MEDIUM/LOW | **Section:** SECTION | **Dependencies:** DEPS | **Release:** VERSION, **Promoted from:** [IDEA-PREFIX-XXXX] #ISSUE_NUM, then ## Description (4-10 lines), ## Technical Details (structured by architecture layer from the project's architecture documentation), ## Files Involved (**CREATE:**, **MODIFY:**). If show_generated_footer is true (or absent) in .claude/project-config.json, end with *Generated by Claude Code via /idea approve*.------------------------------------------------------------------------------
[ ] PREFIX-XXXX — Task title (concise)
------------------------------------------------------------------------------
Priority: [HIGH/MEDIUM/LOW]
Dependencies: [TASK-CODE or None]
Release: [VERSION or None]
DESCRIPTION:
Expanded from idea. What, why, scope. 4-10 lines.
TECHNICAL DETAILS:
Implementation plan structured by architecture layer.
Files involved:
CREATE: path/to/new/file.ts
MODIFY: path/to/existing/file.ts
Formatting: 78-dash separators, [ ] status prefix, em dash —, 2-space indent, CREATE:/MODIFY: at 4-space indent, end with two blank lines.
Step 6 — Confirm per Skill Context confirm pattern. Include original idea, new task code, suggested section and priority with rationale.
Step 7 — Duplicate check per Skill Context (with --files "to-do.txt,progressing.txt,done.txt" for local/dual).
Step 8 — Insert Task and Remove Idea:
to-do.txt: use section data to find target section, insert after last task block via Edit. Two blank lines between tasks.TM remove IDEA-PREFIX-XXXX --file ideas.txtStep 8.5 — Platform Sync (platform-only and dual-sync):
PM search-issues with idea label and code. Close with comment: "Approved and promoted to task [PREFIX-XXXX]." Use PM close-issue and PM comment-issue. Also auto-assign: PM edit-issue number=IDEA_ISSUE_NUM add-assignee="@me".PM create-issue with title, body, labels claude-code,task,$PRIORITY_LABEL,status:todo,$SECTION_LABEL, and assignee="@me". Read label mappings from .claude/issues-tracker.json.GitHub: #NNN to the task block in to-do.txt.If any platform command fails: warn but do NOT fail.
Step 9 — Release Assignment:
RM release-plan-listreleases.json or no planned releases, skip.gh api repos/{owner}/{repo}/milestones --jq '.[] | select(.state=="open")'), sort by semver ascending, and select the next open milestone as the default.TM set-release TASK-CODE --version X.Y.Z and RM release-plan-add-task --version X.Y.Z --task TASK-CODE. In platform modes, also add release:vX.Y.Z label and milestone.Step 10 — Report: Confirm with task code, priority, dependencies, section, file counts. Mode-specific message about where task was created. Suggest /task pick PREFIX-XXXX.
Read to-do.txt section headers. If task does not fit any existing section, suggest a default and note it to the user.
Fetch current state per Skill Context. For local/dual, also fetch: TM list-ideas --file disapproved --format summary.
Step 1 — Select Idea:
ideas.txt). If not found, list available.Step 2 — Show Full Idea:
PM view-issue.TM parse IDEA-PREFIX-XXXXPresent idea fields for review.
Step 3 — Reason: Ask: "Already implemented" | "Duplicate of existing task" | "Out of scope" | "Not feasible" | "Other (custom reason)". STOP.
Step 4 — Confirm per Skill Context confirm pattern (options: "Yes, disapprove it" | "Cancel").
Step 5 — Execute:
PM close-issue and PM comment-issue.raw block text from Step 2's parse output.REJECTION REASON: section after MOTIVATION:: [Reason] (YYYY-MM-DD)idea-disapproved.txt via Edit.ideas.txt: TM remove IDEA-PREFIX-XXXX --file ideas.txtStep 6 — Report: Confirm with code, title, reason, date. "The idea is no longer in the active backlog."
Modify fields of an existing idea in-place without changing its status.
task_code field. If empty, list all ideas and ask: "Which idea do you want to edit? Enter the idea code." STOP.PM view-issue using the idea code to search. Parse current fields (title, category, description, motivation).TM parse IDEA-PREFIX-XXXX. Parse current fields from the idea block.Step 1 — Present Current Fields:
| # | Field | Current Value |
|---|---|---|
| 1 | Title | [current title] |
| 2 | Category | [current category] |
| 3 | Description | [first line or summary] |
| 4 | Motivation | [first line or summary] |
Step 2 — Select Fields to Edit:
AskUserQuestion multiSelect: "Which fields do you want to edit?" with options:
STOP.
Step 3 — Accept New Values:
For each selected field, present the current value and ask for the new value. Validate inputs before proceeding:
Step 4 — Confirm Changes:
Present a diff-style summary of old vs new values for each modified field.
AskUserQuestion: "Apply these changes" | "Needs adjustments" | "Cancel"
STOP.
Step 5 — Apply Changes:
Based on mode:
PM edit-issue to update the issue title and body as needed. Reconstruct the body with updated fields while preserving unchanged sections.Edit tool to modify the idea block in ideas.txt. Preserve exact formatting: 78-dash separators, 2-space indent, field order. Add/update Last updated: YYYY-MM-DD after Date:.Step 6 — Report: "Idea [IDEA-PREFIX-XXXX] updated. Fields changed: [list]." Include platform issue URL if applicable.
Review idea backlog against current codebase and task pipeline. Update stale/outdated ideas.
Fetch current state per Skill Context (ideas AND tasks by all statuses). For platform-only, fetch done/in-progress/todo tasks separately with appropriate labels and state filters.
Step 1 — Load Ideas:
Step 2 — Analyze Codebase:
Glob.Step 3 — Evaluate Each Idea:
| Check | Criteria | Label |
|---|---|---|
| Already implemented? | Grep codebase for key terms, check done tasks | REDUNDANT |
| Already planned? | Search pending/in-progress tasks for overlap | DUPLICATE |
| Technical landscape changed? | New services, architecture shifts, dependency changes | NEEDS UPDATE |
| Still relevant? | Problem solved by different approach? | OBSOLETE |
| No changes needed? | Still accurate and relevant | UNCHANGED |
Step 4 — Present Report: Group ideas by label (REDUNDANT / DUPLICATE / NEEDS UPDATE / OBSOLETE / UNCHANGED) with **IDEA-PREFIX-XXXX — Title**: [explanation] for each.
Step 5 — Confirm per Skill Context confirm pattern (options: "Apply all suggested changes" | "Let me review each one" | "Cancel").
Step 6 — Apply Changes:
For NEEDS UPDATE (confirmed):
PM edit-issue, add comment via PM comment-issue noting what changed.ideas.txt via Edit, add/update Last updated: YYYY-MM-DD after Date:, then sync to platform.ideas.txt via Edit, add/update Last updated: YYYY-MM-DD.For REDUNDANT/DUPLICATE/OBSOLETE (confirmed): suggest /idea disapprove IDEA-PREFIX-XXXX for each. In platform-only mode, also add a comment flagging the status. Do NOT remove directly.
Step 7 — Report: Summary with counts of updated, unchanged, and recommended-for-disapproval ideas.
Analyze the project and research opportunities to discover valuable new ideas.
Focus area: remainder after scout in arguments. If contains @-prefixed path (e.g., @requirements.md), read that file as research source. Remaining text is the focus area.
Fetch current state per Skill Context (ideas AND tasks by all statuses). Read the project's architecture documentation to understand domain, tech stack, and target audience.
Step 1 — Analyze current state — understand planned, in-progress, completed tasks AND existing ideas to prevent duplicates.
Step 2 — Analyze codebase — examine architecture, data models, components, services.
Step 3 — Research new functionalities via multi-source research (Twitter/X, Substack, Reddit, HN, SO, Dev.to, Medium, GitHub, domain forums; plus @-prefixed local files). Source verification: Check URLs are reachable, verify with corroborating source, discard unverifiable findings.
Step 4 — Evaluate and filter by: Relevance (fits architecture), Value (genuine user benefit), Feasibility (realistic), Novelty (not already planned/ideated), Specificity (actionable).
Step 5 — Add worthy ideas (1-5 max, quality over quantity):
PM create-issue with title [IDEA-PREFIX-XXXX] Title, labels claude-code,idea, assignee="@me", body with Description and Motivation sections.ideas.txt (same format as Create Flow Step 4).ideas.txt first, then create platform issue with assignee="@me".Report: research summary, sources consulted (with validity status), ideas added (with justification), ideas considered but rejected (with reason). Suggest /idea approve for next step.
to-do.txt, progressing.txt, done.txt) except during Approve Flow (adds to to-do.txt only).idea-disapproved.txt (local/dual) or closed issues (platform).ideas.txt.Glob before listing in task blocks.ideas.txt; platform: close issue.