caddis — a Claude Code harness
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 incaddis-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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.