Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/kotivskyi-skill-finder
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/skill-finder
What's inside
- Skill name
skill-finder- Description
- Find which skills to create or fix from real work history. Use when the user asks what skills are missing, wants skill suggestions, asks why a skill did not fire or keeps going wrong, wants to mine Claude Code sessions, OpenSpec archives, or other work history for recurring tasks, or wants evals built from real prompts for a new or existing skill. Reads the sources the user names, ranks suggestions by frequency and cost, and hands off to skill-creator after approval.
- License
- MIT
- Instructions
- 209 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (69)
- SKILL.md
- README.md · evals/
- evals.json · evals/
- make-world.mjs · evals/fixtures/
- trigger-eval.json · evals/
- adapter-contract.md · references/
- eval-harvest.md · references/
- evidence-schema.md · references/
- family-prompt.md · references/
- family-schema.md · references/
- gate-brief.md · references/
- learnings-format.md · references/
- ranking.md · references/
- report-format.md · references/
- claude-sessions.md · references/sources/
- openspec-archive.md · references/sources/
- summary-prompt.md · references/
- summary-schema.md · references/
- aggregate.mjs · scripts/
- aggregate.test.mjs · scripts/
- audit-evidence.mjs · scripts/
- audit-evidence.test.mjs · scripts/
- check-summaries.mjs · scripts/
- check-summaries.test.mjs · scripts/
- extract-claude-sessions.mjs · scripts/
- extract-claude-sessions.test.mjs · scripts/
- extract-openspec-archive.mjs · scripts/
- extract-openspec-archive.test.mjs · scripts/
- build.mjs · scripts/fixtures/catalog/
- 11111111-1111-4111-8111-111111111111.jsonl · scripts/fixtures/claude-sessions/store/
- agent-a1.jsonl · scripts/fixtures/claude-sessions/store/11111111-1111-4111-8111-111111111111/subagents/
- 22222222-2222-4222-8222-222222222222.jsonl · scripts/fixtures/claude-sessions/store/
- .openspec.yaml · scripts/fixtures/openspec-archive/openspec/changes/archive/2026-09-01-add-sim-runner-deploy/
- design.md · scripts/fixtures/openspec-archive/openspec/changes/archive/2026-09-01-add-sim-runner-deploy/
- proposal.md · scripts/fixtures/openspec-archive/openspec/changes/archive/2026-09-01-add-sim-runner-deploy/
- spec.md · scripts/fixtures/openspec-archive/openspec/changes/archive/2026-09-01-add-sim-runner-deploy/specs/deploy-checks/
- spec.md · scripts/fixtures/openspec-archive/openspec/changes/archive/2026-09-01-add-sim-runner-deploy/specs/sim-runner/
- tasks.md · scripts/fixtures/openspec-archive/openspec/changes/archive/2026-09-01-add-sim-runner-deploy/
- .openspec.yaml · scripts/fixtures/openspec-archive/openspec/changes/archive/2026-09-05-fix-grafana-alerts/
- proposal.md · scripts/fixtures/openspec-archive/openspec/changes/archive/2026-09-05-fix-grafana-alerts/
- spec.md · scripts/fixtures/openspec-archive/openspec/changes/archive/2026-09-05-fix-grafana-alerts/specs/alerts/
- tasks.md · scripts/fixtures/openspec-archive/openspec/changes/archive/2026-09-05-fix-grafana-alerts/
- proposal.md · scripts/fixtures/openspec-archive/openspec/changes/archive/2026-09-10-drop-legacy-api/
- tasks.md · scripts/fixtures/openspec-archive/openspec/changes/archive/2026-09-10-drop-legacy-api/
- README.md · scripts/fixtures/openspec-archive/openspec/changes/archive/notes/
- invalid-batch.json · scripts/fixtures/summaries/
- valid-batch.txt · scripts/fixtures/summaries/
- harvest-evals.mjs · scripts/
- harvest-evals.test.mjs · scripts/
- index-catalog.mjs · scripts/
- index-catalog.test.mjs · scripts/
- init-run.mjs · scripts/
- init-run.test.mjs · scripts/
- lib.test.mjs · scripts/
- args.mjs · scripts/lib/
- digest.mjs · scripts/lib/
- jsonl.mjs · scripts/lib/
- paths.mjs · scripts/lib/
- redact.mjs · scripts/lib/
- testing.mjs · scripts/lib/
- …and 9 more
SKILL.md (first lines)
# skill-finder
Find recurring work in the history that the user names. Compare it with the installed skills. Suggest changes of three kinds:
| Kind | Meaning | Output |
| :--- | :--- | :--- |
| `new-skill` | Recurring work. No catalog skill covers it. | A `skill-creator` handoff brief with harvested evals. |
| `silent-skill` | A catalog skill matches the work. It never fired in those episodes. | An exact description edit, with a trigger eval set. |
| `misfiring-skill` | A skill fired, and the user corrected the agent in the same episodes again and again. | A `## Learnings` entry, with behavior evals. |
The skill stops at a report. It changes a skill only after two approvals.
## Rules
- Keep raw history local. Do not put tool results, file contents, or raw session lines in the chat, the report, or the evals.
- Read `aggregate.json`, not all of `evidence.jsonl`. Open an evidence record or a digest only for a candidate that you judge.
- Do not force a suggestion. When no candidate passes, say so.
- Do not commit, push, or merge.
- Do not edit a plugin-origin skill. Stage the edit in the run folder.
- Do not edit `.gitignore`.
## Scripts
The scripts are in `${CLAUDE_SKILL_DIR}/scripts/`. Each script prints one JSON line. Exit code 0 is success, 1 is a usage or validation failure, and 2 is a missing or unreadable input. In the commands, `<run>` is the run folder from step 2.
## Procedure
### 1. Check and ask
1. Run `node --version`. Stop when the major version is less than 18.
2. Get the sources and the time window. When the user did not name them, ask one question. Offer this default: Claude Code sessions for the current project, for the last 90 days.
| Source | Knowledge | Extractor |
| :--- | :--- | :--- |
| `claude-sessions` | [references/sources/claude-sessions.md](references/sources/claude-sessions.md) | `extract-claude-sessions.mjs` |
| `openspec-archive` | [references/sources/openspec-archive.md](references/sources/openspec-archive.md) | `extract-openspec-archive.mjs` |
To add a source, follow [references/adapter-contract.md](references/adapter-contract.md).
### 2. Start a run
```bash
node "${CLAUDE_SKILL_DIR}/scripts/init-run.mjs" --cwd "$PWD" --slug <short-name> --source "<source and its flags>" --since <date>
```
Use the `run` value from the output as `<run>`. When `gitignoreWarning` is `true`, tell the user to add `.skill-finder/` to `.gitignore`.
### 3. Extract
Run one extractor for each source:
```bash
node "${CLAUDE_SKILL_DIR}/scripts/extract-claude-sessions.mjs" --out <run> --project "$PWD" --since <date>
node "${CLAUDE_SKILL_DIR}/scripts/extract-openspec-archive.mjs" --out <run> --path <repo>/openspec/changes/archive --since <date>
```
When the user names a session folder, use `--store <dir>` instead of `--project`. Use `--store` more than one time for worktree folders. Show the one-line summary of each extractor.
When an extractor exits 2, stop. Name the missing source. Do not continue with other sources, and do not suggest a skill.
### 4. Audit
```bash
node "${CLAUDE_SKILL_DIR}/scripts/audit-evidence.mjs" <run>/evidence.jsonl --strict
```
When it exits 1, stop and show the errors from `<run>/evidence-audit.json`. Keep the warnings for the report limitations.
### 5. Index the catalog
```bash
node "${CLAUDE_SKILL_DIR}/scripts/index-catalog.mjs" --cwd "$PWD" --out <run>/catalog.json
```
When the user names another home folder, add `--home <dir>`. Add `--root <dir>` for each extra skill folder that the user names.
When the summary shows `warnings` above 0, copy the messages from `catalog.json` into the report limitations.
### 6. Summarize episodes
Read [references/summary-schema.md](references/summary-schema.md). Then run:
```bash
node "${CLAUDE_SKILL_DIR}/scripts/check-summaries.mjs" --run <run> --plan
```
Tell the user the digest count, the total size, and the call count. Ask for a yes. A run without summaries finds much less, because task keys then come only from titles and corrections. When the user says no, tell them this. On a no, or when no backend is available, run the next command and go to step 7:
```bash
node "${CLAUDE_SKILL_DIR}/scripts/merge-summaries.mjs" --run <run> --backend none
```
On a yes, use the first backend that is available: `shunt:bulk-reader` (Pi), then the `Agent` tool. The schema document tells how to call each one. Run up to 4 batches at the same time. Check each batch:
```bash
node "${CLAUDE_SKILL_DIR}/scripts/check-summaries.mjs" --run <run> --batch <run>/summaries/batch-01.json
```
When a check exits 1, run that batch again one time. After a second failure, leave the batch. Then merge and audit again:
```bash
node "${CLAUDE_SKILL_DIR}/scripts/merge-summaries.mjs" --run <run> --backend <pi|subagent>
node "${CLAUDE_SKILL_DIR}/scripts/audit-evidence.mjs" <run>/evidence.jsonl --expect-summaries
```
### 7. Scope families
Read [references/family-schema.md](references/family-schema.md). Then run:
```bash
node "${CLAUDE_SKILL_DIR}/scripts/scope-families.mjs" --run <run> --plan
```
The plan writes one line for each episode, in batches of 400. This step needs one backend call for each batch. The yes from step 6 covers these calls. When the user said no in step 6, tell them the line count and ask for a yes now. Without families, the aggregation finds recurring work only when two summaries use the same words. On a no, or when no backend is available, run the next command and go to step 8:
```bash
node "${CLAUDE_SKILL_DIR}/scripts/scope-families.mjs" --run <run> --backend none
```From Kotivskyi/skills, MIT.
More from Kotivskyi/skills
- 0.570score
agent-self-harness
Kotivskyi
Use when improving an agent harness from execution evidence, including mining Codex or Claude Code local sessions, using already-normalized trace packets…
SkillAFreshness: AClaude Code +9 - 0.529score
decision-auto-tracker
Kotivskyi
Capture user decisions from human-to-agent conversations into structured Markdown files in `decisions/log/`.
SkillBFreshness: BClaude Code +9 - 0.529score
design-spec-tracker
Kotivskyi
Keep a developer handoff spec written and current while a designer works, without being asked.
SkillBFreshness: BClaude Code +9 - 0.529score
handoff-to-paperclip
Kotivskyi
Hand off the task you are working on in this interactive session to the Paperclip agent team so an autonomous agent (the CTO by default) continues it…
SkillBFreshness: BClaude Code +9 - 0.529score
write-http-files
Kotivskyi
Author `.http` / `.rest` request files in the "HTTP Request in Editor" format used by the JetBrains HTTP Client and the VS Code REST Client extension.
SkillBFreshness: BClaude Code +9 - 0.524score
bdd-implement
Kotivskyi
Implement Behavior-Driven Development scenarios — turn Given-When-Then scenarios into executable tests.
SkillBFreshness: BClaude Code +9 - 0.524score
fix-with-spec
Kotivskyi
Fix a bug or adjust existing behavior in code AND keep its OpenSpec capability spec consistent, in any OpenSpec-managed repo under whatever schema that repo…
SkillBFreshness: BClaude Code +9 - 0.524score
authoring-skills
Kotivskyi
Conventions for building skills in this repo, covering how a skill switches itself on in someone's project.
SkillBFreshness: BClaude Code +9 - 0.524score
bdd-create
Kotivskyi
Author Behavior-Driven Development scenarios and acceptance criteria — the specification side of BDD, with no implementation.
SkillBFreshness: BClaude Code +9 - 0.524score
ship
Kotivskyi
Use when the user is about to merge, ship, release, or deploy, or asks "is this safe to merge", "can I ship this", "ready to release", or wants a go/no-go on…
SkillBFreshness: BClaude Code +9 - 0.521score
plan
Kotivskyi
Break down a feature, bugfix, or task into a concrete implementation plan before touching code.
SkillBFreshness: BClaude Code +9 - 0.520score
pr-watch
Kotivskyi
Drives a GitHub pull request to a fully green, fully addressed state.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 23, 2026 (1 month ago)
- Last release
- Jun 22, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Kotivskyi/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Kotivskyi
- 0.570score
agent-self-harness
Kotivskyi
Use when improving an agent harness from execution evidence, including mining Codex or Claude Code local sessions, using already-normalized trace packets…
SkillAFreshness: AClaude Code +9 - 0.529score
handoff-to-paperclip
Kotivskyi
Hand off the task you are working on in this interactive session to the Paperclip agent team so an autonomous agent (the CTO by default) continues it…
SkillBFreshness: BClaude Code +9 - 0.529score
write-http-files
Kotivskyi
Author `.http` / `.rest` request files in the "HTTP Request in Editor" format used by the JetBrains HTTP Client and the VS Code REST Client extension.
SkillBFreshness: BClaude Code +9 - 0.529score
design-spec-tracker
Kotivskyi
Keep a developer handoff spec written and current while a designer works, without being asked.
SkillBFreshness: BClaude Code +9 - 0.529score
decision-auto-tracker
Kotivskyi
Capture user decisions from human-to-agent conversations into structured Markdown files in `decisions/log/`.
SkillBFreshness: BClaude Code +9 - 0.524score
bdd-implement
Kotivskyi
Implement Behavior-Driven Development scenarios — turn Given-When-Then scenarios into executable tests.
SkillBFreshness: BClaude Code +9
Cite this page
skill-finder. Agent Mart. https://agentmart.dev/skills/kotivskyi-skill-finder (last updated 2026-10-24)