skill-author
Skill0 starsChanged 6 days agoMITView on GitHub
Use when the user asks to "create a skill", "make this a skill", "is se skill banao", "har baar yaad rakhna", "remember this pattern", "save this learning", "skill bana lo", "isko skill mein convert karo", "add to skills", "promote this to a skill", "skill mein dal do", "save as skill". Decides global-vs-project scope, dedups against existing SKILL.md (≥70% overlap → append, not new), prevents cross-session duplicate skills.
23 other projects use a version of this.
Adopted by
Most recently taken up by
- DylXBT/claude-orchestrator-skillstheir own version, first seen Nov 8, 2026
- himkt/cafleettheir own version, first seen Nov 8, 2026
- educlopez/mallardtheir own version, first seen Nov 1, 2026
- mandasTeam/skill-authortheir own version, first seen Nov 1, 2026
- Lethe044/agentskill-kittheir own version, first seen Nov 1, 2026
- manusco/resonancetheir own version, first seen Oct 22, 2026
Other versions23 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 23
- generative-computing/mellea★ 1.9ksame name
- aqm857886159/Nomi★ 550same name
- DylXBT/claude-orchestrator-skills★ 114same name
- robium-ai/robium★ 93same name
- himkt/cafleet★ 56same name
- Lethe044/agentskill-kit★ 48same name
- manusco/resonance★ 38same name
- Zhonghao1995/agentic-swmm-workflow★ 31same name
- felvieira/claude-skills-fv★ 27same name
- peter-tu-zynkr/zynkr-skill-builder★ 21same name
13 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository174 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- ad-ci-readinessSkill
- ad-pre-pushSkill
- accessibilitySkill
- agent-evalSkill
- agent-harness-constructionSkill
- agentic-engineeringSkill
- agent-introspection-debuggingSkill
- agent-sortSkill
- ai-first-engineeringSkill
- ai-regression-testingSkill
- api-connector-builderSkill
- architecture-decision-recordsSkill
- article-writingSkill
- automation-audit-opsSkill
- autonomous-agent-harnessSkill
- autonomous-loopsSkill
- backend-patternsSkill
- benchmarkSkill
- blueprintSkill
- brand-voiceSkill
- browser-qaSkill
- bun-runtimeSkill
- canary-watchSkill
- cavemanSkill
- ckSkill
- claude-devfleetSkill
- click-path-auditSkill
- codebase-onboardingSkill
- code-tourSkill
- coding-standardsSkill
- content-engineSkill
- content-hash-cache-patternSkill
- context-budgetSkill
- continuous-agent-loopSkill
- continuous-learningSkill
- continuous-learning-v2Skill
- cost-aware-llm-pipelineSkill
- councilSkill
- crosspostSkill
- ad-harnessSkill
- ad-state-migrateSkill
- ad-tui-devSkill
- agent-daemon-memorySkill
- big-feature-flowSkill
- bootstrap-daemonSkill
- bug-flowSkill
- engine-upgradeSkill
- feature-flowSkill
- gepa-evolve-inlineSkill
- harness-troubleshootSkill
- orchestrate-teamSkill
- release-flowSkill
- session-closeSkill
- skill-installerSkill
- dashboard-builderSkill
- database-migrationsSkill
- deep-researchSkill
- deployment-patternsSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
20 rules. 0 are common, 14 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 18 edited versions we read keep these.
14
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
Don't ever write a new SKILL.md without checking what already exists.
- Distinctive: line 20
Check the cross-session log for prior near-misses.
- Distinctive: line 26
Read what the user said. Ask yourself one question: could this skill help a DIFFERENT project, in a different language, with a different …
- Distinctive: line 36
If the answer is "could go either way", default to global.
- Distinctive: line 42
Before writing anything, search what already exists.
- Distinctive: line 57
If ≥70% overlap with an existing skill → append-mode: extend the existing skill instead of writing a new one.
- Distinctive: line 62
If <70% overlap → new-file mode.
- Very specific: line 68
Read .agent-daemon/skill-author-log.jsonl (per-project) and ~/.agent-daemon/skill-author-log.jsonl (global).
- Very specific: line 74
If any prior entry has skill_id matching your intended target or triggers overlapping ≥50% — surface it.
- Distinctive: line 76
If logs are missing, that's fine — first run.
- Distinctive: line 126
Keep skills focused on one concern.
- Very specific: line 130
Use Edit tool to modify the existing SKILL.md:
- Very specific: line 136
Do NOT touch the existing ## Procedure steps unless the user explicitly asks.
- Distinctive: line 148
Create parent directories if missing:
- Distinctive: line 163
Dedup search: no existing skill matches >70% (nothing about SSE routes)
- Distinctive: line 185
After user picks → write accordingly
- Distinctive: line 190
Project-local when global would do: If the pattern applies to any project, it's global.
- Distinctive: line 193
Forgetting the log: No log = next session won't know this skill exists/was extended.
- Distinctive: line 197
After writing, ask the user to confirm by triggering the skill:
- Very specific: line 200
If the new skill's triggers don't fire reliably, the description line is probably too narrow.
“Common” is measured: kept by at least 6 in 10 of the 18 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Author a skill — global vs project, dedup-first
Don't ever write a new SKILL.md without checking what already exists. The single most common failure mode for skill-creation across sessions is producing 3-4 near-duplicate skills (e.g. debug-fetch-error, cors-blocked-fix, network-error-triage) instead of broadening one. This skill fixes that.
You will:
- Decide scope (global vs project-local).
- Search for overlap in existing skills.
- Check the cross-session log for prior near-misses.
- Write or append — never blindly create a new file.
- Log the action so the next session knows.
Phase 1 — Classify scope
Read what the user said. Ask yourself one question: could this skill help a DIFFERENT project, in a different language, with a different stack?
| Signal | Scope |
| Pattern is language-agnostic (e.g. "always check existing utilities before writing new code") | ~/.claude/skills/ (global) |
| Pattern names a framework / library but applies broadly (e.g. "Next.js SSE route pattern") | ~/.claude/skills/ (global) |
| Pattern mentions THIS project's domain, file paths, internal endpoints, business rules | <cwd>/.claude/skills/ (project-local) |
| User said "make this global" / "global skill banao" | ~/.claude/skills/ |
| User said "project ke liye" / "is project mein" / "for this project only" | <cwd>/.claude/skills/ |
If the answer is "could go either way", default to global. Easier to scope down later than to fish out of project-local later.
Set a variable in your head: SCOPE = global or SCOPE = project.
Phase 2 — Dedup search
Before writing anything, search what already exists. Glob both locations:
# Global
ls ~/.claude/skills/*/SKILL.md 2>/dev/null
# Project-local
ls .claude/skills/*/SKILL.md 2>/dev/nullFor each existing SKILL.md, read its frontmatter description line and the first 30 lines of body. Compute an overlap score:
- Trigger overlap: how many of your intended trigger phrases already appear in the existing
description? (case-insensitive substring) - Body keyword overlap: for the top 5 keywords in your draft body, how many appear in the existing body?
If ≥70% overlap with an existing skill → append-mode: extend the existing skill instead of writing a new one. Examples:
- Adding a new example under
## Examplesof the existing skill - Broadening the frontmatter
descriptiontriggers (union, deduped) - Adding an anti-pattern under
## Anti-patterns
If <70% overlap → new-file mode. But still surface the closest match to the user before writing:
"I'm about to create
debug-network-triage. Existing skilldebug-triageoverlaps 45% (shares triggers 'broken', 'not working'). Continue with new skill, or merge intodebug-triage?"
Phase 3 — Cross-session log check
Read .agent-daemon/skill-author-log.jsonl (per-project) and ~/.agent-daemon/skill-author-log.jsonl (global). Each line is JSON:
{"ts":"2026-05-21T10:30:00Z","skill_id":"debug-triage","triggers":["broken","not working"],"scope":"global","action":"append"}If any prior entry has skill_id matching your intended target or triggers overlapping ≥50% — surface it. The user may have already created or extended this skill in a prior session.
If logs are missing, that's fine — first run.
Phase 4 — Write or append
New skill (Phase 2 said new-file mode)
Write to:
- Global:
~/.claude/skills/<skill-id>/SKILL.md - Project:
<cwd>/.claude/skills/<skill-id>/SKILL.md
Use this template:
---
name: <skill-id>
description: Use when the user <trigger phrases — exhaustive, English + Hinglish if relevant>. <One-sentence what-it-does>.
license: MIT
metadata:
author: <user or "agent-daemon">
spec: agentskills.io
version: "1.0"
allowed-tools: <Bash, Read, Edit, ... — whichever the skill needs>
disable-model-invocation: false
---
# <Title — short, imperative>
<One-paragraph "what + why" — describe the problem this solves.>
## When to use
<Concrete trigger conditions, not synonyms — what is the user actually trying to do?>
## Procedure
1. <Step 1 — imperative>
2. <Step 2>
3. <Step 3>
## Examples
### Example 1: <name>
<concrete scenario with file paths, commands, expected output>
## Anti-patterns
- <thing not to do, with reason>
- <another anti-pattern>Keep skills focused on one concern. If you find yourself writing two distinct procedures, that's two skills.
Append to existing (Phase 2 said append-mode)
Use Edit tool to modify the existing SKILL.md:
- Broaden triggers — read the current
description:line, union your new triggers in (dedup), write back. Keep one line under 500 chars. - Add example — under
## Examples, append a new### Example N: <name>block with the new scenario. - Add anti-pattern (if relevant) — under
## Anti-patterns, append a bullet.
Do NOT touch the existing ## Procedure steps unless the user explicitly asks. Adding examples is safe; rewriting procedure is risky.
Phase 5 — Log
Append one JSONL line to both logs:
echo '{"ts":"<ISO timestamp>","skill_id":"<skill-id>","triggers":["t1","t2"],"scope":"<global|project>","action":"<new|append>","source_session":"<session-id-if-known>"}' >> .agent-daemon/skill-author-log.jsonl
echo '{"ts":"<ISO timestamp>","skill_id":"<skill-id>","triggers":["t1","t2"],"scope":"<global|project>","action":"<new|append>","cwd":"<cwd>"}' >> ~/.agent-daemon/skill-author-log.jsonlCreate parent directories if missing:
mkdir -p .agent-daemon
mkdir -p ~/.agent-daemonExamples
Example 1: User wants a global skill for a framework pattern
User says: "har baar Next.js mein SSE route banane mein dikkat hoti hai, isko skill bana lo"
Decision:
- Scope: global (Next.js pattern, language-agnostic enough — applies to any Next.js project)
- Dedup search: no existing skill matches >70% (nothing about SSE routes)
- Write: new skill at
~/.claude/skills/nextjs-sse-route/SKILL.md - Log: both JSONL logs get an entry
Example 2: User wants something already covered
User says: "create a skill for triaging production bugs"
Decision:
- Scope: global
- Dedup search:
debug-triageexists, 75% overlap (same triggers "broken", "production", "bug") - Action: append-mode — add a
## Example: production bug triageblock todebug-triage/SKILL.md, broadendescriptiontriggers if needed - Surface to user before writing: "Found
debug-triage(75% overlap). Appending a production-bug example to it instead of new file. OK?"
Example 3: Project-specific pattern
User says: "shop-app mein har baar checkout test karte time Stripe test keys set karni padti hain, ye remember karwa lo"
Decision:
- Scope: project (mentions shop-app + checkout + Stripe test keys — project-specific)
- Dedup search:
test-shop-app-checkoutexists in~/.claude/skills/(user's global) with 60% overlap - Action: Surface to user — "Found global
test-shop-app-checkout. The Stripe keys detail is project-specific to shop-app. Append to global, or create new project-localnegotiator-test-creds?" - After user picks → write accordingly
Anti-patterns
- Writing a new skill without dedup search. This is the root failure mode. Every new SKILL.md is cheap to write but expensive in cognitive load — 217 skills already, adding noise hurts everyone.
- Project-local when global would do. If the pattern applies to any project, it's global. Project-local is for things that genuinely couldn't help in a different codebase.
- Ignoring the cross-session log. A user creating "the same skill" twice in different sessions is a sign the FIRST one wasn't discoverable. Append to the first; don't write a second.
- Touching
## Procedurein append-mode. Append-mode is for examples + triggers + anti-patterns. Procedure changes need explicit user confirmation — that's editing behavior, not extending coverage. - Forgetting the log. No log = next session won't know this skill exists/was extended. Always write the JSONL line, even on failure (record what was attempted).
Verification
After writing, ask the user to confirm by triggering the skill:
"Skill written to
~/.claude/skills/<id>/SKILL.md. To test: in a new Claude Code session, type a phrase matching its triggers — it should auto-load."
If the new skill's triggers don't fire reliably, the description line is probably too narrow. Broaden the trigger phrases (most common fix).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

