Analyze today's Claude session history to identify repeated manual workflows that could become reusable skills. Use when the user says "what should be a skill", "find skills", "what did I repeat today", or "suggest automations". Also runs automatically at 9PM BST via launchd.
Scan today's Claude session history to spot repeated manual patterns, workflows done more than once, or multi-step processes that would benefit from being packaged as a reusable skill.
Manual: /skills-finder
Automated: Runs daily at 9PM BST via launchd (com.0xj7r.skills-finder)
Read ~/.claude/history.jsonl and filter to today's messages only (midnight to now). Parse each line as JSON; use the timestamp field (milliseconds since epoch).
Group messages by sessionId and project. Include the full message text from the display field.
Look for these patterns across all of today's sessions:
Repeated workflows:
Multi-step manual processes:
Tool/format patterns:
Near-miss skills:
Read the list of installed skills from ~/.claude/skills/ and check if any candidates overlap with what already exists. Only surface genuinely new opportunities.
Also check npx skills find [keyword] to see if a published skill already covers the candidate.
Structure each candidate as:
## Skill Candidates - [today's date]
### 1. [Suggested skill name] (confidence: high/medium/low)
**Pattern observed**: [what you saw repeated]
**Sessions**: [which sessions, how many times]
**What it would do**: [1-2 sentence description]
**Trigger phrase**: [when should this skill activate]
**Estimated complexity**: simple / moderate / complex
### 2. ...
Rank by confidence (how clearly the pattern repeats) and value (how much time it would save).
If running interactively, display the report inline and offer to build the top candidate immediately.
If running via launchd (automated), send a Slack DM to Jack Reid with the top 3 candidates. Keep it brief: name, pattern observed, one-liner description. Only send if there are medium or high confidence candidates. If nothing interesting was found, skip the notification entirely (no "nothing found" spam).