Skip to content
esondPublic

About

Personal LLM coding plugin and skills.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

skills

Eric's personal skills for Claude Code, Codex, and other coding agents. They ship as five independently installable plugins — eng, comms, behavior, docs, and esond — so each bucket can be toggled on and off independently, per project or context.

Plugin Bucket
eng Writing software: review, git history, .NET hygiene, design, repo docs.
comms External communications and human-facing writing.
behavior Tweaks to the agent's behavior: output shaping.
docs Documentation: Diátaxis-guided writing and auditing of docs.
esond Personal to Eric: how he writes and works, not a general-purpose workflow.

Installation

Two routes, depending on the agent. Pick one; installing through both leaves two copies of each skill.

Claude Code

From a terminal:

claude plugin marketplace add esond/skills
claude plugin install eng@esond
claude plugin install comms@esond
claude plugin install behavior@esond
claude plugin install docs@esond
claude plugin install esond@esond

The same commands work inside a Claude Code session as /plugin marketplace add esond/skills, /plugin install eng@esond, and so on.

The first line registers this repo as a marketplace; the rest install plugins from it. Install only the ones you want.

Codex and other agents

Install every skill with the skills.sh CLI:

npx skills@latest add esond/skills

Or one bucket at a time:

npx skills@latest add esond/skills/plugins/eng
npx skills@latest add esond/skills/plugins/comms
npx skills@latest add esond/skills/plugins/behavior
npx skills@latest add esond/skills/plugins/docs
npx skills@latest add esond/skills/plugins/esond

Codex can also subscribe to the repo as a plugin marketplace with codex plugin marketplace add esond/skills, then install buckets from /plugins inside a Codex session.

Updating

Claude Code:

/plugin marketplace update esond

skills.sh:

npx skills update

Managing

Each plugin toggles independently in Claude Code:

/plugin disable eng@esond
/plugin enable eng@esond
/plugin uninstall eng@esond

A skills.sh install is plain files under .agents/skills/ (or .claude/skills/); delete a skill's directory to remove it.

eng — engineering

Skills

Skill What it does
clean-unused-cpm-packages Removes unused <PackageVersion> entries from Directory.Packages.props files in a .NET CPM repo by scanning every .csproj/.props/.targets for PackageReference includes, then verifies via dotnet restore.
inline-review Finds and addresses inline code-review comments left in the code, marked with a rev: prefix (// rev:, # rev:, etc.) — treats each like a GitHub review comment, makes the change or answers the question, then removes the ones it handled.
pr-review-resolver Fetches unresolved GitHub PR review threads, submitted review bodies, and general comments, pushes back on the ones it disagrees with, fixes the rest, waits for CI, replies with the commit hash, resolves the threads, and re-requests review. It acts on its own and stops only for calls that need you; --ask shows the full triage for approval first.
reorganize-branch-commits Rewrites a non-default branch's history into clean, logical commits — proposes groupings from the actual diffs, gets approval, backs up, then rebuilds via git reset + re-commit (or git rebase -i) and checks nothing was lost.
righting-software-system-design Heavyweight, opt-in, interview-driven system design session faithful to Juval Löwy's Righting Software. Walks framing → use cases → interrogative volatility analysis → iDesign component mapping (Manager/Engine/ResourceAccess/Utility) → call-chain validation, surfacing unknown-unknowns along the way and producing a written recommendation report.
sync-core-docs User-invoked router over sync-core-repo-docs: accepts --readme, --claude, --review (they combine; no flags runs all three) and hands off to that skill. Invoked by name (/eng:sync-core-docs in Claude Code), never auto-triggered.
sync-core-repo-docs Creates or audits a repo's three core doc files — README.md, AGENTS.md (or CLAUDE.md), REVIEW.md — in that dependency order. Missing files are generated from the codebase; existing files are audited for accuracy and fixed after confirmation. README is checked for effective newcomer orientation, AGENTS.md defers to /init/claude-md-improver where available, and REVIEW.md holds reviewer guidance kept distinct from AGENTS.md.

Each skill's description field enumerates the natural-language phrases that trigger it — you don't invoke them by name, the agent picks them up from how you phrase the request.

comms — communications

Skill What it does
de-slop Deep-strips AI tells (claudisms) from a draft while preserving its meaning and the writer's voice. Sweeps the draft against a bundled snapshot of the living claudisms banlist, catches the constructions a text search misses, then re-sweeps its own rewrites. For writing that ships under your name.

behavior — agent behavior

Skills

Skill What it does
bro Restates the agent's last message in plain, jargon-free language. Explicit-only (disable-model-invocation: true) — invoked by name, not auto-triggered.
durable-compact Before /compact, writes the session's goal, state, decisions, corrections, hard-won facts, and next step to a handoff file under ~/.claude/handoffs/, asks one question about borderline items, then prints a focused /compact line and a resume prompt. Explicit-only (disable-model-invocation: true). Claude Code only: not listed for skills.sh or Codex.

Hooks

Hook What it does
SessionStart (compact) Runs load-handoff.sh, which loads the handoff durable-compact just wrote into the compacted context. It acts only in the session that ran the skill, and only within 30 minutes of it; other sessions and later compactions are untouched. The hook and the skill both delete pending pointers older than 30 minutes, such as one left behind by /clear. A copy of the skill used outside the plugin offers to add the same hook to settings.json.

docs — documentation

Skills for writing and auditing documentation with the Diátaxis methodology: every piece of content is one of four kinds — tutorial, how-to guide, reference, or explanation — and most documentation problems come from one document trying to serve two needs at once. The diataxis router applies the compass and hands off to the right type skill; the four type skills each carry the craft rules for their kind.

Skill What it does
diataxis The router: classifies what the user wants to write with the Diátaxis compass (action/cognition × acquisition/application) and loads the matching type skill. With --audit, assesses existing docs against the model and proposes relocations/splits without rewriting content.
diataxis-explanation Writes or audits understanding-oriented discussion — architecture overviews, design rationale, concept docs. Consolidates the scattered "why", makes connections, admits opinion, keeps instruction and catalogs out.
diataxis-how-to Writes or audits goal-oriented directions — runbooks, recipes, troubleshooting guides for competent practitioners. Names the goal in the title, omits the unnecessary, links out to reference and explanation.
diataxis-reference Writes or audits information-oriented technical description — API/CLI/config docs. Austere and consistent, structured to mirror the machinery, describing without instructing or opining.
diataxis-tutorial Writes or audits learning-oriented lessons — getting-started and onboarding walkthroughs. Single reliable path, visible results at every step, ruthlessly minimized explanation.

esond — personal

Skills that encode how Eric specifically writes and works. Everything else in this marketplace is meant to be useful to anyone; this bucket is not. Enable it only where output should sound like him.

Skills

Skill What it does
conversational-voice Writes Eric's side of a conversation with another person — Slack, DMs, email, PR and review comments — in his own voice. Direct and informal, in everyday words, with the answer up front for readers who skim. Applies to turns in an exchange, not to artifacts he authors like PR descriptions or commit messages.
work-item-voice Writes issues in Eric's voice for any tracker — Jira, Linear, GitHub Issues — across the three kinds: features, tasks, and bugs. Never prescribes the implementation, so the developer keeps room to solve it. Features get behavior-driven framing (the "imagine it's 1922" test) with concrete domain detail; bugs get what happened / what was expected / how to see it. Language is written for non-native readers, and a sentence stays only if a developer needs it to start. Also covers editing an issue that already exists — inherit the voice, re-read the whole body after an append, and expect the tracker to rewrite your markdown. Drafts by default; filing a new issue is gated on confirmation, an edit at explicit request is not.

Shared references

Both voice skills read writing-for-people.md before they draft. conversational-voice owns the file and work-item-voice reads it by relative path. It holds the rules that are not specific to either one — the writer pays the compression cost, and how to hand the draft back. Any voice skill added later reads the same file rather than restating the rules.

About

Personal LLM coding plugin and skills.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages