brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
promoter-scanFind the requests you keep making to your AI assistant by scanning Claude Code transcripts and claude.ai exports, clustering them by intent, and ranking each recurring pattern by how promotable it is into a reusable skill. Use when asked what do I keep asking for, scan my transcripts, find repeated prompts, which of my prompts should become skills, or to st…
Independent GitHub snapshot · Automated classification · Original documentation governs
Most people have five or six prompts they type every week with small variations. Each one is a skill that has not been written down yet. This skill reads your own transcripts, groups the requests by what they are trying to do, and ranks the groups by how much they would gain from becoming a skill: often asked, phrased consistently, with clear inputs and outputs.
It is the first step of the promote loop: scan, draft, test, publish. The /promote command runs the whole loop.
Ask for these if not provided:
*.jsonl under ~/.claude/projects/<project>/. A claude.ai export is a conversations.json inside the downloaded archive. Either or both work; a folder is fine.A pattern is worth promoting when all three are true:
| Component | Weight | High when |
|---|---|---|
| Frequency | 50% | it comes up often relative to everything else the user asks |
| Consistency | 30% | the prompts share vocabulary; the same job, not a family of jobs |
| Clear inputs and outputs | 20% | the prompts say what goes in ("from this git log") and what comes out ("as a table") |
Verdicts: 60 and above is promote; 35 to 59 is maybe, usually a family that needs splitting into two skills; below 35 is leave alone.
Redaction is not optional. Emails, phone numbers, card and account numbers, API keys, tokens, passwords and URLs are replaced before anything is written to the report. If the user names extra terms to strip, strip them too. When in doubt, paraphrase the example rather than quote it.
scripts/promoter_scan.py does the reading, redaction, clustering and scoring. Stdlib only.
python3 skills/promoter-scan/scripts/promoter_scan.py ~/.claude/projects/my-project --json scan-report.json
python3 skills/promoter-scan/scripts/promoter_scan.py ~/Downloads/claude-export/conversations.json --min-count 4
It prints the markdown report and, with --json, writes the clusters for the draft step. Run it first; use the output as the evidence, then add the human reading of each pattern that the script cannot give (whether two clusters are really one job, whether a high scorer is actually a one-off spree).
| # | Pattern | Times | Score | Frequency | Consistency | Clear I/O |
|---|
Example prompts (redacted):
Variation: [low / medium / high, and what varies: the source material, the audience, the format].
Verdict: [promote / maybe / leave], because ...
Suggested skill name: [kebab-name]
[The one pattern with the best score-to-effort ratio and why]