Skip to content

isoscelesxyz/liam-claude-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

liam-claude-plugin

My personal Claude Code skills and slash commands, packaged as a single-plugin marketplace.

Skills

Skill Invocation Purpose
audit (auto-triggered) Two-pass code audit — adversarial Opus deep review + independent Codex second opinion.
react-doctor (auto-triggered) React project triage — lint, dead code, a11y, bundle size, architecture diagnostics.
gitignore (auto-triggered) Generates or edits .gitignore files following per-stack conventions.
visual-verify (auto-triggered) BEFORE/AFTER screenshots at every Tailwind breakpoint + interactive slider UI to verify responsive fixes.
learn (auto-triggered) Socratic teaching loop that makes sure you deeply understand work that was just done.
tailnet-host (auto-triggered) How to host/serve/publish something on liam-vps's tailnet ports (7000–7100), see what's already taken, and make it survive reboot. Stack-agnostic.
second-opinion (auto-triggered) Consult other AI models (Codex/GPT, Grok, Gemini, any OpenRouter model) for outside perspectives — read-only by default, scoped writes only on explicit ask, zero pinned model names.
audit-fix /liam:audit-fix Work through an existing HTML audit report one finding at a time — verify, minimal fix, commit, update the report row.
publish /liam:publish Render markdown into a styled, self-contained HTML page under .notes/ (house theme) and open it in the browser.
ui-tips /liam:ui-tips Personal scrapbook of UI/design-engineering details — browsable collection, not a style guide.
thermo-nuclear-code-quality-review /liam:thermo-review Extremely strict maintainability + abstraction review hunting for "code judo" simplifications.
teach (WIP) /liam:teach Multi-session teaching workspace — missions, lessons, learning records. Vendored from mattpocock/skills for evaluation; lives in skills/wip/.
copywriter (WIP) /liam:copywriter Write or rewrite copy in Liam's voice — Slack, Linear, email, announcements, blog posts. Voice rules tuned from a ~1,100-item corpus audit. Repo copy is canonical; claude.ai mirror synced manually. Lives in skills/wip/.

WIP skills live in plugins/liam/skills/wip/ while under evaluation — see Trial (WIP) skills for how they're wired up.

Slash commands

Command Purpose
/liam:housekeeping Project housekeeping — gitignore, CLAUDE.md, stale logs, screenshots, artifacts.
/liam:ide-edits VS Code / Cursor settings, extensions, keybindings — assisted edits with current docs.
/liam:pr-check Triage + resolve PR review feedback and CI failures to clean state. Never merges.
/liam:react-doctor Run the react-doctor CLI and triage findings against the current branch.
/liam:visual-verify Two-phase responsive screenshot capture + slider UI. Combine with a change request ("...and visually verify") for full capture→edit→capture loop.
/liam:thermo-review Thermo-nuclear code quality review — harsh maintainability + abstraction audit of the current changes (branch / diff / full).
/liam:audit-fix Run the audit-fix skill — verify → fix → commit → reconcile, one audit finding at a time.
/liam:publish Run the publish skill — render markdown to a house-themed HTML page in .notes/reports/ and open it.
/liam:wrap-up Session wrap-up — summarize what happened and save a datestamped breadcrumb to .notes/wrap-ups/.
/liam:catch-up Super-brief "where was I" report after time away — reads the latest wrap-up note + git state to reload context fast.

Hooks

Event Script Purpose
Stop autopublish.mjs Auto-publish report-worthy responses to styled HTML in .notes/responses/.

The MCP orphan reaper (cleanup-mcp-orphans.sh, /liam:cleanup-mcp, a SessionStart hook, and a machine LaunchAgent) lived here v0.7.0–v0.7.1 and was removed deliberately: orphaned MCP cleanup is the platform's job (tracked upstream at anthropics/claude-code#66280, several fixes already landed). If leaks pile up before upstream finishes, restore from git history at tag-commit 3304c38.

Install

Inside Claude Code:

/plugin marketplace add isoscelesxyz/liam-claude-plugin
/plugin install liam@isoscelesxyz

Everything surfaces under the liam: namespace (e.g. /liam:pr-check).

Develop

Source of truth: this repo at ~/code/isoscelesxyz/liam-claude-plugin. Claude Code keeps a cached copy under ~/.claude/plugins/cache/isoscelesxyz/liam/<version>/ which is what actually runs — rebuilt from GitHub each time the marketplace updates.

Normal flow

cd ~/code/isoscelesxyz/liam-claude-plugin
$EDITOR plugins/liam/skills/audit/SKILL.md
git add -A && git commit -m "feat(audit): ..." && git push

Then, inside Claude Code:

/plugin marketplace update isoscelesxyz

Restart the session (or open a new one) so the refreshed cache is loaded. /plugin marketplace update fetches from the GitHub remote — push first or it won't see your changes.

Add a new skill

mkdir -p plugins/liam/skills/<name>
$EDITOR plugins/liam/skills/<name>/SKILL.md
# commit, push, marketplace update

Surfaces as /liam:<name> after the next session.

Trial (WIP) skills

Skills being evaluated before promotion live under plugins/liam/skills/wip/<name>/ (see skills/wip/README.md). Skill auto-discovery is not recursive — it only scans direct subdirectories of skills/ — so every WIP skill must also be registered in the plugin manifest's skills array, which supplements the default scan:

// plugins/liam/.claude-plugin/plugin.json
"skills": ["./skills/wip/teach"]

When promoting a WIP skill, move it to skills/<name>/ and remove its manifest entry. Vendored skills keep upstream content unmodified plus a source-attribution comment at the top of SKILL.md.

Tighter iteration loop (optional)

Edit the cached copy directly to test changes live without pushing:

$EDITOR ~/.claude/plugins/cache/isoscelesxyz/liam/<version>/plugins/liam/skills/<name>/SKILL.md

Test in a new session, then port the change back to ~/code/isoscelesxyz/liam-claude-plugin/ and commit. /plugin marketplace update blows away local-only edits to the cache.

Versioning

Bump version in both .claude-plugin/marketplace.json and plugins/liam/.claude-plugin/plugin.json on every shipped change: minor for new skills/commands/features, patch for fixes. Docs-only commits don't bump.

Layout

liam-claude-plugin/
├── .claude-plugin/
│   └── marketplace.json       # marketplace catalog (name: "isoscelesxyz")
├── plugins/
│   └── liam/
│       ├── .claude-plugin/
│       │   └── plugin.json    # plugin manifest (name: "liam")
│       ├── skills/
│       │   ├── audit/SKILL.md
│       │   ├── audit-fix/SKILL.md
│       │   ├── react-doctor/SKILL.md
│       │   ├── gitignore/{SKILL.md,references/}
│       │   ├── publish/{SKILL.md,scripts/}
│       │   ├── ui-tips/{SKILL.md,references/}
│       │   ├── visual-verify/{SKILL.md,references/,scripts/}
│       │   ├── learn/SKILL.md
│       │   ├── thermo-nuclear-code-quality-review/SKILL.md
│       │   └── wip/                   # trial skills — must be registered in plugin.json "skills"
│       │       ├── README.md
│       │       ├── teach/             # vendored from mattpocock/skills
│       │       └── copywriter/        # ported from Liam's claude.ai personal skill
│       ├── commands/
│       │   ├── audit-fix.md
│       │   ├── housekeeping.md
│       │   ├── ide-edits.md
│       │   ├── pr-check.md
│       │   ├── publish.md
│       │   ├── react-doctor.md
│       │   ├── visual-verify.md
│       │   └── thermo-review.md
│       └── hooks/
│           ├── hooks.json         # Stop hook config
│           └── scripts/
│               └── autopublish.mjs
└── README.md

Credits

About

Liam's personal Claude Code skills (audit, react-doctor, gitignore)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors