Curated, production-grade skills, agents, hooks, rules, commands, utilities, and presets for AI coding agents. No magic, no demos — battle-tested workflows built for developers who use AI seriously.
armory is a collection of packages for Claude Code and Claude.ai. Each package is a self-contained prompt or automation unit that extends Claude with a repeatable, opinionated workflow for a specific task domain. Packages span seven types: skills, agents, hooks, rules, commands, utilities, and presets. An optional eighth type, native extensions, packages executable OMP and Claude Code modules that install only through an explicit per-host lifecycle.
Philosophy: Packages in this collection are practical and context-free. They define the how, not just the what — covering inputs, outputs, edge cases, and failure modes. They are tested in real workloads, not constructed as examples.
Intended for developers who treat AI coding agents as a serious part of their workflow.
Use the planning packages in sequence, not as interchangeable formats:
unknown destination → decision-map → known design → plan-prompts → task-decomposer / plan-review → milestone-runner → stacked-prs
| Situation | Package | Output |
|---|---|---|
| Destination or design is unresolved | decision-map | Tracker-backed decision map, frontier, recorded decisions, and prototype evidence (built by prototype) when uncertainty needs executable evidence |
| Design is known and needs milestones | plan-prompts | Size-matched DEVELOPMENT_PLAN.md and EXECUTION_PROMPTS.md (or one prompt for one-PR work) with user-observable acceptance |
| Feature is specified and needs implementation slices | task-decomposer | Phased task board with dependencies and test matrix |
| Existing plan needs a pre-implementation challenge | plan-review | Severity-ranked plan review |
| Approved plan needs execution across sessions | milestone-runner | Goal-bound execution: one design check, observed outcome, CI, review and merge per milestone |
decision-map stops at resolved decisions. It recommends plan-prompts after a complete map and never creates implementation milestones or tasks.
Disposable prototypes are built by prototype and recorded as ticket evidence by decision-map; neither is a substitute for production implementation.
Start with the shortest complete user workflow, not a tooling-only milestone. plan-prompts sizes the plan to the work, writes acceptance as Done when <user> can <interaction> and sees <result>, and moves unsourced checks to suggested follow-ups. milestone-runner restates each milestone's GOAL, NON-GOALS and DONE WHEN, does only the work acceptance requires, and treats a reviewed, green, merged milestone with an observed interaction as done.
Both packages use the 3.0.0 contract; 2.x prompts still run. Missing release metadata blocks release preparation only. Static conformance and package/adapter checks do not establish live skill effectiveness.
158 package definitions across seven prompt/automation types and the optional native extension type. This is an unversioned rolling catalog; individual packages carry their own versions.
Orchestrator agents compose skills and other agents into multi-phase workflows. Each can run solo or be spawned by another agent via the Agent tool.
| Agent | Model | Description |
|---|---|---|
| team-lead | opus | Meta-orchestrator — decomposes multi-domain requests, delegates to specialized agents, synthesizes results |
| codebase-auditor | sonnet | Unified quality assessment — spawns code-reviewer, security-reviewer, secret-scanner in parallel, merges report |
| project-architect | opus | Phased requirements discovery producing architecture documents with diagrams and tech stack justification |
| project-planner | sonnet | Task decomposition with dependency mapping, three-point estimates, milestone timelines, and risk logs |
| research-analyst | opus | Multi-source investigation with parallel agents across web, academic, video, and competitive sources |
| idea-scout | opus | Business idea validation — Lean Canvas, parallel market/competitive/feasibility research, weighted scorecard |
| full-stack-builder | opus | End-to-end implementation from spec — scaffolding, sprints, quality passes, documentation, pre-delivery review |
| release-captain | sonnet | Explicit release preparation — authorized version and changelog edits, quality gates, secret scan, release PR; stops at the PR |
| proposal-writer | opus | Technical proposals with ROI calculations, three-tier pricing, and Problem-Agitate-Solve framing |
| content-strategist | sonnet | Multi-channel content creation with per-channel adaptation and automated quality passes |
| media-producer | sonnet | Visual and video format router — selects the right skill based on concept type and output needs |
| skill-librarian | sonnet | Explicit reflective capture — queues privacy-safe lessons, reports status, and reviews approved package changes |
| Agent | Model | Description |
|---|---|---|
| code-reviewer | sonnet | Multi-phase code review with severity-ranked findings |
| security-reviewer | sonnet | OWASP Top 10 vulnerability scanning |
| secret-scanner | haiku | Pre-commit detection of hardcoded credentials |
| skill-router | haiku | Outcome-weighted package routing using historical eval results |
| test-engineer | sonnet | Co-evolutionary skill evolution with generate-verify-refine loops |
Model routing: Agents marked
opusrequest Claude Code'sopusalias withxhigheffort by default. The declared target matrix records the alias and an expected fully disclosed model-id prefix; a dated snapshot is an observed receipt field, never inferred from this declaration. Usemaxeffort only for genuinely hard novel problems (diminishing returns, overthinking risk); usehighfor concurrent sessions or cost-sensitive work.
model_fit.yaml declares the client/model/effort/profile/telemetry matrix. Its current target requests the Claude Code opus alias, requires a disclosed model ID beginning claude-opus-, and requires observed input-token and output-token fields.
Validate a profile without creating a model request:
uv run python scripts/model_fit.py --target claude-code-opus-xhigh --profile core --dry-run
uv run python scripts/model_fit.py --target claude-code-opus-xhigh --profile full --dry-runDry runs read claude --version and resolve repository package definitions only. They report discovery metadata and explicitly state that package content was not loaded. They do not install a profile or make a paid call.
Use --live --output /path/to/receipt.json only when a model request is authorized. The probe disables built-in tools, suppresses ambient MCP configuration, and does not persist sessions. Its receipt stores derived fields only: declared target/profile/tool surface, client version, an observed model that must match the target's declared prefix, required token fields, wall time, and terminal metadata. Raw prompts, assistant text, and stream events are never retained. A missing or changed required field exits non-zero; the probe never estimates a token value.
| Skill | Description |
|---|---|
| agent-builder | Build AI agents using the Claude Agent SDK and headless CLI mode — covers tool definitions, MCP servers, and programmatic orchestration |
| github | GitHub CLI operations via gh — issues, PRs, CI/Actions, releases, search, REST/GraphQL API, with error handling and automation workflows |
| filesystem | File and directory operations via Claude Code built-in tools — replaces the Filesystem MCP server with native Read, Write, Edit, Glob, Grep |
| mcp-to-skill | Convert MCP servers into on-demand skills to reduce active context window token usage |
| gpu-optimizer | GPU optimization for consumer GPUs (8-24GB VRAM) — PyTorch, XGBoost, CuPy/RAPIDS, memory management, and CUDA tuning |
| tavily | AI-optimized web search and content extraction via Tavily API with structured output parsing |
| test-harness | Comprehensive pytest suite generation — happy path, edge cases, error conditions, fixtures, mocks, async, parametrized tests |
| debug-investigator | Systematic debugging framework — hypothesis-driven investigation with bisection, log analysis, instrumentation, and minimal reproduction |
| project-context-setup | Scaffold repo-local agent context — issue tracker rules, triage labels, domain glossary layout, ADR lookup, agent brief conventions |
| domain-modeling | Challenge ambiguous domain terms, cardinalities, and code/model contradictions; capture agreed vocabulary without generic context scaffolding or ADR writing |
| walkthrough | Deliver sourced, repeatable procedures for unavoidable human-only operations; keep agent-doable setup and repository onboarding with the agent |
| stacked-prs | Manage dependent branch stacks and stacked pull requests — inspect, split, publish, sync, validate, and record provenance; existing stacks land and clean up through ship-workflow |
| pr-explainer | Explain pushed PRs, whole stacks, or one stack member through source-grounded functional briefings and domain-knowledge updates; not defect review or merge approval |
| plan-prompts | Plan size-matched vertical increments from repository reality with user-observable acceptance; one prompt for one-PR work, unsourced checks as follow-ups |
| decision-map | Map unresolved architecture, policy, and scope decisions; record prototype-package evidence on decision tickets before implementation planning |
| prototype | Answer one design question with a throwaway, scratch-only artifact — a shareable state demo or switchable UI variants — observed in a browser before any verdict |
| milestone-runner | Run milestones toward the plan's goal with one design check, observed outcome, CI, review and merge; resume from merged-PR evidence |
| to-markdown | Convert any file or URL to clean Markdown via MarkItDown — PDF, DOCX, XLSX, PPTX, HTML, images, audio, CSV, JSON, XML, YouTube, EPub |
| web-fetch | Web content fetching via curl and WebFetch — replaces the Fetch MCP server with native HTTP operations and jq parsing |
| lightpanda-browser | Lightweight headless browser automation via Lightpanda + agent-browser CDP — 9x lower memory, 11x faster, for scraping, DOM extraction, and form automation |
| skill-library | Agent-native catalog for browsing, installing, updating, syncing, and removing armory skills from within a Claude Code session |
| skill-inventory | Locate or checksum-verify install the skill-inventory utility, then hand off to its operator guide for skill exposure and read audits |
| env-validator | Validate .env files against project requirements — missing vars, type mismatches, insecure defaults, .env.example drift |
| handoff | Maintain .docs/handoff.md as a 200-line session-continuity runbook for in-flight work, blockers, decisions, validation state, and resume steps |
| Skill | Description |
|---|---|
| literature-review | Systematic literature review — search, screen, extract, and synthesize academic research with gap analysis and structured citations |
| youtube-search | Search YouTube by keyword via yt-dlp — returns structured metadata (title, URL, channel, views, duration, date) for discovery and source curation |
| watch | Local video analysis from timestamped captions, bounded frames, and explicitly provisioned speech transcription — concepts, visual evidence, takeaways, and source-linked notes |
| notebooklm | Google NotebookLM automation via notebooklm-py — create notebooks, add sources, chat, generate podcasts, videos, infographics, quizzes, flashcards, and more |
| research-critique | Critical analysis of research papers — methodology evaluation, claims-evidence alignment, contribution assessment with collegial analytical posture |
| immune | Hybrid adaptive memory with Cheatsheet (positive patterns) and Immune (negative patterns) — Hot/Cold tiered memory, multi-domain antibody scanning, auto-learning |
| learning-workspace | Persistent human learning with user-owned mission, lessons, practice evidence, and misconception history across sessions; not one-off repo tutoring or agent memory |
| Skill | Description |
|---|---|
| appraise | Evidence-based competency and seniority appraisal from one or more Git repositories — blame-verified attribution, fork/upstream separation, rubric-driven levels with uncertainty, development plan, targeted questions |
| architecture-reviewer | Architecture reviews across 7 scored dimensions — structural integrity, scalability, security, performance, enterprise readiness, operations, data |
| codebase-advisor | Senior repo advisor — audits codebase evidence, vets findings, and writes self-contained implementation plans for executor agents |
| code-refiner | Deep code simplification and refactoring — structural complexity analysis, anti-pattern detection, idiomatic rewrites across Python, Go, TS, Rust |
| module-deepening | Find shallow modules worth deepening (offline HTML report) or design one module's interface several ways; one question at a time, stops at a decision, never edits code |
| citation-audit | Citation verification for manuscripts — checks that references are real, correctly attributed, and accurately described |
| figure-rhetoric | Figure and plot communication audit — evaluates whether visuals support the claims they are meant to carry |
| figure-table-quality | Figure and table rendering audit — checks readability, label collisions, accessibility, formatting, and consistency |
| pr-review | Diff-based PR review across 5 dimensions — code quality, test coverage, silent failures, type design, comment quality with severity-ranked output |
| pre-landing-review | Gate-oriented safety audit with two-pass severity triage — CRITICAL (SQL, races, trust) blocks landing, INFORMATIONAL is advisory |
| plan-review | Pre-implementation plan audit stress-testing scope, assumptions, risks, and failure modes with product and engineering lenses |
| manuscript-review | Pre-publication manuscript audit with 24 diagnostic dimensions, citation hygiene, and cross-element coherence |
| manuscript-provenance | Computational provenance audit verifying every number, table, and figure in a manuscript traces back to code |
| manuscript-typography | Academic typography audit — booktabs, captions, units, references, page layout, visual hierarchy, and LaTeX polish |
| repo-sentinel | Security audit and enforcement for public repos — 12 attack surfaces, pre-release readiness, history scrubbing, CI gates |
| package-evaluator | Report-v2 static PASS/FAIL and live NOT_MEASURED interpretation, with separate authored findings and authorized behavioral evidence |
| devils-advocate | Challenges AI-generated plans, code, designs, and decisions — pre-mortem, inversion, Socratic questioning with steel-manning and clear verdicts |
| dependency-audit | Dependency risk assessment — license compliance, maintenance health scoring, CVE detection, bloat identification, supply chain analysis |
| qa-systematic | Systematic web QA testing with 8-category health scoring, issue taxonomy, and regression tracking — full, quick, and regression modes |
| usage-audit | Claude Code setup audit for token waste and context bloat across MCP servers, CLAUDE.md, skills, and settings |
| ux-expert | UX audit and redesign for B2B SaaS dashboards — 8-dimension analysis, wireframes, component recommendations, severity-ranked findings |
| Skill | Description |
|---|---|
| architecture-diagram | Editable SVG architecture diagrams with native AWS/Azure/GCP icons, deterministic zone-aware layout |
| concept-to-image | Turn concepts into polished HTML visuals, export as PNG or SVG |
| animate | Manim explainers with deterministic JSON/TOML templates, editable Python scenes, MP4/WebM/GIF output, audio overlay, local verification and frame-review receipts |
| html-video | Video authored as HTML and CSS and rendered to MP4 with a pinned, project-local Hyperframes CLI — bundled templates, offline authoring and verification, user-supplied fonts |
| launch-video | Launch video of the current project — storyboard, tone presets, real UI in HTML/CSS rendered via html-video, poster baked into frame 0, share copy with enforced CC BY credits |
| remotion-video | Production motion graphics using Remotion (React) — branded content, data-driven video, audio sync, TailwindCSS |
| html-presentation | Convert documents and outlines into self-contained HTML slide presentations |
| marp-slides | Author MARP Markdown slide decks exportable to PDF, PPTX, and HTML via marp-cli |
| repo-tutor | Teach a local or remote repository through an evidence-grounded, multipage offline HTML learning guide |
| static-web-artifacts-builder | Self-contained interactive HTML artifacts — infographics, dashboards, diagrams |
| md-to-pdf | Markdown to styled PDF with Mermaid diagrams, KaTeX math, and syntax highlighting |
| Skill | Description |
|---|---|
| changelog-composer | Structured changelogs from git history — conventional commit parsing, audience filtering, breaking change detection |
| ship-workflow | Resumable shipping lifecycle — dirty or committed work through logical commits, PR, current CI and review gates, guarded merge, and proof-based cleanup; narrower requests keep their endpoint, and no version or changelog changes |
| engineering-retro | Git-based engineering retrospective — commit analysis, velocity metrics, session patterns, health scoring over time windows |
| adr-writer | Architecture Decision Records — context capture, alternatives analysis, consequence projection, status lifecycle |
| api-docs-generator | API documentation audit and enhancement — FastAPI docstrings, Pydantic examples, OpenAPI spec enrichment, coverage reports |
| arxiv-preflight | arXiv submission readiness audit across TeX source, PDF, figures, metadata, bibliography, and file organization |
| arxiv-figures | Optimize and convert figures for arXiv processor constraints, file formats, and size limits |
| arxiv-package | Package TeX/LaTeX projects into clean tarballs or zip archives ready for arXiv upload |
| Skill | Description |
|---|---|
| sql-optimizer | SQL performance analysis — EXPLAIN interpretation, anti-pattern detection, index recommendations, rewrites |
| migration-risk-analyzer | Database migration risk assessment — lock analysis, downtime estimation, rollback strategies, validation |
| benchmark-runner | Structured benchmark design — metric selection, test case matrix, environment capture, statistical rigor |
| Skill | Description |
|---|---|
| idea-validator | Full business idea validation orchestrator — Lean Canvas, JTBD, parallel market/competitive/feasibility agents, SWOT/PESTLE, weighted scoring |
| market-analyzer | Market sizing and trend analysis — TAM/SAM/SOM calculation, Rogers adoption curve, data triangulation, timing assessment |
| competitive-analyzer | Competitive landscape analysis — Porter's Five Forces, feature/pricing matrices, positioning maps, moat taxonomy |
| feasibility-assessor | Financial and technical feasibility — unit economics (CAC/LTV), revenue modeling, break-even, technical risk scoring, build-vs-buy |
| intake | Draft one external recipient's asynchronous discovery questionnaire with outcome coverage; not live elicitation, survey analytics, or repository onboarding |
| Skill | Description |
|---|---|
| prompt-lab | Systematic prompt engineering — variant generation, evaluation rubrics, failure mode analysis, test suites |
| rag-auditor | RAG pipeline evaluation — retrieval metrics, generation quality, failure taxonomy, diagnostic queries |
| task-decomposer | Feature decomposition — phased task breakdown, dependency mapping, edge case enumeration, sizing |
| estimate-calibrator | Calibrated three-point estimates — PERT ranges, unknown identification, confidence intervals, bias correction |
| Skill | Description |
|---|---|
| humanize | Prose editing with deterministic Markdown-aware scanning, selected mechanical cleanup, and preservation checks; contextual rewriting and voice matching remain judgment tasks |
| linkedin-post-style | Write LinkedIn posts in a specific technical voice with optional visual companions — carousels via md-to-pdf, images via concept-to-image, and temporal-subject video via the engine you name: html-video (Hyperframes), animate (Manim), or remotion-video (React) |
| Skill | Description |
|---|---|
| paper-to-skill | Convert research papers into executable skill packages via methodology extraction and co-evolutionary refinement |
| skill-distiller | Distill Opus-quality skill packages into deterministic, Haiku-executable workflows via trace-driven distillation |
| surrogate-verifier | Information-isolated verification generating structured test assertions and failure diagnostics for skills |
Research lineage: the EvoSkills pipeline (arXiv 2604.01687) handles offline co-evolutionary refinement. The
immuneskill together with armory's auto-memory system implements the stateful-prompt concept from Memento-Skills (arXiv 2603.18743) — the read-write reflective loop for continual learning without parameter updates.
Skills below are superseded by base model capabilities or retired migration guidance. Their source is retained for reference under archive/skills/, outside the active skills/ tree. They are excluded from standard discovery, installation, the manifest, and generated adapters, and receive no further updates.
| Skill | Reason |
|---|---|
| doc-condenser | Base model handles summarization natively |
| regex-builder | Base model generates regex at equivalent quality |
| sequential-thinking | Base model handles chain-of-thought natively |
| opus-4-7-migration | Opus 4.7 migration guidance deprecated; no longer maintained |
| Rule | Description |
|---|---|
| adaptive-thinking-control | Prompt-level control for Opus 4.7 adaptive thinking and effort-level trade-offs |
| commit-standards | Conventional commit format, branch naming |
| intent-discipline | Surface assumptions, minimum-viable code, surgical diffs, verifiable success criteria |
| test-standards | Coverage thresholds, test quality requirements |
| security-standards | Secret management, input validation, auth |
| token-efficiency | Token-efficient tool usage patterns |
| Command | Description |
|---|---|
| tdd | Test-driven development workflow |
| security-scan | Security vulnerability audit |
| refactor | Code simplification workflow |
| evolve | Co-evolutionary skill generation |
| handoff | Refresh or scaffold .docs/handoff.md |
| route | Package discovery and task-to-package routing |
| ship | Ship work through the ship-workflow lifecycle — full ship to cleanup by default, narrower endpoints on request |
| stack-pr | Stacked PR workflow command surface |
| decision-map | Slash-command surface for charting and working decision maps |
| librarian | Explicit capture, status, and review for reusable skill observations |
| Hook | Description |
|---|---|
| git-protection | Block dangerous git operations |
| pre-edit-backup | Backup files before edits |
| cost-tracker | Log session cost/token usage |
| anatomy-index | Maintain project file index with token estimates |
| read-dedup | Warn on duplicate file reads within a session |
| prompt-context | Inject text file as additionalContext on every prompt |
| handoff-on-stop | Refresh .docs/handoff.md on Stop when present |
| simplify-ignore | Collapse protected code regions before agent reads |
| stack-guard | Add stacked-PR-specific git safety checks |
| Utility | Description |
|---|---|
| arxiv-search | Search arXiv for papers, output structured JSON metadata |
| dependency-tree | Visualize project dependency graph |
| skill-inventory | Measure local skill exposure and propose reversible OMP quarantine |
| test-coverage-report | Coverage summary for changed files |
Presets install curated bundles of passive packages (rules, hooks, commands) in one command. For active workflow orchestration, use agents instead.
| Preset | Packages | Description |
|---|---|---|
| core | 3 skills, 1 hook, 1 rule | Baseline review-commit lifecycle. Start here. |
| sec-strict | 5 skills, 3 agents, 2 rules, 2 hooks, 1 command | Audit-grade security stack with codebase-auditor. Superset of core. |
| python-strict | 4 skills, 2 agents, 3 rules, 2 hooks, 2 commands | Full Python enforcement — TDD, type checking, test coverage, security standards. |
| ai-builder | 6 skills | AI/ML development toolkit — agent building, prompt engineering, GPU optimization, RAG auditing. |
| skill-evolution | 6 skills, 1 agent, 1 command | EvoSkills pipeline — co-evolutionary skill factory with paper-to-skill, distillation, and verification. |
| terse-mode | 1 hook | Terse output enforcement via prompt-context hook with compaction-immune rule injection. |
| session-continuity | 1 skill, 1 command, 1 hook | Atomic handoff install: /handoff, greenfield scaffold, and opt-in Stop refresh gated by .docs/handoff.md. |
| stack-workflow | 4 skills, 1 command, 2 hooks | Complete stacked PR bundle with topology policy, lifecycle execution, guard hooks and review gates. |
Superseded by orchestrator agents that provide autonomous workflow orchestration instead of manual skill invocation.
| Preset | Replacement |
|---|---|
| biz-validation | idea-scout agent |
| media-craft | media-producer agent |
| content-ops | content-strategist agent |
| research | research-analyst agent |
| eng-ops | ship-workflow skill + release-captain + full-stack-builder agents |
Native extensions (extensions/<feature>/EXTENSION.md) are optional executable modules for OMP and Claude Code. Each feature keeps deterministic rules in a pure shared core and ships one self-contained artifact per host: an OMP package (package.json with omp.extensions) and a Claude Code mod (.claude-plugin/plugin.json plus hooks/hooks.json).
| Extension | Capability | Exercised native surface |
|---|---|---|
| verification-receipts | Run explicitly configured local checks; retain private exact results/output and recompute scoped freshness | OMP 18.12.6 RPC and Claude Code 2.1.309 interactive, macOS arm64 |
| resume-brief | Record/reopen source-linked project cards; expose changed facts and non-executable approval holds | OMP 18.12.6 RPC and Claude Code 2.1.309 interactive/headless, macOS arm64 |
| delivery-radar | Read an explicit PR selection; separate implementation, verification, review, merge and publication without remote actions | OMP 18.12.6 RPC and Claude Code 2.1.310 interactive/headless, macOS arm64 |
| run-preflight | Check explicit OMP managed-run prerequisites; retain unknown quota and consume current admission at the owned dispatch boundary; optional harmless local sentinel | OMP 18.12.6 RPC and Claude Code 2.1.310 interactive/headless, macOS arm64 |
Extensions are never installed by profiles, presets, the interactive installer, "all" or the all-in-one Claude plugin. Install, update, disable or remove one explicitly per host:
uv run python scripts/install.py --type extension --platform omp \
--name <feature> --action install --target-root ~/.omp/agent --yes
uv run python scripts/install.py --type extension --platform claude \
--name <feature> --action install --target-root ~/.claude --yesFor OMP the payload goes to the documented discovery directory <root>/extensions/<feature>/, and --action disable adds extension-module:<feature> to disabledExtensions in <root>/config.yml. For Claude Code the payload goes to <root>/.armory-native/claude-plugins/<feature>/ and is registered in env.CLAUDE_CODE_PLUGIN_DIRS in <root>/settings.json; disable removes exactly that entry. Removal deletes only unchanged files Armory installed and the exact registration it added; extension data and foreign configuration stay. To try a built artifact for one session instead, run omp --extension <artifact>/index.ts or claude --plugin-dir <artifact>. Extensions require Bun for bundled helpers. Compatibility is claimed only for host versions and surfaces a feature records as actually exercised. See CONTRIBUTING.md for the package contract.
Claude's development --plugin-dir loader generates SDK files in the supplied directory. Use a disposable artifact copy for that workflow, separate from the managed installation payload; unknown generated files must not be deleted or accepted as Armory-owned to force an update/removal. See the feature's operator guide for explicit configuration, conservative cancellation semantics and fail-closed local/manual qualification. Credential-free CI validates deterministic behavior and distribution, not authenticated native compatibility.
Option 1 — Skills CLI (recommended)
Install any skill directly using npx skills:
# Install all skills
npx skills add Mathews-Tom/armory
# Install a specific skill
npx skills add Mathews-Tom/armory -s architecture-reviewer
npx skills add Mathews-Tom/armory -s codebase-advisor
# List available skills without installing
npx skills add Mathews-Tom/armory -lOption 2 — Profile installer
git clone https://github.com/Mathews-Tom/armory.git
cd armory
# Install by profile
just install-profile core
just install-profile python-strict
# Install by type
uv run scripts/install.py --type skill
uv run scripts/install.py --type agent
# Interactive TUI
uv run scripts/install.pyDisplays a version-aware table of all packages, detects installed versions, and lets you select which to install or upgrade. Profiles install curated bundles of packages across all types.
The profile installer validates manifest declarations, or definition frontmatter when no manifest exists, and resolves every package named by a selected profile before writing the installation destination. Malformed declarations, missing declared source directories, and unresolved profile entries stop installation with a diagnostic naming the offending declaration. Combine --profile core --type skill to resolve the profile across all package types and install only its skills.
Preset selections validate cross-type package discovery before creating the destination. Adapter generation and installation reject invalid definition frontmatter before replacing existing generated output.
Option 3 — Claude Code plugin marketplace (skills, agents, commands only)
claude plugin marketplace add Mathews-Tom/armory
/plugin install armoryThis uses Claude Code's native plugin system and loads a subset of armory's catalog.
| Package type | Supported via plugin marketplace |
|---|---|
| skills | ✅ yes |
| agents | ✅ yes |
| commands | ✅ yes |
| hooks | ❌ no — requires the profile installer |
| rules | ❌ no — armory-specific type, not a Claude Code plugin concept |
| utilities | ❌ no — armory-specific type, not a Claude Code plugin concept |
| presets | ❌ no — use just install-profile instead |
| extensions | ❌ no — native modules; never enabled by the all-in-one plugin (see Native Extensions) |
The Skills CLI (Option 1) installs only SKILL.md packages, so it skips agents, hooks, rules, commands, utilities and presets; the skill-inventory skill can install the same-name utility from the rolling release. For the full catalog across the seven copy-installed package types, use Option 2 (profile installer); native extensions install only through the explicit extension lifecycle.
Option 4 — Manual
Clone the repo and symlink individual package folders:
git clone https://github.com/Mathews-Tom/armory.git
# Skills
ln -s "$(pwd)/armory/skills/architecture-reviewer" ~/.claude/skills/architecture-reviewer
ln -s "$(pwd)/armory/skills/codebase-advisor" ~/.claude/skills/codebase-advisor
# Agents
ln -s "$(pwd)/armory/agents/codebase-auditor" ~/.claude/agents/codebase-auditorOr download .skill / .agent archives from the Releases page.
Packages activate when Claude detects a matching intent. Each package defines trigger phrases in its frontmatter description — check the definition file (SKILL.md, AGENT.md, etc.) in each folder.
Example triggers:
"Run a security audit before I push this to GitHub"
-> activates: repo-sentinel (skill)
"Review this code for quality issues"
-> activates: code-reviewer (agent)
"Evaluate the quality of this package"
-> activates: package-evaluator (skill)
Commands are invoked explicitly via slash syntax:
/tdd calculate_discount -> TDD workflow for a function
/security-scan src/ -> security vulnerability audit
/refactor src/utils.py -> code simplification
Hooks fire automatically on Claude Code lifecycle events (PreToolUse, PostToolUse, Stop, UserPromptSubmit). Rules load as context when relevant. Presets install bundles via just install-profile.
The package-evaluator separates three evidence sources:
- Machine conformance:
scripts/evaluate_package.py --path skills/my-skill-name --jsonemits report-v2 records with static conformancePASSorFAILand live effectivenessNOT_MEASURED. Static checks do not establish routing or task outcomes. - Authored findings: source-backed review of observable completion, distinct invocation branches, conditional reference loading, configuration discovery and type-specific contracts. These findings remain separate from machine status.
- Authorized behavioral evidence: actual invocations, artifacts, observations and limits, recorded only when execution is separately authorized. Unexercised behavior stays unmeasured; a static pass or authored case does not establish effectiveness.
See CONTRIBUTING.md for submission requirements and the current evaluator interface. There is no weighted package-quality score or percentage acceptance threshold.
Every active package has eval cases in {type}/<name>/evals/cases.yaml — positive triggers (should activate) and negative triggers (should not). Deprecated skill evals retain no positive cases and at least two negative cases; the skills live under archive/skills/<name>/, outside the active tree. Deprecated presets remain under presets/.
Validation:
uv run scripts/validate_evals.py # Schema validation for all eval files
uv run scripts/generate_manifest.py # Regenerate manifest.yamlCI pipeline (.github/workflows/evals.yml):
- PR gate: validates manifest synchronization and eval schemas across all registered package types
- Weekly cron: Monday runs for model drift detection
Pre-commit hook: auto-regenerates manifest.yaml when any package definition file changes.
An MCP server exposes armory packages as discoverable tools for any agent session. Register in your Claude Code config:
{
"mcpServers": {
"armory": { "command": "uv", "args": ["run", "mcp/server.py"] }
}
}Available tools:
| Tool | Description |
|---|---|
search_packages |
Keyword search with type, category, and tag filters |
get_package |
Full metadata for a single package by name |
recommend_packages |
Context-aware recommendations by language, framework, or task |
list_categories |
All categories with package counts |
Skills are validated against the agentskills.io open standard:
uv run scripts/validate_agentskills.py # Warnings only (default)
uv run scripts/validate_agentskills.py --strict # Extra fields are errorsThe validator checks discovered skills against the agentskills.io frontmatter spec (name, description, license, compatibility, metadata, allowed-tools) and flags Claude Code-specific fields as warnings.
Each package can be archived for distribution. Archive type is auto-detected from the directory:
uv run scripts/package.py skills/architecture-reviewer # produces .skill
uv run scripts/package.py agents/code-reviewer # produces .agent
uv run scripts/package.py hooks/git-protection # produces .hookPackages are authored as Claude Code-native definitions. The adapter generator transforms them into platform-specific formats for Cursor, OpenAI Codex, and Gemini CLI.
# All platforms
uv run scripts/generate_adapters.py
# Single platform
uv run scripts/generate_adapters.py --platform cursor
uv run scripts/generate_adapters.py --platform codex
uv run scripts/generate_adapters.py --platform gemini
# Filter by package type
uv run scripts/generate_adapters.py --platform cursor --type skills --type rules
# Preview without writing
uv run scripts/generate_adapters.py --dry-runOutput lands in adapters/{platform}/ (gitignored — generated, not source).
| Armory Type | Cursor | Codex | Gemini |
|---|---|---|---|
| Skills | .cursor/rules/{name}.mdc |
skills/AGENTS.md |
.gemini/skills/{name}/SKILL.md |
| Agents | .cursor/rules/{name}.mdc |
agents/AGENTS.md |
.gemini/agents/{name}.md |
| Rules | .cursor/rules/{name}.mdc (alwaysApply) |
standards/AGENTS.md |
Sections in GEMINI.md |
| Commands | .cursor/commands/{name}.md |
workflows/AGENTS.md |
.gemini/commands/workflow/{name}.toml |
| Hooks | — | — | — |
| Utilities | — | — | Wrapped as .gemini/skills/ |
| Presets | — | — | — |
Download pre-built adapter packages from the latest release:
# Cursor
npx @anthropic-armory/installer --target cursor
# Codex
npx @anthropic-armory/installer --target codex
# Gemini
npx @anthropic-armory/installer --target gemini --dir /path/to/projectOr download directly from GitHub Releases:
# Cursor — extract .cursor/ into your project root
curl -sL https://github.com/Mathews-Tom/armory/releases/download/latest/armory-cursor.tar.gz | tar -xz
# Codex — extract AGENTS.md + subdirectories into project root
curl -sL https://github.com/Mathews-Tom/armory/releases/download/latest/armory-codex.tar.gz | tar -xz
# Gemini — extract .gemini/ into your project root
curl -sL https://github.com/Mathews-Tom/armory/releases/download/latest/armory-gemini.tar.gz | tar -xzThe Python installer supports all targets with --target:
uv run scripts/install.py --target cursor --project-dir /path/to/project
uv run scripts/install.py --target codex --project-dir /path/to/project
uv run scripts/install.py --target gemini --project-dir /path/to/projectGenerate adapter output from source (requires Python 3.12):
uv run scripts/generate_adapters.py --platform cursor
uv run scripts/generate_adapters.py --platform codex
uv run scripts/generate_adapters.py --platform geminiOutput lands in adapters/{platform}/ (gitignored — generated, not source).
Cursor: Rules with alwaysApply: true (project standards) load on every prompt. Skills and agents load when Cursor matches the description or glob pattern.
Codex: The root AGENTS.md is a condensed index under the 32 KiB budget. Full content is in subdirectory AGENTS.md files, loaded via Codex's hierarchical discovery.
Gemini: Skills are a near 1:1 copy (references, scripts, and assets included). Rules become sections in GEMINI.md. Commands are converted to TOML format.
Not all package types have equivalents on every platform:
- Hooks have no equivalent on Cursor or Codex. Gemini has hooks but uses a different event model.
- Presets require a dependency resolver that no target platform provides.
- Utilities with executable scripts are skipped on Cursor and Codex (passive context only). Gemini wraps them as skills.
See CONTRIBUTING.md for guidelines on submitting new packages or improving existing ones.
Looking for something to build? Check WANTED.md for missing skill domains, requested agents, and infrastructure improvements.
See CONTRIBUTORS.md for the full list.
See ATTRIBUTIONS.md for the full list of upstream libraries, tools, and projects that armory packages wrap, depend on, or were inspired by.
MIT. See LICENSE for details.
Migrated from praxis-skills. If you had skills installed from the previous repo, re-run the installer to update paths. Existing skills continue to work — the content is unchanged.