skills-social
Skill20 starsChanged 16 days agoMITView on GitHub
Regenerate a shareable JSON catalog of the user's skills — one entry per skill in ~/dotfiles/skills with a category, a short tagline, a trigger phrase and its slash invocation, ready to render as a social-media card. Use when the user runs /skills-social — to refresh, update, regenerate, share, or export their skills list as the skills social media JSON (skills catalog JSON), a shareable overview of the skills they have built.
In this repository21 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- a11y-page-auditSkill
- branch-comment-cleanupSkill
- branch-test-planSkill
- context7-mcpSkill
- env-example-syncSkill
- feature-based-architectureSkill
- great-readmeSkill
- harvest-reviewsSkill
- light-dark-modeSkill
- localizationSkill
- minimal-code-changesSkill
- prod-page-auditSkill
- quantum-design-tokensSkill
- reviewable-commitsSkill
- shell-aliases-socialSkill
- skill-best-practices-syncSkill
- skills-auditSkill
- stacked-pr-splitterSkill
- team-reviewerSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
Read every skill in the skills folder and write a catalog JSON built for sharing: one entry per skill, each with a fixed category, a …
- Very specific: line 34
Read the name and description frontmatter of each.
- Very specific: line 94
Every category is in the fixed vocabulary, and no description exceeds 80 characters.
- Very specific: line 96
No private paths, hostnames, project IDs or credentials leaked out of any SKILL.md — the output is committed to a public repo.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skills Social JSON
Read every skill in the skills folder and write a catalog JSON built for sharing: one
entry per skill, each with a fixed category, a one-line tagline, the moment you would
reach for it, and its slash invocation. Never edit a SKILL.md — this skill writes
exactly one file.
Inputs
Defaults; each is overridable by invocation args.
- Skills root: the directory containing this skill —
~/dotfiles/skills - Source of truth:
<root>/*/SKILL.md. Enumerate those directories, never the symlinks in~/.claude/skillsor~/.cursor/skills-cursor— those go stale when a skill is renamed - Output:
<root>/skills-social.json - Author:
git config user.name— never hardcode
Phase 1 — Collect the skills
- List every
<root>/*/SKILL.md. Each one is an entry, includingskills-socialitself. - Read the
nameanddescriptionfrontmatter of each.namemust equal the directory name — report a mismatch rather than silently trusting either. - Note any skill carrying
disable-model-invocation: true; itstriggersays when the user runs it, not when it fires automatically.
Phase 2 — Categorize
Assign exactly one category from this vocabulary, so the rendered image can color-code consistently. Prefer widening an existing category; add a new one only when three or more skills would share it (see Notes).
| category | covers | current members |
git-workflow | branches, commits, PRs | reviewable-commits, stacked-pr-splitter, branch-test-plan, harvest-reviews, team-reviewer |
code-quality | how code gets written and changed | branch-comment-cleanup, minimal-code-changes, feature-based-architecture, quantum-design-tokens |
web-audit | shipping a page or site | a11y-page-audit, prod-page-audit, localization, light-dark-mode |
tooling | environment, docs, config plumbing | context7-mcp, env-example-sync, great-readme |
meta | skills and dotfiles about themselves | skills-audit, skill-best-practices-sync, shell-aliases-social, skills-social |
Phase 3 — Write the taglines
Rewrite each frontmatter description into image copy. The frontmatter is trigger bait for the model — never copy it verbatim.
description: one sentence, at most 80 characters, present tense, stating the outcome ("Turns a branch diff into a manual QA plan"). No "Use when…", no "This skill".trigger: at most six words naming the moment ("before opening a PR"). Lowercase, no trailing period.invocation:/<name>.
Phase 4 — Write the JSON
{
"meta": {
"author": "<from git config user.name>",
"source": "~/dotfiles/skills",
"generated": "YYYY-MM-DD",
"count": <N>
},
"entries": [
{
"name": "branch-test-plan",
"category": "git-workflow",
"description": "Turns a branch diff into a manual QA plan with regression checks",
"trigger": "before opening a PR",
"invocation": "/branch-test-plan"
}
]
}Sort entries by category in the vocabulary order above, then by name, so regenerating
produces a stable diff. Two-space indent, trailing newline.
Phase 5 — Verify
- Valid JSON:
python3 -m json.tool <root>/skills-social.json >/dev/null. meta.countequals the number ofentriesequals the number of*/SKILL.mddirectories under the root.- Every
categoryis in the fixed vocabulary, and nodescriptionexceeds 80 characters. - No private paths, hostnames, project IDs or credentials leaked out of any
SKILL.md— the output is committed to a public repo.
Fix any failure and recheck until all four pass.
Report
Compare against the committed version (git -C <root> diff HEAD -- skills-social.json)
and print:
## Skills social — <date>
### Added
- <skill — category assigned>
### Removed
- <skill — no longer in the folder>
### Updated
- <skill — what changed: category, tagline, or trigger>
### Still needs human attention
- <name/directory mismatches, skills that resisted a one-line tagline>Notes & edge cases
- A skill fits no category: widen the closest category's scope rather than adding a value; add one only when three or more skills would share it, and say so in the report.
- Stale symlinks:
~/.claude/skillscan hold dangling links to renamed skills — never enumerate from there. - Self-inclusion:
skills-socialappears in its own output. - Local skills:
~/.skills.localis private and machine-specific. Leave it out on purpose, even thoughmake slink-skillslinks it into~/.claude/skills. - Image generation: out of scope. The JSON is the deliverable, mirroring
zsh/shell-aliases-social.jsonand the image rendered from it.
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.

