@iceinvein/agent-skills
Thinking frameworks from foundational software engineering texts, installed as skills for AI coding agents.
Each skill encodes a specific design methodology (Brooks, Parnas, Rams, Feathers, etc.) so your agent doesn't just write code; it reasons about structure, coupling, complexity, and perception the way these authors taught us to.
Install
Requires Bun. Install it with curl -fsSL https://bun.sh/install | bash.
bunx @iceinvein/agent-skills install <skill> [<skill> ...] # one or more
bunx @iceinvein/agent-skills install # no args: opens picker
Auto-detects Claude Code, Cursor, Codex, or Gemini CLI. Use --tool claude to target one, -g to install globally.
Claude Code plugin
Each skill is also a plugin in the iceinvein-skills marketplace:
/plugin marketplace add iceinvein/agent-skills
/plugin install <skill>@iceinvein-skills
- Plugin skills are namespaced: invoke them as
/<skill>:<skill>(e.g./sluice:sluice). - Third-party marketplaces do not auto-update by default. Update from
/plugin. - Activation modes do not apply: sluice's hooks always run while the plugin is enabled, and terse is never auto-activated.
- Do not install sluice through both routes, or its hooks run twice. Its statusline segment is bunx-only.
- magpie, migrate and scope-estimate need Bun on PATH.
- improve-my-codebase's plugin carries every audit, so under the plugin route its audits do not need installing separately.
Skills
Migration
Code Architecture
Skills that analyze how code is structured: module boundaries, coupling, complexity, contracts, and evolution over time.
UI & Visual Design
Skills that evaluate interfaces through perception, cognition, and design principles.
System Design & Integration
Skills for reviewing high-level architecture, messaging patterns, and data flow.
Verification
Skills that check code does what it was meant to do, with evidence rather than opinion.
Communication
Skills that control how the agent communicates: output compression, token efficiency, and response style.
Career & Writing
Skills for producing job application materials that read like a human wrote them, match the role, and align with the resume.
Workflow
Skills that shape how work gets done rather than analyzing code.
Orchestration
Skills that compose the other audit skills into higher-level workflows.
Commands
bunx @iceinvein/agent-skills install <skill> [<skill> ...] [--tool <tool>] [--activation <mode>] [-g]
bunx @iceinvein/agent-skills install # picker
bunx @iceinvein/agent-skills browse # alias
bunx @iceinvein/agent-skills remove <skill> [-g]
bunx @iceinvein/agent-skills update <skill> [-g]
bunx @iceinvein/agent-skills list
bunx @iceinvein/agent-skills info <skill>
install accepts multiple skill names and installs each in turn. Run install (or browse) with no args to open an interactive picker: arrow keys to navigate, space to toggle, enter to install all selected, Esc to cancel.
Updating Skills
Each skill is versioned independently (see skill.json inside each skill). The CLI tracks what you installed in .agent-skills.lock and can pull newer versions from GitHub.
bunx @iceinvein/agent-skills update <skill> # update one skill
bunx @iceinvein/agent-skills update --all # update everything in the lockfile
bunx @iceinvein/agent-skills list # show installed versions
update re-fetches the latest manifest and files from this repo, removes the old install, and re-installs cleanly. Your chosen activation mode (session vs. global) is preserved across updates, as is the set of tools you installed for. Use -g to update globally-installed skills.
After any command other than update, the CLI runs a background freshness check (at most once every 24 hours) and prints a one-line notice if anything is out of date:
⚠ Updates available: some-skill (v0.2.0 → v0.3.0)
Run: agent-skills update --all
The check is best-effort: it silently skips on network failure and only hits GitHub once per day per project. To force a re-check sooner, delete the lastUpdateCheck field in .agent-skills.lock (or just run any command after 24 hours have elapsed).
To pin to the current version, do nothing: skills are not auto-updated. update is opt-in.
Activation Modes (Claude Code)
Some skills (like terse and sluice) support activation modes. Pick one at install time:
- session: invoke the skill manually with
/<skill>each session - global: auto-activate every Claude Code session via a
SessionStarthook in.claude/settings.json
Each skill declares its own default: terse defaults to session, sluice defaults to global because a router that is not always on does not route.
If a skill declares activation support and you're installing for Claude Code interactively, the CLI prompts you. Use --activation session or --activation global for scripted installs. remove strips the hook cleanly; update preserves your choice across version bumps.
Supported Tools
Claude Code, Cursor, Codex and Gemini CLI. Most skills install into all four; bug-hunter, magpie, migrate, scope-estimate and sluice are Claude Code only, and the CLI skips the other tools for them.
How It Works
The CLI fetches skills from GitHub and installs them into the right locations for your tool:
Skills install to the current project by default. Use -g to install to your home directory so the skill is available everywhere. A .agent-skills.lock file tracks installations for update and remove.
Contributing
- Releasing: how versions are bumped, tagged, and published to npm
License
MIT