From idea to merged PR — autonomously, grounded in your code, gated only where it matters.
25 skills · deep live-verified stack lore (languages · frameworks · databases · observability) · a local code knowledge-graph · cross-session memory · parallel agent orchestration · tunable output brevity (lower token cost) · an absolute destructive-command guard · zero required deps
✦ What it is
Most AI coding tools make you describe the stack, pick templates, and babysit context. magician inspects your project on every session start, assembles targeted knowledge for each technology it finds, grounds itself in a local graph of your code, and runs the whole software lifecycle — design → plan → build → verify → review → ship — pausing only at the decisions that are genuinely yours.
One command · idea → PR
Gather requirements → design → TDD plan → parallel build → verify → review → PR. You approve the plan; it does the rest.
|
Already exists? Transform it
Comprehend a feature from its live usage, code, or docs — then port it elsewhere or integrate / swap it in place behind a parity contract.
|
⚡ The flow
Approve the plan once — then it executes autonomously, re-gating only on real side effects (writes to shared state, commits, push, PRs, deploys). Reads, searches, tests, and knowledge-graph lookups never interrupt you.
How it works — detailed diagrams (manifest flow · dynamic inspector · self-learning)
The manifest flow — full autonomous SDLC
flowchart TD
A["/manifest"] --> B{"scope OK?"}
B -- too large --> C["decompose into sub-projects"]
B -- ok --> D["/conjure — design dialogue"]
D --> E["approved spec"]
E --> F["/blueprint — plan + parallelism map"]
F --> G["/portal — git worktree isolation"]
G --> H["/orchestrate — parallel agents"]
H --> I["/ward — TDD throughout"]
I --> J["/certify — tests + browser"]
J --> K{all green?}
K -- no --> H
K -- yes --> L["/scrutinize — review + remediate"]
L --> N["/seal — PR + loop until merged"]
style A fill:#6c63ff,color:#fff
style D fill:#6c63ff,color:#fff
style F fill:#6c63ff,color:#fff
style H fill:#43e97b,color:#000
style I fill:#43e97b,color:#000
style J fill:#43e97b,color:#000
style L fill:#43e97b,color:#000
style N fill:#4facfe,color:#000
Human gates (4 only): scope confirm → spec approval → plan approval → ship. Everything else: autonomous.
Dynamic project inspector — no manual stack selection
flowchart LR
A["session start"] --> B["scan project files"]
B --> C{"detect markers"}
C --> D["package.json · tsconfig"]
C --> E["pom.xml · *.xcodeproj"]
C --> F["go.mod · Cargo.toml · pyproject"]
C --> G["pubspec.yaml · project.godot"]
D --> L["assign archetype + inject context"]
E --> L
F --> L
G --> L
L --> M["session ready in < 2s"]
style A fill:#0d1117,color:#ccc,stroke:#555
style M fill:#43e97b,color:#000
Polyglot stacks (Next.js + FastAPI + Go) get full coverage automatically — no pack selection.
Self-learning — intelligence grows each session
flowchart TD
A["session ends"] --> B["Stop hook: chronicle"]
B --> C["git log + diff (observable only)"]
C --> D["write chronicle entry"]
D --> E{"pattern seen 3x?"}
E -- yes --> G["offer: create skill via /inscribe"]
E -- no --> I["next session"]
G --> I
I --> K["load recent entries as context —\ncumulative intelligence without replay"]
style B fill:#f7971e,color:#000
style D fill:#f7971e,color:#000
style G fill:#43e97b,color:#000
style K fill:#6c63ff,color:#fff
🧠 What makes it different
🤖 Real autonomy, not a promptTurns on Claude Code auto mode (magician-ui automode) — its classifier auto-approves reads and request-aligned work and gates writes, deploys, force-push, and destructive ops, honoring boundaries you state in chat. Approve the plan, then step back.
|
🗺 Grounded in your codeA local knowledge-graph (kg, stdlib, no network) indexes your repo into ranked file:line retrieval + change blast-radius — so agents fetch exactly what they need instead of grepping whole files. Fewer tokens, shared across agents, zero context loss.
|
🔒 An absolute safety floorAPreToolUse hard gate blocks catastrophic commands before permission rules even run — it overrides allow-rules, fires in every mode, and has no escape hatch. rm -rf / never executes here.
|
🧾 Evidence over claimsNo "done / fixed / passing" without a verification command run this turn whose output was read — and a subagent's task is only done when the VCS diff shows it, not when the agent says "success." |
🧭 Remembers across sessionsPer-project.workspace/ (team-shared via git) plus a machine-global reference store loaded into every session. Context follows you across repos; conventions survive context compaction.
|
🔌 MCP-free integrationsJira & Confluence over their REST APIs via bundled CLIs — throttle-aware, bulk-safe, one command per call. No MCP server to run, no per-call prompts. |
🔮 Lore — deep, live-verified stack knowledge new in 4.8.0
It doesn't guess your stack. It knows it — and stays honest about versions.
Every session, magician detects the languages, frameworks, databases, and log platform you're actually using and injects concise, version-adaptive guidance for exactly those — the rich detail one hop away, on demand. Every rule is traceable to current official docs (authored and adversarially re-checked against live docs — not model memory), and it's version-aware (Java 8→25, Python 3.8→3.14, and so on). Your repo's own conventions always win; lore is the baseline for when the repo is silent.
📚 Languages & frameworksRust · Java (+JVM: Spring · Micronaut · Quarkus) · JavaScript/TypeScript (+React/Next · Vue · Angular · Svelte · Express · NestJS · GraphQL · ORMs · UI-styling) · Python (+data & ML/AI) · Go — each version-adaptive. |
🗄 Databases~30 engines across 7 tracks — relational · OLAP · document/NoSQL · key-value · vector · graph · search/time-series — each with its own performance playbook and a shared cross-engine foundation. |
📈 Observability & loggingLog at the right level for each environment, at the meaningful points — then actually find it. Six platforms, each with its exact query language: Dynatrace (DQL) · Grafana/Loki (LogQL) · Splunk (SPL) · GCP Cloud Logging · CloudWatch (Logs Insights) · Azure Monitor (KQL). |
🎯 Platform-aware, by memorymagician asks once where your app is deployed (or detects it), remembers it per-project, then writes platform-shaped logs and proposes exact queries. Migrated? Say “we moved to Dynatrace” and it updates. |
Progressive disclosure — big knowledge, tiny footprint:
flowchart LR
A["session start"] --> B["detect languages · DBs · log platform"]
B --> C["inject small cores<br/>(≤1.5 KB each, bounded)"]
C --> D["session context<br/>(~once, zero per-turn cost)"]
B -. "only when you touch that tech" .-> E["deep-dive trees on demand"]
E -. " " .-> F["exact APIs · perf tuning · correct queries"]
style A fill:#0d1117,color:#ccc,stroke:#555
style C fill:#6c63ff,color:#fff
style D fill:#43e97b,color:#000
style E fill:#4facfe,color:#000
style F fill:#4facfe,color:#000
Always-injected cores stay small and bounded; the rich per-topic deep-dives (and every database's performance.md) load only when you touch that tech — so no matter how much lore ships, your per-turn context stays flat.
📖 The full lore catalog — every language, database & platform covered (click to expand)
Languages & ecosystems
- Rust, Go (Gin · Echo · Chi · Fiber · GORM · sqlc · sqlx · ent · gRPC · Cobra · Viper · slog)
- Java + JVM — Spring · Micronaut · Quarkus · JDBC · ORM (Hibernate/JPA · jOOQ · MyBatis) · migrations (Flyway · Liquibase)
- JavaScript / TypeScript / Node — React+Next · Vue+Nuxt · Angular · Svelte+SvelteKit · Express · Fastify · NestJS · GraphQL · ORMs (Prisma · Drizzle · TypeORM · Sequelize · Mongoose · Kysely) · UI-styling (Tailwind · Sass · Less · Bootstrap · MUI · Ant Design · Chakra · Mantine · styled-components · Emotion · Radix/shadcn · vanilla-extract)
- Python — FastAPI · Django · Flask · Litestar · pandas · NumPy · Polars · PyTorch · scikit-learn · TensorFlow · JAX · Transformers · LangChain · SQLAlchemy · Alembic · SQLModel
Databases — each with a core, deep-dive tree, and a performance.md
| Track | Engines |
|---|---|
| Relational / OLTP | PostgreSQL · MySQL · Oracle · SQL Server · SQLite |
| Analytics / OLAP | DuckDB · ClickHouse · Snowflake · BigQuery · Redshift |
| Document / NoSQL | MongoDB · DynamoDB · Cassandra · Couchbase · Firestore |
| Key-value / Cache | Redis · Memcached |
| Vector | Pinecone · Weaviate · Qdrant · Milvus · Chroma · pgvector |
| Graph | Neo4j · Neptune · ArangoDB |
| Search / Time-series | Elasticsearch/OpenSearch · InfluxDB · TimescaleDB · Prometheus |
Observability & logging — principles (levels × environment · what/where to log · structured + correlation IDs · errors · PII/secrets · sampling) + platforms: Dynatrace · Grafana/Loki · Splunk · GCP Cloud Logging · CloudWatch · Azure Monitor.
🎚 Not your style? Lore is a baseline below your repo's own rules — turn it off anytime with magician-ui lore off, a per-project .magician/lore.off, or MAGICIAN_LORE=0. The status bar shows 📚 lore:on / lore:off so you always know what's shaping the session.
🗣 Voice — leaner output, lower cost new in 4.9.0
Output tokens are the expensive side of the bill (~5× input on current models). Say the same thing in fewer of them.
magician sets an output-brevity voice every session — a style directive that trims filler while keeping every fact. A leaner voice cuts token cost with no quality loss, and it ships lean by default so you save from message one.
| voice | wordiness | what it does |
|---|---|---|
warrior | leanest | the shortest fully-correct answer — no preamble, unrequested examples, or closing recaps |
scribe (default) | leaner than usual | necessary explanation only; filler, restatements, and "what I just did" recaps trimmed |
bard | standard | native Claude/Codex verbosity — nothing injected |
It cuts filler, not facts. All substance stays, and code, commands, file paths, and error text are kept verbatim — it never compresses prose into fragments, arrow-chains, or jargon (readability beats raw length).
🗣 Set it with magician-ui voice warrior|scribe|bard — or per-project .magician/voice / env MAGICIAN_VOICE (first match wins, then the default scribe). The status bar shows 🗣 voice:scribe live. Auto-injected into Claude Code sessions; the setting is stored for Codex too.
🔒 Safety — an absolute destructive-command guard new in 4.6.0
Security is infrastructure, not advice.
Claude Code keeps its existing PreToolUse(Bash|PowerShell) guard unchanged. Codex ships a separate POSIX PreToolUse(Bash) matcher tailored to Codex's event schema; trust it once via /hooks and keep Codex sandboxing + approvals enabled. Both are deterministic defense-in-depth layers, not replacements for the host sandbox.
The Codex adapter requires Python 3.10+ for its safety hook and bundled helpers.
🗑 Filesystem wipesrm -rf / · ~ · $HOME · --no-preserve-root · system roots
|
💽 Disk & device destructiondd of=/dev/… · mkfs · wipefs · blkdiscard · shred /dev/… · diskutil erase…
|
⛓ Device / critical-file overwriteredirection onto/dev/sd* · over /etc/passwd · shadow · sudoers · fstab
|
💣 Fork bombs:(){ :|:& };: and self-replicating variants
|
🔑 Recursive perms on system rootschmod -R / chown -R on / · ~ · /etc · /usr …
|
🕳 Opaque exec & repo lossdownload piped into a shell ·base64 -d → shell · eval "$(…)" · git clean -x
|
Wrappers and nested payloads are inspected (sudo/env/timeout prefixes and one level of sh -c '…' are unwrapped before matching) while quoted inert mentions remain allowed.
What it guarantees — and what it does not
This is a denylist, not a sandbox (CWE-78). Be honest about the boundary:
It guarantees — once installed, and on Codex once trusted via /hooks:
- Deterministic. The listed catastrophic patterns are blocked by a fixed matcher, not by model judgment — same input, same block, every time.
- Pre-execution. The deny fires in
PreToolUse, before the shell runs. In Claude Code it runs before permission/allow rules, so an over-broad allow-rule or auto-mode can't wave these through. - Wrapper-aware. Common wrappers and one level of
sh -cnesting are unwrapped before the pattern check.
It does not guarantee — treat these as hard limits, not caveats:
- Not a complete boundary. It blocks known catastrophic forms. A novel obfuscation, an unlisted tool, or destruction through a language runtime (e.g. a Python script calling
os.remove) can slip past. The real containment layer is the host sandbox — Claude Code's sandbox and Codex'sworkspace-write/read-only. - Shell-tool scoped. It matches the Bash/PowerShell tool it is wired to. It does not inspect bytes sent to an already-running process (Codex
write_stdin) or non-shell tools. The Codex launcher is POSIX-only. - Codex must trust it. Enabling the plugin does not auto-run its hooks — untrusted, Codex skips the guard entirely. Requires Python 3.10+.
Bottom line: it is deterministic defense-in-depth that sits under the sandbox, approval policy, and model judgment — not a replacement for any of them. Keep the sandbox and approvals on.
🛠 Skills
25 skills, each with modern frontmatter (allowed-tools · disable-model-invocation · argument-hint · context: fork) that scales reasoning effort to the task. Approval gates use the structured AskUserQuestion tool, not prose.
⚙️ Core SDLC/manifest · /conjure · /blueprint · /ward · /unravel · /certify
|
🎛 Orchestration/orchestrate · /weave · /portal · /seal
|
🛡 Review & security/scrutinize · /divine · /sentinel
|
🧠 Intelligence/knowledge-graph · /chronicle · /statusline
|
🔗 Integration/jira · /confluence
|
🔬 Research · Quality · Meta/magic · /transmute · /accelerate · /deploy · /autopsy · /almanac · /inscribe
|
Full skill catalog — what each one does
| Skill | Purpose |
|---|---|
/manifest | Full autonomous SDLC — 4 human gates (scope · spec · plan · ship); runs conjure → blueprint → portal → orchestrate → certify → scrutinize → seal |
/conjure | Structured design dialogue with a visual browser companion — 4 modes; HARD-GATE: no code until the spec is approved |
/blueprint | Turns an approved spec into a TDD task plan with a parallelism map + a verbatim Global-Constraints header every task inherits |
/ward | TDD engine — red → green → refactor, one behavior at a time; the RED test must fail for the reason under test |
/unravel | Systematic debugging — hypothesis before evidence; read the trace fully, reproduce first, instrument boundaries; not done until the original symptom is gone |
/certify | Full verification loop — tests · types · lint · build · browser check; evidence before any success claim |
/orchestrate | Multi-agent build from a blueprint — parallel waves + a per-task two-stage review (spec then quality), confirmed from the VCS diff |
/weave | Composes + runs a large multi-item delivery as one native Workflow with all guardrails (TDD per unit · kg grounding · certify · adversarial review) |
/scrutinize | Three specialist reviewers in parallel (correctness · security · simplification), consolidated then remediated |
/divine | Research-grounded code review — detects PR/MR/branch context, gates depth, 4 lenses, adversarially verifies findings, severity-ranked report |
/sentinel | Security scan — OWASP Top 10, secret detection, injection surfaces, dependency + git-history audit (read-only, forked context) |
/knowledge-graph | Local code knowledge-graph + cache (kg CLI, stdlib) — ranked file:line (BM25 + Personalized PageRank), neighbors, blast-radius |
/chronicle | Memory & context steward — session history, global reference store, live context size + a pre-compaction resume capsule |
/statusline | Magician CLI UI — a local, zero-token status line (context % · rot warning · sparkline · model/git/cost · active skill · 🧠 effort) |
/jira · /confluence | Atlassian over REST via bundled CLIs (no MCP) — read/search, create/update (write-gated), throttle-aware, first-run token setup |
/magic | Research, analysis & consulting — web + docs + local files; saves findings that feed conjure/blueprint/unravel |
/transmute | Comprehend an existing feature → PORT or INTEGRATE it, behind a parity contract + quality gateways |
/accelerate | Performance profiling — baseline-first, measure → optimize → re-measure |
/deploy | CI/CD pipeline create/update/monitor (GitHub Actions · GitLab CI · CircleCI) with a background CI-red watcher |
/autopsy | Blameless post-mortem — timeline · 5-Whys · action items |
/almanac | One-time workspace init — .workspace/, lean CLAUDE.md, .gitignore, MCP suggestions |
/inscribe | Author a new reusable skill; suggested by the pattern detector after repeated requests |
/portal | Git worktree isolation for a feature, with post-merge cleanup |
🚀 Install
Claude Code
Restart if prompted, then initialize your workspace with /almanac.
|
Codex
Restart or open a new task, then: “Use $almanac to set up Magician in this workspace.”Codex also ships $project-context, a read-only stack detector that progressively loads
only relevant lore cores and task-matched deep dives.
|
Codex installs a self-contained package with 25 shared adapters plus the Codex-only $project-context skill under skills/. Use codex plugin list to confirm it is installed and enabled; an enable flag alone does not install package contents.
🗂 Workspace — team memory
|
Teammates share shared/ via git; each machine keeps its own local/. A machine-global reference store loads into every session, so context follows you across repos.
Subagents never inherit your conversation — every handoff ships a self-contained context contract (goal · scope · inputs-by-path · constraints · return format), so nothing is lost across agents, workflows, or teams. |
🧰 Bundled CLIs (on PATH when the plugin is enabled)
Local code knowledge-graph + cache — |
MCP-free Atlassian REST clients — throttle-aware, bulk-safe, one command per call.
|
Manage the CLI UI status line + |
Standalone security scan for CI · self-managed context (size tracking + pre-compaction resume capsule).
|
❤ Support this work
If magician saves you time, consider sponsoring — it funds new skills, broader framework lore, and community support.
MIT © Alexander Tyagunov · built for Claude Code & Codex