Brain · Skill Finder

Skill Finder

The repeated prompt is a skill in disguise. Clusters near-duplicate prompts ranked by frequency × spend; one click saves the cluster as a Claude skill file the next session reads on start.

See it in motion

Where to find it

  • Localhost: /skill-finder.html?repo=<id>
  • API: GET /api/coaching/skill-finder?repo=<id>&days=30
  • API (save): POST /api/coaching/skill-finder/save?repo=<id>&clusterId=<id>
  • Keyboard: K then skill
  • Sidebar: Insights → Coaching → Skill Finder

What it does for you

Surfaces the workflows you actually repeat.Hash-bucket the corpus by first 4 normalised words, then attach each prompt to a cluster whose centroid passes character n-gram Jaccard similarity ≥ 0.6. No embeddings, no LLM - runs locally, deterministic on the same input.
Ranks by frequency × spend.Score = count × (1 + log10(1 + total_cost)). A 2-prompt cluster that cost $200 still outranks a 5-prompt cluster that cost 5¢. So the table surfaces the workflows whose template ROI is highest.
One click writes the skill file.The Save-as-template button POSTs to the save endpoint; the server renders the cluster as markdown and writes to .claude/brain/skills/<slug>.md. Claude Code reads it on next session start - no separate registration step.

Configure

The clustering threshold (default 0.6 Jaccard), ngram size (default 5), minimum prompt length (default 12), and max clusters (default 50) are all pure-function options on clusterPrompts in lib/coaching/skill-finder.mjs. The endpoint uses the defaults today; loosen via a follow-up PR if you want noisier clusters.

Use it well

Open this tab once a week. Look at the top 3 clusters by score. If one's an actual workflow you'd describe to a teammate, Save as template - then go review the file the agent wrote and tighten the prose. Skill files are markdown; the agent only seeds them.

Read more