Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when capturing ONE new idea the user voices and wants recorded — "save this idea", "I have an idea", "log this idea", "/idea", "idea: ...". Creates a provenance-tracked folder (one folder per idea) in your ideas repo, dedups against an index, optionally mirrors to a GitHub Project view filtered by label:idea. NOT for mining ideas out of transcripts/meetings (use a dedicated extraction skill) and NOT for dated work tasks (use an issue tracker / the manager skill). Triggers also in Russian: «з
.claude/skills/serejaris-idea/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 320% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 268% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 373% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 106% | 0% |
Part of the Personal Corp framework — running a one-person business through AI agents.
One pipeline: your voice → a provenance-tracked folder in your ideas repo → (optional) an issue mirror on a GitHub Project view. The folder is the source of truth; everything else is a pointer to it.
This skill is self-contained — it inlines the folder structure, status enum, and provenance formats below. You don't need any external canon file.
manager skill. Ideas have no deadline; they're seeds.Before first use, define this in your project's CLAUDE.md:
markdown## Idea Config ### Ideas repo path Where idea folders live (one folder per idea): - ideas_repo: ~/Projects/ideas ### Default author Name written into `first_voiced_by` when the user doesn't say otherwise: - default_author: Me ### GitHub mirror (optional) Mirror each idea as an issue (added to a Project view filtered by `label:idea`): - mirror_enabled: false - owner: your-github-handle # only if mirror_enabled: true - ideas_repo_name: ideas # GitHub repo name for the issue, only if mirror_enabled: true - project_number: <your Project number> # only if mirror_enabled: true (if mirror_enabled is false, the skill only writes to the ideas repo — no issue, no Project)
No separate init skill needed — this section is the setup. If mirror_enabled is false, the GitHub Project step is skipped entirely; the idea still lives as a folder.
Ask at most one short question, and only if the idea's essence can't be extracted from the wording (what is it / for whom). Do NOT ask about mechanics, pricing, risks, or tech stack — capture the raw material as-is and write the gaps into next-steps.md as open questions. The question "how should I record it — issue / file / both?" is forbidden: the form is fixed by this skill. Never block on form.
idea.md frontmatter)seedling — just voiced, not yet worked onexploring — first research gathered, market.md filledbuilding — landing / pilot / prototype in progresslive — a public artifact existsparked — set aside, reason in next-steps.mddropped — closed, reason in next-steps.mdA freshly captured idea is always seedling.
sources.md)Every idea needs at least one source. Each sighting is one row. Genericize the source kind — no real internal paths:
| Source kind | Format in sources.md | |---|---| | Meeting note | meeting note — {who/where}, {date} | | CRM card | CRM card — {contact}, {date} | | DM | DM — {channel}, {date} | | Voice draft (solo) | voice draft, {date} | | Reading / web | {url}, {date} | | Direct capture | direct /idea invocation, session, {date} |
date — resolve the real date. Between 00:00–04:00, "today" means the previous calendar day.INDEX.md at the root of your ideas repo. Match is semantic, not string ("a board of advisors run on agents" ≈ advisory-agent-grounded-data). If unsure, open the candidate's idea.md to compare.sources.md,idea.md bump last_touch and increment sources_count (do NOT touch first_voiced),INDEX.md, commit, report. STOP. Do not create a new folder.ideas/YYYY-MM-DD-{slug}/ with the template files below.live-sales-coach-b2b, not b2b-product-1). The date prefix is the date of first capture — it never changes on later sightings.idea.md: title, status: seedling, first_voiced_by: {default_author from config unless user said otherwise}, an "Essence" of 1–2 sentences, and the raw verbatim wording preserved exactly as voiced. Interpretation, if any, goes in a separate section — never overwrite the raw wording.sources.md: one row for this sighting (see provenance formats).market.md is optional (leave the stub; fill only when researched).next-steps.md holds open questions and the "what next?" — this is where pricing/mechanics/stack gaps land.INDEX.md (format below). It's auto-generated — don't hand-edit individual rows; rewrite the whole file from the folders.mirror_enabled: true in config). The folder is the source of truth; the issue is just a pointer for board view. See "Project mirror" below.feat: idea {slug} (invoking this skill is consent to record; the ideas repo is private).#N (if mirrored), and the Project view link (if mirrored).Create these four files in ideas/YYYY-MM-DD-{slug}/. Keep them minimal — the folder is a seed, not a spec.
idea.md
markdown--- title: {short human title} status: seedling first_voiced_by: {default_author} first_voiced: {YYYY-MM-DD} last_touch: {YYYY-MM-DD} sources_count: 1 --- # {title} ## Essence {1–2 sentences — what it is and for whom.} ## Raw wording > {the idea exactly as voiced — verbatim, do not paraphrase} ## Interpretation (optional) {any reading/expansion goes here — never inside Raw wording}
sources.md
markdown# Sources | Date | Who | Context | Reference | |---|---|---|---| | {YYYY-MM-DD} | {default_author} | first voiced | direct /idea invocation, session, {YYYY-MM-DD} |
market.md (optional stub)
markdown# Market _Not researched yet. Fill when status moves to `exploring`: analogues, demand signals, where it could fit._
next-steps.md
markdown# Next steps ## Open questions - {gaps you didn't ask about — mechanics, pricing, audience, stack} ## What next - {landing? brainstorm? park? close? — leave blank if undecided}
INDEX.md is auto-generated — never hand-edit. Rewrite it whole from the current folders. Structure:
markdown# Ideas index Updated: {YYYY-MM-DD} ## Active ideas | Slug | Status | First voiced | Sources count | Last touch | |---|---|---|---|---| | live-sales-coach-b2b | seedling | 2026-05-01 | 1 | 2026-05-01 | ## Parked / dropped | Slug | Status | First voiced | Last touch | |---|---|---|---| ## By status - seedling: N - exploring: N - building: N - live: N - parked: N - dropped: N
mirror_enabled: true)Each idea folder gets one issue mirror in the ideas repo, added to a GitHub Project view filtered by label:idea. The folder is the source of truth; the issue is a pointer for quick board scanning. Don't copy folder contents into the issue body.
Mirror format:
idea: {title}idea (the only label — don't invent others)ideas/{folder}/idea.md + one "Essence" paragraph + status + one provenance line. Nothing more.Commands (after creating a new idea folder):
bashurl=$(gh issue create -R {owner}/{ideas_repo_name} \ --title "idea: {title}" \ --body "{body — link + essence + status + provenance}" \ --label idea) # Add to the Project board (number from config), so it appears in the label:idea view gh project item-add {project_number} --owner {owner} --url "$url"
On rename → update the issue title. On dropped → close the issue with a comment stating the reason. On a repeat sighting (step 2) → just add a one-line comment, no new issue.
If mirror_enabled is false, skip this whole section — the idea still lives correctly as a folder.
| Failure | Rule | |---|---| | Only an issue created, no folder | The folder owns the truth (provenance, sources); the issue is a pointer | | Fat issue body with full architecture | Body = link + essence + status + provenance, never a copy of the folder | | INDEX.md not read → duplicate of an existing idea | Dedup is mandatory; a repeat = a new source row, not a new folder | | Issue not added to the Project (when mirror enabled) | Without item-add the label:idea view won't show it | | Invented labels (monetization, etc.) | Only idea | | Blocking question "issue / file / both?" | Form is fixed; max one question — and only about the essence | | Raw idea rewritten into "architecture" | seedling = raw material verbatim; interpretation is a separate section |
item-add (when mirror enabled) or without commit → steps 5–6 not done.manager skill / your issue tracker, not an idea folder.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 3,892 | 10,159 | +161% | 1 | 1 | 0% | 250 | 2,921 | +1068% | 0 | 0 | — |
case-02 | fail→fail | 16,425 | 11,029 | -33% | 1 | 1 | 0% | 549 | 2,904 | +429% | 0 | 0 | — |
case-03 | fail→fail | 14,310 | 10,179 | -29% | 1 | 1 | 0% | 1,554 | 2,845 | +83% | 0 | 0 | — |
case-04 | fail→pass | 10,784 | 9,595 | -11% | 1 | 1 | 0% | 780 | 3,273 | +320% | 0 | 0 | — |
case-05 | fail→pass | 11,186 | 10,017 | -10% | 1 | 1 | 0% | 903 | 3,319 | +268% | 0 | 0 | — |
case-06 | fail→pass | 19,352 | 8,634 | -55% | 1 | 1 | 0% | 1,976 | 3,196 | +62% | 0 | 0 | — |
case-07 | fail→pass | 9,985 | 8,519 | -15% | 1 | 1 | 0% | 932 | 4,405 | +373% | 0 | 0 | — |
case-08 | pass→pass | 5,045 | 10,459 | +107% | 1 | 1 | 0% | 688 | 3,623 | +427% | 0 | 0 | — |
case-09 | fail→fail | 16,724 | 21,383 | +28% | 1 | 1 | 0% | 1,631 | 3,331 | +104% | 0 | 0 | — |
case-10 | fail→fail | 6,956 | 18,443 | +165% | 1 | 1 | 0% | 337 | 3,184 | +845% | 0 | 0 | — |
case-11 | fail→fail | 16,972 | 19,224 | +13% | 1 | 1 | 0% | 1,906 | 4,174 | +119% | 0 | 0 | — |
case-12 | fail→pass | 8,607 | 3,147 | -63% | 1 | 1 | 0% | 1,471 | 3,030 | +106% | 0 | 0 | — |
case-13 | fail→pass | 11,804 | 3,787 | -68% | 1 | 1 | 0% | 1,201 | 3,386 | +182% | 0 | 0 | — |
case-14 | fail→pass | 13,211 | 9,499 | -28% | 1 | 1 | 0% | 1,618 | 3,332 | +106% | 0 | 0 | — |
case-15 | fail→pass | 9,152 | 7,211 | -21% | 1 | 1 | 0% | 700 | 3,014 | +331% | 0 | 0 | — |
case-16 | fail→pass | 13,931 | 9,800 | -30% | 1 | 1 | 0% | 1,476 | 3,573 | +142% | 0 | 0 | — |
case-17 | pass→pass | 18,218 | 2,483 | -86% | 1 | 1 | 0% | 2,393 | 3,068 | +28% | 0 | 0 | — |
case-18 | pass→pass | 9,095 | 9,355 | +3% | 1 | 1 | 0% | 823 | 3,542 | +330% | 0 | 0 | — |
case-19 | fail→pass | 15,579 | 10,043 | -36% | 1 | 1 | 0% | 1,838 | 3,381 | +84% | 0 | 0 | — |
case-20 | pass→pass | 6,404 | 7,951 | +24% | 1 | 1 | 0% | 1,122 | 3,138 | +180% | 0 | 0 | — |
case-21 | pass→pass | 13,691 | 3,893 | -72% | 1 | 1 | 0% | 1,174 | 3,374 | +187% | 0 | 0 | — |
case-22 | fail→pass | 8,491 | 3,356 | -60% | 1 | 1 | 0% | 1,394 | 3,248 | +133% | 0 | 0 | — |
case-23 | fail→pass | 7,136 | 7,756 | +9% | 1 | 1 | 0% | 1,320 | 3,172 | +140% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 17 counted toward the lift figure. The other 6 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +52 percentage points is the difference between those two pass rates over the 17 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.