Cross-repo engineering-methodology skills — the dev-process scaffolding
that has converged across onsager-ai/onsager,
onsager-ai/onsager-skills,
onsager-ai/duhem, and
codervisor/lean-spec and is
worth maintaining once in one place. Each repo previously carried its
own copy; this bundle consolidates them so a single npx skills add
installs the lot.
# Install every skill, user-global, for Claude Code.
npx skills add -g onsager-ai/dev-skills --skill '*' -a claude-codeInstalled under ~/.claude/skills/<skill-name>/. The skills load
automatically whenever Claude Code starts in any directory.
To install a single skill, drop the '*':
npx skills add -g onsager-ai/dev-skills --skill plan-dag -a claude-codeProject-scope (drops symlinks into ./.claude/skills/) is also
supported, but for cross-repo dev skills the global install is the
intended shape — one machine, one canonical copy.
| Skill | One-liner |
|---|---|
issue-spec |
Create lean-spec-style GitHub issues as specs for human-AI aligned implementation. Repo-agnostic methodology; consumer repos overlay their area taxonomy via CLAUDE.md. |
plan-dag |
Render an issue / sub-issue / PR plan as a high-DPI PNG dependency DAG, color-coded done / in-progress / available-next / blocked. |
ci-triage |
Triage failed CI runs on any GitHub-Actions–driven repo — regression vs flake vs infra, with a rolling main-red issue. |
web-testing |
L2 AI-driven web UI testing for React/Vite dashboards. Procedure is repo-agnostic; example routes are Onsager-shaped, forkable. |
railway |
Operate Railway deployments from the CLI — logs, metrics, variables, deploys, SSH, DB shell. Optional bundled scripts are Onsager-specific wrappers. |
agent-browser |
Browser automation CLI for AI agents — navigate, click, fill, screenshot, scrape. |
git-commit |
Disciplined git commit workflow — stage, write a clear message, commit. |
github-integration |
GitHub CLI patterns (gh) for issues, PRs, and cloud-auth pitfalls. |
parallel-worktrees |
Coordinate multiple agent sessions on parallel git worktree branches. |
rust-node-bootstrap |
Scaffold a new Rust + Node.js hybrid project (Cargo + pnpm + Turbo). |
rust-node-ci |
GitHub Actions workflows for Rust + Node.js hybrid repos. |
rust-npm-publish |
Publish a Rust+Node hybrid as platform-specific npm packages with version sync. |
| Class | Where it lives | Example |
|---|---|---|
| Cross-repo methodology | dev-skills (this repo) | issue-spec, plan-dag, ci-triage |
| User-facing product loop | onsager-ai/onsager-skills |
onsager-design-workflow, onsager-run-workflow |
| Repo-local dev process | the consumer repo's .claude/skills/ |
onsager-dev-process, lean-spec-pre-push, duhem-pr-lifecycle |
A repo-local skill stays local when it carries the repo's specific area taxonomy, build-tool conventions, or product-specific seams. A skill belongs here when the procedure generalizes — Onsager, lean-spec, and Duhem all benefit from the same shape with at most a thin CLAUDE.md overlay.
This bundle is the consolidation target for engineering-methodology skills used across the listed repos. To change a skill:
- Open a PR against this repo with the SKILL.md edit (and any
accompanying
scripts//references//templates/changes). - Get it reviewed and merged.
- Re-run
npx skills add -g onsager-ai/dev-skills --skill '*' -a claude-codein every consumer repo's working directory (or globally on each developer machine) to pick up the new version.
The installed copies under ~/.claude/skills/ are read-only.
Consumer repos that include the check-skill-edit.sh PreToolUse hook
will block direct edits to any installed copy that carries a
.upstream-source marker — the fix is to PR upstream and re-run
npx skills add.
If you're adding a new consumer repo that wants every skill here,
just run the install one-liner. If your repo only needs one or two,
install them individually with --skill <name>. Skills with
<repo>-pr-lifecycle-shaped pointers (like ci-triage) expect the
consumer repo to provide its own sister skill; the consumer's
CLAUDE.md should name it and reference the dev-skills counterpart.
MIT. See LICENSE.