Status: Aegis 1.5.0 is on npm as aegis-skills, and the Claude Code plugin installs straight from this repository. The website is live. Themis is in development, local-first and not published as an app yet (run it from a checkout, see docs/themis); its two libraries, @aegis-skills/themis-core and @aegis-skills/themis-gateway, are on npm. The status table below says what is done and what is next.
Aegis
Defensive security skills in the open Agent Skills format. One source installs natively into coding assistants, is served over the Model Context Protocol, and flattens into a single-file prompt for any chat AI.
Skill library: 24 skills across 5 families
Each skill is a workflow of phases (methodology references) plus a live-threat-intel phase. Skill content is updated monthly. Browse them at aegis-skills.vercel.app.
Quick start
# Install the skills into your tool's native skills folder and register the MCP server
npx aegis-skills install --platform claude # codex | gemini | cursor | vscode | antigravity | all
npx aegis-skills install --platform claude --project # this project only
# Serve the whole library over MCP on stdio
npx aegis-skills mcp
Claude Code plugin: /plugin marketplace add drupadsachania/aegis-skills, then /plugin install aegis-skills@aegis-skills.
Needs Node.js 24 or later.
CLI commands
Installed skills refresh automatically after an upgrade; set AEGIS_NO_AUTO_REFRESH=1 to turn that off.
Using a skill without installing
Every skill page on the website offers a single-file prompt (all phases flattened, stamped "Intel as of ") and a skill zip, and the whole library is available from the hosted MCP server. Build the prompts locally with npm run build:prompts (written to dist/prompts/, not committed).
MCP
Three read-only tools are offered: list_skills, get_skill, get_skill_phase. They serve public skill content only and never call a model.
{
"mcpServers": {
"aegis": { "command": "npx", "args": ["-y", "aegis-skills", "mcp"] }
}
}
Hosted, with nothing to install (Streamable HTTP, no authentication): https://aegis-skills.vercel.app/api/mcp.
Themis
Give Themis a task such as "validate exposure to CVE-2026-12345 on our VPN gateways". It runs a fixed seven-step workflow: validate, decompose, schedule, fan out to Aegis skills, guardrail, synthesise and audit. Deterministic steps are plain code in themis-core; reasoning steps are done by a model.
Governance is enforced in code, not by the model:
- External tools are classified read, write or execute. Every call, read included, becomes an approval request that only a human can approve; approved reads also run within a call budget.
- Access is default-deny: a server is reachable only by the skills in its
allowedSkills. - Secrets are redacted, tool output is size-capped and wrapped as untrusted, and every step, call and decision goes to a local audit log in
~/.themis. - In plugin mode, tools you connect directly to your assistant bypass Themis and are not governed.
Read more: Themis docs and
docs/themis.
Where things stand
How this is maintained
- CI on every change. Tests run on Ubuntu, macOS and Windows with Node 24, plus lint, dependency and layout guards, a production site build, and install smoke tests of each package. Releases are published by a tag-driven workflow with provenance, not from a laptop.
- Skill content is refreshed monthly. Every flattened prompt is stamped with the date of its intel.
- Dependencies are pinned and watched. GitHub Actions are pinned to full commit SHAs and kept current by Dependabot.
- Defaults are conservative. Aegis never calls a model. Themis denies tool access by default, a human approves every external call, and prompts are redacted before they reach a model provider. Skills never make network or API calls themselves.
Found a bug or a skill that is out of date? Open an issue. For a vulnerability, use private reporting instead, as described in SECURITY.md.
Links
- Website: https://aegis-skills.vercel.app
- Choose your path: https://aegis-skills.vercel.app/paths
- Docs: https://aegis-skills.vercel.app/docs
- Hosted MCP: https://aegis-skills.vercel.app/mcp
- Security: SECURITY.md
- License: LICENSE
Development
npm install
npm run dev # http://localhost:3000
npx jest # tests for every package
npm run build # production build
npm run check:deps # dependency guards
node scripts/check-layout.js # layout guard
npm run lint:skills # skill format lint
The site lives in apps/web; npm run dev -w @aegis-skills/web starts it. Requires Node.js 24 or later.
Project structure
├── apps/web/ # the website: catalogue, docs hub, downloads, hosted MCP (no model calls)
├── packages/
│ ├── aegis/ # aegis-skills: 24 skills, installer CLI, MCP server
│ ├── themis-core/ # deterministic workflow, redaction, approvals, local store
│ ├── themis-gateway/ # governed MCP client for external tools
│ ├── themis-plugin/ # Themis on your AI (MCP server, orchestrator skill, agents)
│ └── themis-app/ # Themis standalone (CLI and local dashboard)
├── scripts/ # repo scripts: lint, guards, prompt builder
├── docs/{aegis,themis,web}/ # user documentation, published by the website
└── .claude-plugin/ # Claude Code marketplace manifest
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option (SPDX: Apache-2.0 OR MIT). See LICENSE and, for reporting vulnerabilities, SECURITY.md.