agentleFS
glrodaszglrodasz/dotfiles/skills/skills-social/SKILL.md

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.

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
  1. Distinctive:

    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 …

    line 15
  2. Very specific:

    Read the name and description frontmatter of each.

    line 34
  3. Very specific:

    Every category is in the fixed vocabulary, and no description exceeds 80 characters.

    line 94
  4. Very specific:

    No private paths, hostnames, project IDs or credentials leaked out of any SKILL.md — the output is committed to a public repo.

    line 96

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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/skills or ~/.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

  1. List every <root>/*/SKILL.md. Each one is an entry, including skills-social itself.
  2. Read the name and description frontmatter of each. name must equal the directory name — report a mismatch rather than silently trusting either.
  3. Note any skill carrying disable-model-invocation: true; its trigger says 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).

categorycoverscurrent members
git-workflowbranches, commits, PRsreviewable-commits, stacked-pr-splitter, branch-test-plan, harvest-reviews, team-reviewer
code-qualityhow code gets written and changedbranch-comment-cleanup, minimal-code-changes, feature-based-architecture, quantum-design-tokens
web-auditshipping a page or sitea11y-page-audit, prod-page-audit, localization, light-dark-mode
toolingenvironment, docs, config plumbingcontext7-mcp, env-example-sync, great-readme
metaskills and dotfiles about themselvesskills-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

  1. Valid JSON: python3 -m json.tool <root>/skills-social.json >/dev/null.
  2. meta.count equals the number of entries equals the number of */SKILL.md directories under the root.
  3. Every category is in the fixed vocabulary, and no description exceeds 80 characters.
  4. 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/skills can hold dangling links to renamed skills — never enumerate from there.
  • Self-inclusion: skills-social appears in its own output.
  • Local skills: ~/.skills.local is private and machine-specific. Leave it out on purpose, even though make slink-skills links it into ~/.claude/skills.
  • Image generation: out of scope. The JSON is the deliverable, mirroring zsh/shell-aliases-social.json and the image rendered from it.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.