Skip to main content

caddis — a Claude Code harness

License: MIT

caddis is a Claude Code harness — a plugin (plus a shared pool of skills, subagents, slash-commands, and hooks) that makes a single Claude Code session dramatically more capable and much harder to derail. It's agent-agnostic: the same pool is exported to other AI CLIs (Codex, Antigravity, Copilot), and CLAUDE.md↔AGENTS.md are mirrors so every agent reads the same conventions.

This repository is the published marketplace mirror: it hosts the caddis and caddis-extras Claude Code plugins, the portable per-harness bundles under bundles/, and the shared pool. It is generated and pushed by the caddis authoring repo's exporter — issues are welcome here, but code changes land upstream and are synced in.


Install (Claude Code)

# 1. Register this repo as a plugin marketplace (once)
claude plugin marketplace add saajunaid/caddis-plugin

# 2. Install the core plugin (always-on, lean context)
claude plugin install caddis@caddis

# 3. (optional) Add the long-tail skill library — cloud/data/media/etc. Disabled by default,
#    so it costs zero always-on context until you enable it.
claude plugin install caddis-extras@caddis

Then, in any repo:

/caddis:setup-project-ai     # deploy the harness into the project

A normal working loop looks like:

/feature-plan      # (or /prd first) → writes .caddis/plans/<slug>.md, the durable spine
/implement         # executes the plan phase-by-phase, TDD, commit per phase
/ship              # express lane: commit → push → CI (hotfixes); feature work: /ship-pr then /ship-merge
/handoff           # ALWAYS end a session with this — writes the resume doc

The one habit that matters most: end every session with /handoff. It writes .caddis/relay.md, which is re-injected automatically at the next session start — you resume with zero re-discovery instead of a cold, forgetful session.

See USERGUIDE.md for the full command/skill/hook reference and the mental models.


What you get

  • Slash-commands — /feature-plan, /prd, /implement, /tdd, /ship · /ship-pr · /ship-merge, /handoff, /kb, /digress · /resume, /cross-review, /usage-review, /mermaid-db · /excalidraw-db, /setup-project-ai, /migrate-dir.
  • Subagents — lean, own-context helpers: anchor (evidence-first verification), code-reviewer, preflight (plan-vs-codebase validation), tester, debug, codebase-audit, security-analyst, data-engineer, sql-expert, knowledge-transfer.
  • A four-layer memory model — session relay (relay.md), automatic Dream Memory (memory.jsonl), a per-repo knowledge base (.caddis/kb/ + DOC-MAP.md), and cross-repo memory.
  • Hooks & safety — a PreToolUse guard for secret/destructive writes, auto-lint on edit, and the SessionStart/Stop hooks behind relay + memory.
  • Tiered skills — the core dev set ships in caddis; the long tail (cloud, data, media, productivity) lives in caddis-extras, off by default.

Installing outside Claude Code (Codex, Antigravity, …)

The knowledge layer (skills + AGENTS.md conventions) works in any harness. Per-harness bundles are published under bundles/ and installed with caddis-init:

# from a checkout of this repo (the installer ships in plugin/scripts/)
python plugin/scripts/claudster_init.py --target codex        --dest /path/to/project
python plugin/scripts/claudster_init.py --target antigravity  --dest /path/to/project

Safe by design: a sha256 manifest tracks what the installer wrote; re-runs update only unmodified files, and anything you edited locally is reported as a conflict, never overwritten.


Repo layout

Path What it is
.claude-plugin/marketplace.json The marketplace manifest (caddis + caddis-extras)
plugin/ The core caddis Claude Code plugin (agents, commands, hooks, core skills)
plugin-extras/ The caddis-extras skill library (disabled by default)
bundles/ Portable per-harness exports (codex, antigravity) for caddis-init
.github/ The shared pool: skills, agents, prompts, instructions, tools
sync.ps1, export_runtime_resources.py, validate_pool.py The build/sync machinery

A note on names

caddis was previously published as claudster (and, before that, this repo hosted the junai Copilot pipeline — see the pre-1.2 entries in CHANGELOG.md). Repos set up under the old name have a .claudster/ artifact dir; everything reads both .caddis/ and .claudster/ and writes where the repo already lives, so nothing breaks. Run /caddis:migrate-dir when you want a repo converted. The ~/.claudster/ user scope (keys, install records) is permanent.


License

MIT. The published plugin bundles (caddis / caddis-extras) carry the same license in their manifests.

Metadata

Release files for junai-mcp 0.2.27

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for junai-mcp 0.2.27
File Size Uploaded Provenance Actions
junai_mcp-0.2.27.tar.gz 22.4 kB Without provenance Details for junai_mcp-0.2.27.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for junai-mcp 0.2.27
File Interpreter ABI Platform Actions
junai_mcp-0.2.27-py3-none-any.whl Python 3 none any Details for junai_mcp-0.2.27-py3-none-any.whl

Total release size: 42.3 kB

Release files / junai_mcp-0.2.27.tar.gz

Download URL junai_mcp-0.2.27.tar.gz
Size 22.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5f218e1c476b714389a6fa7bbb686cf8fa439dce9d308540d3116f0389f6594f
BLAKE2b-256 checksum
How to use checksums
854371661d0ad9b657ad3f4c908700f58aa546e929aa6e31844fd65bb1c188a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release files / junai_mcp-0.2.27-py3-none-any.whl

Download URL junai_mcp-0.2.27-py3-none-any.whl
Size 19.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2d6c145b0350a15a4ff4b0419a992cf51c15233f74967cf2f22461fe3899d7e1
BLAKE2b-256 checksum
How to use checksums
4c54311d9925deef719dd3362f7e0771db89134f0dca668e4b8c7a049e153a2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Security for junai-mcp 0.2.27

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page