{
  "markdown": "<div align=\"center\">\n\n<img src=\"assets/hero.svg\" alt=\"magician — full-stack SDLC for Claude Code\" width=\"100%\">\n\n<br>\n\n[![Version](https://img.shields.io/badge/version-4.12.0-6C63FF?style=for-the-badge&labelColor=0b0b14)](https://github.com/Alexander-Tyagunov/magician/releases)\n[![Claude Code](https://img.shields.io/badge/Claude_Code-plugin-a78bfa?style=for-the-badge&labelColor=0b0b14&logo=anthropic&logoColor=white)](https://code.claude.com)\n[![Claude 5](https://img.shields.io/badge/Claude_5-Opus_·_Sonnet_·_Fable-f59e0b?style=for-the-badge&labelColor=0b0b14)](lore/models.md)\n[![Codex](https://img.shields.io/badge/Codex-adapter-22d3ee?style=for-the-badge&labelColor=0b0b14)](https://github.com/Alexander-Tyagunov/magician)\n[![License](https://img.shields.io/badge/license-MIT-43e97b?style=for-the-badge&labelColor=0b0b14)](LICENSE)\n[![Sponsor](https://img.shields.io/badge/sponsor-%E2%9D%A4-ff6584?style=for-the-badge&labelColor=0b0b14)](https://github.com/sponsors/Alexander-Tyagunov)\n\n<h3>From idea to merged PR — autonomously, grounded in your code, gated only where it matters.</h3>\n\n<sub>25 skills · tuned for <b>Opus 5 · Sonnet 5 · Fable 5</b> and still correct on 4.6/4.8 · 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</sub>\n\n</div>\n\n<img src=\"assets/divider.svg\" alt=\"\" width=\"100%\">\n\n## ✦ What it is\n\nMost 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.\n\n<table>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4>One command · idea → PR</h4>\n<pre><code>/manifest</code></pre>\nGather requirements → design → TDD plan → parallel build → verify → review → PR. You approve the plan; it does the rest.\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4>Already exists? Transform it</h4>\n<pre><code>/transmute</code></pre>\nComprehend a feature from its live usage, code, or docs — then <b>port</b> it elsewhere or <b>integrate / swap</b> it in place behind a parity contract.\n</td>\n</tr>\n</table>\n\n<img src=\"assets/divider.svg\" alt=\"\" width=\"100%\">\n\n## ⚡ The flow\n\n<div align=\"center\">\n<img src=\"assets/pipeline.svg\" alt=\"magician SDLC pipeline: research → design → plan → build → verify → review → ship\" width=\"100%\">\n</div>\n\n**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.\n\n<details>\n<summary><b>How it works — detailed diagrams</b> (manifest flow · dynamic inspector · self-learning)</summary>\n\n<br>\n\n### The manifest flow — full autonomous SDLC\n\n```mermaid\nflowchart TD\n    A[\"/manifest\"] --> B{\"scope OK?\"}\n    B -- too large --> C[\"decompose into sub-projects\"]\n    B -- ok --> D[\"/conjure — design dialogue\"]\n    D --> E[\"approved spec\"]\n    E --> F[\"/blueprint — plan + parallelism map\"]\n    F --> G[\"/portal — git worktree isolation\"]\n    G --> H[\"/orchestrate — parallel agents\"]\n    H --> I[\"/ward — TDD throughout\"]\n    I --> J[\"/certify — tests + browser\"]\n    J --> K{all green?}\n    K -- no --> H\n    K -- yes --> L[\"/scrutinize — review + remediate\"]\n    L --> N[\"/seal — PR + loop until merged\"]\n    style A fill:#6c63ff,color:#fff\n    style D fill:#6c63ff,color:#fff\n    style F fill:#6c63ff,color:#fff\n    style H fill:#43e97b,color:#000\n    style I fill:#43e97b,color:#000\n    style J fill:#43e97b,color:#000\n    style L fill:#43e97b,color:#000\n    style N fill:#4facfe,color:#000\n```\n\nHuman gates (4 only): scope confirm → spec approval → plan approval → ship. Everything else: autonomous.\n\n### Dynamic project inspector — no manual stack selection\n\n```mermaid\nflowchart LR\n    A[\"session start\"] --> B[\"scan project files\"]\n    B --> C{\"detect markers\"}\n    C --> D[\"package.json · tsconfig\"]\n    C --> E[\"pom.xml · *.xcodeproj\"]\n    C --> F[\"go.mod · Cargo.toml · pyproject\"]\n    C --> G[\"pubspec.yaml · project.godot\"]\n    D --> L[\"assign archetype + inject context\"]\n    E --> L\n    F --> L\n    G --> L\n    L --> M[\"session ready in < 2s\"]\n    style A fill:#0d1117,color:#ccc,stroke:#555\n    style M fill:#43e97b,color:#000\n```\n\nPolyglot stacks (Next.js + FastAPI + Go) get full coverage automatically — no pack selection.\n\n### Self-learning — intelligence grows each session\n\n```mermaid\nflowchart TD\n    A[\"session ends\"] --> B[\"Stop hook: chronicle\"]\n    B --> C[\"git log + diff (observable only)\"]\n    C --> D[\"write chronicle entry\"]\n    D --> E{\"pattern seen 3x?\"}\n    E -- yes --> G[\"offer: create skill via /inscribe\"]\n    E -- no --> I[\"next session\"]\n    G --> I\n    I --> K[\"load recent entries as context —\\ncumulative intelligence without replay\"]\n    style B fill:#f7971e,color:#000\n    style D fill:#f7971e,color:#000\n    style G fill:#43e97b,color:#000\n    style K fill:#6c63ff,color:#fff\n```\n\n</details>\n\n<img src=\"assets/divider.svg\" alt=\"\" width=\"100%\">\n\n## 🧠 What makes it different\n\n<table>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4>🤖 Real autonomy, not a prompt</h4>\nMakes Claude Code <b>auto mode</b> your starting mode (<code>magician-ui automode</code>) — its classifier auto-approves reads and request-aligned work and <b>gates writes, deploys, force-push, and destructive ops</b>, honoring boundaries you state in chat. Approve the plan, then step back.\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4>🗺 Grounded in your code</h4>\nA local <b>knowledge-graph</b> (<code>kg</code>, stdlib, no network) indexes your repo into ranked <code>file:line</code> retrieval + change <b>blast-radius</b> — so agents fetch exactly what they need instead of grepping whole files. Fewer tokens, shared across agents, zero context loss.\n</td>\n</tr>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4>🔒 An absolute safety floor</h4>\nA <code>PreToolUse</code> hard gate blocks catastrophic commands <b>before permission rules even run</b> — it overrides allow-rules, fires in every mode, and has no escape hatch. <code>rm -rf /</code> never executes here.\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4>🧾 Evidence over claims</h4>\nNo \"done / fixed / passing\" without a verification command run <i>this turn</i> whose output was read — and a subagent's task is only done when the <b>VCS diff</b> shows it, not when the agent says \"success.\"\n</td>\n</tr>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4>🧭 Remembers across sessions</h4>\nPer-project <code>.workspace/</code> (team-shared via git) plus a machine-global reference store loaded into <b>every</b> session. Context follows you across repos; conventions survive context compaction.\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4>🔌 MCP-free integrations</h4>\nJira &amp; 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.\n</td>\n</tr>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4>🎚 Tuned to the model you're on &nbsp;<sub><code>new in 4.10.0</code></sub></h4>\nEffort guidance resolves to what your model actually supports (<code>xhigh</code> doesn't exist on Opus 4.6 or Sonnet 4.6 — Claude Code clamps it silently). Review lenses report for coverage, because current models take \"be conservative\" literally and drop real bugs. Fan-out is capped. Nothing here requires a Claude 5 model.\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4>📡 Sessions that talk to each other &nbsp;<sub><code>new in 4.10.0</code></sub></h4>\nWorktrees isolate files, not consequences. When a change breaks what a sibling session is building on, Claude hands it across instead of leaving you as the message bus. Feature-detected — a silent no-op where cross-session messaging isn't available.\n</td>\n</tr>\n</table>\n\n<img src=\"assets/divider.svg\" alt=\"\" width=\"100%\">\n\n## 🔮 Lore — deep, live-verified stack knowledge &nbsp;<sub><code>new in 4.8.0</code></sub>\n\n> It doesn't guess your stack. It *knows* it — and stays honest about versions.\n\nEvery 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.\n\n<table>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4>📚 Languages &amp; frameworks</h4>\nRust · Java (+JVM: Spring · Micronaut · Quarkus) · JavaScript/TypeScript (+React/Next · Vue · Angular · Svelte · Express · NestJS · GraphQL · ORMs · UI-styling) · Python (+data &amp; ML/AI) · Go — each version-adaptive.\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4>🗄 Databases</h4>\n~30 engines across 7 tracks — relational · OLAP · document/NoSQL · key-value · <b>vector</b> · graph · search/time-series — each with its own <b>performance playbook</b> and a shared cross-engine foundation.\n</td>\n</tr>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4>📈 Observability &amp; logging</h4>\nLog at the right level for each environment, at the meaningful points — then actually find it. Six platforms, each with its <b>exact query language</b>: Dynatrace (DQL) · Grafana/Loki (LogQL) · Splunk (SPL) · GCP Cloud Logging · CloudWatch (Logs Insights) · Azure Monitor (KQL).\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4>🎯 Platform-aware, by memory</h4>\nmagician asks <b>once</b> where your app is deployed (or detects it), remembers it per-project, then writes platform-shaped logs and proposes exact queries. Migrated? Say <i>“we moved to Dynatrace”</i> and it updates.\n</td>\n</tr>\n</table>\n\n**Progressive disclosure — big knowledge, tiny footprint:**\n\n```mermaid\nflowchart LR\n    A[\"session start\"] --> B[\"detect languages · DBs · log platform\"]\n    B --> C[\"inject small cores<br/>(≤1.5 KB each, bounded)\"]\n    C --> D[\"session context<br/>(~once, zero per-turn cost)\"]\n    B -. \"only when you touch that tech\" .-> E[\"deep-dive trees on demand\"]\n    E -. \" \" .-> F[\"exact APIs · perf tuning · correct queries\"]\n    style A fill:#0d1117,color:#ccc,stroke:#555\n    style C fill:#6c63ff,color:#fff\n    style D fill:#43e97b,color:#000\n    style E fill:#4facfe,color:#000\n    style F fill:#4facfe,color:#000\n```\n\nAlways-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.\n\n<details>\n<summary><b>📖 The full lore catalog</b> — every language, database &amp; platform covered (click to expand)</summary>\n\n<br>\n\n**Languages &amp; ecosystems**\n\n- **Rust**, **Go** (Gin · Echo · Chi · Fiber · GORM · sqlc · sqlx · ent · gRPC · Cobra · Viper · slog)\n- **Java + JVM** — Spring · Micronaut · Quarkus · JDBC · ORM (Hibernate/JPA · jOOQ · MyBatis) · migrations (Flyway · Liquibase)\n- **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)\n- **Python** — FastAPI · Django · Flask · Litestar · pandas · NumPy · Polars · PyTorch · scikit-learn · TensorFlow · JAX · Transformers · LangChain · SQLAlchemy · Alembic · SQLModel\n\n**Databases** — *each with a core, deep-dive tree, and a `performance.md`*\n\n| Track | Engines |\n|---|---|\n| Relational / OLTP | PostgreSQL · MySQL · Oracle · SQL Server · SQLite |\n| Analytics / OLAP | DuckDB · ClickHouse · Snowflake · BigQuery · Redshift |\n| Document / NoSQL | MongoDB · DynamoDB · Cassandra · Couchbase · Firestore |\n| Key-value / Cache | Redis · Memcached |\n| Vector | Pinecone · Weaviate · Qdrant · Milvus · Chroma · pgvector |\n| Graph | Neo4j · Neptune · ArangoDB |\n| Search / Time-series | Elasticsearch/OpenSearch · InfluxDB · TimescaleDB · Prometheus |\n\n**Observability &amp; 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.\n\n</details>\n\n<sub>🎚 <b>Not your style?</b> Lore is a baseline <i>below</i> your repo's own rules — turn it off anytime with <code>magician-ui lore off</code>, a per-project <code>.magician/lore.off</code>, or <code>MAGICIAN_LORE=0</code>. The status bar shows <code>📚 lore:on</code> / <code>lore:off</code> so you always know what's shaping the session.</sub>\n\n<img src=\"assets/divider.svg\" alt=\"\" width=\"100%\">\n\n## 🗣 Voice — leaner output, lower cost &nbsp;<sub><code>new in 4.9.0</code></sub>\n\n> Output tokens are the expensive side of the bill (~5× input on current models). Say the same thing in fewer of them.\n\nmagician 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.\n\n| voice | wordiness | what it does |\n|---|---|---|\n| `warrior` | leanest | the shortest fully-correct answer — no preamble, unrequested examples, or closing recaps |\n| `scribe` &nbsp;*(default)* | leaner than usual | necessary explanation only; filler, restatements, and \"what I just did\" recaps trimmed |\n| `bard` | standard | native Claude/Codex verbosity — nothing injected |\n\n**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).\n\n<sub>🗣 Set it with <code>magician-ui voice warrior|scribe|bard</code> — or per-project <code>.magician/voice</code> / env <code>MAGICIAN_VOICE</code> (first match wins, then the default <code>scribe</code>). The status bar shows <code>🗣 voice:scribe</code> live. Auto-injected into Claude Code sessions; the setting is stored for Codex too.</sub>\n\n<img src=\"assets/divider.svg\" alt=\"\" width=\"100%\">\n\n## 🎚 Model support — Claude 5 native, 4.6-safe &nbsp;<sub><code>new in 4.10.0</code></sub>\n\n> A plugin that hardcodes a model or an effort level is wrong the moment the next one ships. magician resolves both from the model your session is actually on.\n\n**Tuned for the Claude 5 family.** Effort guidance, review prompts, delegation limits, and context accounting all follow Anthropic's per-model guidance for **Opus 5**, **Sonnet 5**, and **Fable 5** — including the parts that changed direction. Verification reminders and severity pre-filters, which used to improve results, now cost quality on these models; magician removed them while keeping every evidence gate.\n\n**Nothing here requires a Claude 5 model.** Every new capability is feature-detected and degrades to exactly the previous behavior.\n\n| | resolves to | on an older model |\n|---|---|---|\n| **Effort** | your model's deepest supported level | `xhigh` doesn't exist on Opus 4.6 / Sonnet 4.6 — magician asks for `max` instead of letting Claude Code clamp silently |\n| **Context window** | read from the session's real model id | Haiku and the 4.5 generation stay at 200K; an unknown model falls back to the previous heuristic |\n| **Auto mode** | your starting permission mode | reports plainly when the model or an org policy doesn't support it, instead of failing quietly |\n| **Cross-session messaging** | sessions hand findings to each other | a silent no-op where it isn't available (Windows, Bedrock, Google Cloud, Foundry) |\n\n**It knows the sharp edges, too.** Opus 5 and Fable 5 run cybersecurity classifiers that can move a session to a fallback model mid-run — so `/sentinel` and `/divine`'s security lens frame their work defensively and tell you when the tier changed under them, rather than presenting mixed-tier findings as one pass.\n\n<sub>🎚 Model facts are point-in-time and say so — <code>lore/models.md</code> carries the tier, effort, and pricing matrix with an explicit \"verify, don't trust blindly\" rule, and <code>lore/model-behavior.md</code> carries the prompting guidance. Both are read on demand, so neither costs you session tokens.</sub>\n\n<img src=\"assets/divider.svg\" alt=\"\" width=\"100%\">\n\n## 🔒 Safety — an absolute destructive-command guard &nbsp;<sub><code>new in 4.6.0</code></sub>\n\n> Security is infrastructure, not advice.\n\nClaude 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.\n\nThe Codex adapter requires Python 3.10+ for its safety hook and bundled helpers.\n\n<table>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4>🗑 Filesystem wipes</h4>\n<code>rm -rf /</code> · <code>~</code> · <code>$HOME</code> · <code>--no-preserve-root</code> · system roots\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4>💽 Disk &amp; device destruction</h4>\n<code>dd of=/dev/…</code> · <code>mkfs</code> · <code>wipefs</code> · <code>blkdiscard</code> · <code>shred /dev/…</code> · <code>diskutil erase…</code>\n</td>\n</tr>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4>⛓ Device / critical-file overwrite</h4>\nredirection onto <code>/dev/sd*</code> · over <code>/etc/passwd</code> · <code>shadow</code> · <code>sudoers</code> · <code>fstab</code>\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4>💣 Fork bombs</h4>\n<code>:(){ :|:&amp; };:</code> and self-replicating variants\n</td>\n</tr>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4>🔑 Recursive perms on system roots</h4>\n<code>chmod -R</code> / <code>chown -R</code> on <code>/</code> · <code>~</code> · <code>/etc</code> · <code>/usr</code> …\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4>🕳 Opaque exec &amp; repo loss</h4>\ndownload piped into a shell · <code>base64 -d</code> → shell · <code>eval \"$(…)\"</code> · <code>git clean -x</code>\n</td>\n</tr>\n</table>\n\nWrappers 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.\n\n### What it guarantees — and what it does not\n\nThis is a **denylist, not a sandbox** ([CWE-78](https://cwe.mitre.org/data/definitions/78.html)). Be honest about the boundary:\n\n**It guarantees** — once installed, and on Codex once trusted via `/hooks`:\n\n- **Deterministic.** The listed catastrophic patterns are blocked by a fixed matcher, not by model judgment — same input, same block, every time.\n- **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.\n- **Wrapper-aware.** Common wrappers and one level of `sh -c` nesting are unwrapped before the pattern check.\n\n**It does _not_ guarantee** — treat these as hard limits, not caveats:\n\n- **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's `workspace-write` / `read-only`.\n- **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.\n- **Codex must trust it.** Enabling the plugin does not auto-run its hooks — untrusted, Codex skips the guard entirely. Requires Python 3.10+.\n\n**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.\n\n<img src=\"assets/divider.svg\" alt=\"\" width=\"100%\">\n\n## 🛠 Skills\n\n<b>25 skills</b>, each with modern frontmatter (<code>allowed-tools</code> · <code>disable-model-invocation</code> · <code>argument-hint</code> · <code>context: fork</code>) that scales reasoning effort to the task. Approval gates use the structured <b>AskUserQuestion</b> tool, not prose.\n\n<table>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4>⚙️ Core SDLC</h4>\n<code>/manifest</code> · <code>/conjure</code> · <code>/blueprint</code> · <code>/ward</code> · <code>/unravel</code> · <code>/certify</code>\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4>🎛 Orchestration</h4>\n<code>/orchestrate</code> · <code>/weave</code> · <code>/portal</code> · <code>/seal</code>\n</td>\n</tr>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4>🛡 Review &amp; security</h4>\n<code>/scrutinize</code> · <code>/divine</code> · <code>/sentinel</code>\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4>🧠 Intelligence</h4>\n<code>/knowledge-graph</code> · <code>/chronicle</code> · <code>/statusline</code>\n</td>\n</tr>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4>🔗 Integration</h4>\n<code>/jira</code> · <code>/confluence</code>\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4>🔬 Research · Quality · Meta</h4>\n<code>/magic</code> · <code>/transmute</code> · <code>/accelerate</code> · <code>/deploy</code> · <code>/autopsy</code> · <code>/almanac</code> · <code>/inscribe</code>\n</td>\n</tr>\n</table>\n\n<details>\n<summary><b>Full skill catalog</b> — what each one does</summary>\n\n<br>\n\n| Skill | Purpose |\n|---|---|\n| `/manifest` | Full autonomous SDLC — 4 human gates (scope · spec · plan · ship); runs conjure → blueprint → portal → orchestrate → certify → scrutinize → seal |\n| `/conjure` | Structured design dialogue with a visual browser companion — 4 modes; HARD-GATE: no code until the spec is approved |\n| `/blueprint` | Turns an approved spec into a TDD task plan with a parallelism map + a verbatim Global-Constraints header every task inherits |\n| `/ward` | TDD engine — red → green → refactor, one behavior at a time; the RED test must fail for the reason under test |\n| `/unravel` | Systematic debugging — hypothesis before evidence; read the trace fully, reproduce first, instrument boundaries; not done until the original symptom is gone |\n| `/certify` | Full verification loop — tests · types · lint · build · browser check; evidence before any success claim |\n| `/orchestrate` | Multi-agent build from a blueprint — parallel waves + a per-task two-stage review (spec then quality), confirmed from the VCS diff |\n| `/weave` | Composes + runs a large multi-item delivery as one native Workflow with all guardrails (TDD per unit · kg grounding · certify · adversarial review) |\n| `/scrutinize` | Three specialist reviewers in parallel (correctness · security · simplification), consolidated then remediated |\n| `/divine` | Research-grounded code review — detects PR/MR/branch context, gates depth, 4 lenses, adversarially verifies findings, severity-ranked report |\n| `/sentinel` | Security scan — OWASP Top 10, secret detection, injection surfaces, dependency + git-history audit (read-only, forked context) |\n| `/knowledge-graph` | Local code knowledge-graph + cache (`kg` CLI, stdlib) — ranked `file:line` (BM25 + Personalized PageRank), neighbors, blast-radius |\n| `/chronicle` | Memory &amp; context steward — session history, global reference store, live context size + a pre-compaction resume capsule |\n| `/statusline` | Magician CLI UI — a local, zero-token status line (context % · rot warning · sparkline · model/git/cost · active skill · 🧠 effort) |\n| `/jira` · `/confluence` | Atlassian over REST via bundled CLIs (no MCP) — read/search, create/update (write-gated), throttle-aware, first-run token setup |\n| `/magic` | Research, analysis &amp; consulting — web + docs + local files; saves findings that feed conjure/blueprint/unravel |\n| `/transmute` | Comprehend an existing feature → PORT or INTEGRATE it, behind a parity contract + quality gateways |\n| `/accelerate` | Performance profiling — baseline-first, measure → optimize → re-measure |\n| `/deploy` | CI/CD pipeline create/update/monitor (GitHub Actions · GitLab CI · CircleCI) with a background CI-red watcher |\n| `/autopsy` | Blameless post-mortem — timeline · 5-Whys · action items |\n| `/almanac` | One-time workspace init — `.workspace/`, lean `CLAUDE.md`, `.gitignore`, MCP suggestions |\n| `/inscribe` | Author a new reusable skill; suggested by the pattern detector after repeated requests |\n| `/portal` | Git worktree isolation for a feature, with post-merge cleanup |\n\n</details>\n\n<img src=\"assets/divider.svg\" alt=\"\" width=\"100%\">\n\n## 🚀 Install\n\n<table>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4>Claude Code</h4>\n<pre><code>/plugin marketplace add https://github.com/Alexander-Tyagunov/magician\n/plugin install magician@magician</code></pre>\nRestart if prompted, then initialize your workspace with <code>/almanac</code>.\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4>Codex</h4>\n<pre><code>codex plugin marketplace add Alexander-Tyagunov/magician\ncodex plugin add magician@magician</code></pre>\nRestart or open a new task, then: <i>“Use $almanac to set up Magician in this workspace.”</i><br>\nCodex also ships <code>$project-context</code>, a read-only stack detector that progressively loads\nonly relevant lore cores and task-matched deep dives.\n</td>\n</tr>\n</table>\n\n<sub>Codex installs a self-contained package with 25 shared adapters plus the Codex-only <code>$project-context</code> skill under <code>skills/</code>. Use <code>codex plugin list</code> to confirm it is installed and enabled; an enable flag alone does not install package contents.</sub>\n\n<img src=\"assets/divider.svg\" alt=\"\" width=\"100%\">\n\n## 🗂 Workspace — team memory\n\n<table>\n<tr>\n<td width=\"58%\" valign=\"top\">\n<pre><code>.workspace/\n├── shared/         ← git-committed (whole team)\n│   ├── specs/       design specs   (/conjure)\n│   ├── plans/       impl plans      (/blueprint)\n│   ├── research/    findings        (/magic)\n│   ├── decisions/   ADRs\n│   └── postmortems/ (/autopsy)\n└── local/          ← always gitignored\n    ├── prefs.md     personal prefs\n    └── session.md   pre-compaction state</code></pre>\n</td>\n<td width=\"42%\" valign=\"top\">\nTeammates share <code>shared/</code> via git; each machine keeps its own <code>local/</code>. A machine-global reference store loads into every session, so context follows you across repos.\n<br><br>\nSubagents never inherit your conversation — every handoff ships a <b>self-contained context contract</b> (goal · scope · inputs-by-path · constraints · return format), so nothing is lost across agents, workflows, or teams.\n</td>\n</tr>\n</table>\n\n<img src=\"assets/divider.svg\" alt=\"\" width=\"100%\">\n\n## 🧰 Bundled CLIs &nbsp;<sub>(on <code>PATH</code> when the plugin is enabled)</sub>\n\n<table>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4><code>kg</code></h4>\nLocal code knowledge-graph + cache — <code>kg init</code> → <code>kg query \"&lt;topic&gt;\"</code> / <code>kg blast &lt;file&gt;</code>. Stdlib, no network.\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4><code>jira</code> · <code>confluence</code></h4>\nMCP-free Atlassian REST clients — throttle-aware, bulk-safe, one command per call.\n</td>\n</tr>\n<tr>\n<td width=\"50%\" valign=\"top\">\n<h4><code>magician-ui</code></h4>\nManage the CLI UI status line + <code>allow</code> (read-only auto-approve) + <code>automode</code> (auto mode) + <code>voice</code> (output brevity) — safe, backed-up <code>settings.json</code> edits.\n</td>\n<td width=\"50%\" valign=\"top\">\n<h4><code>magician-scan</code> · <code>ctx</code></h4>\nStandalone security scan for CI · self-managed context (size tracking + pre-compaction resume capsule).\n</td>\n</tr>\n</table>\n\n<img src=\"assets/divider.svg\" alt=\"\" width=\"100%\">\n\n<div align=\"center\">\n\n### ❤ Support this work\n\nIf magician saves you time, consider sponsoring — it funds new skills, broader framework lore, and community support.\n\n**[❤ Sponsor on GitHub →](https://github.com/sponsors/Alexander-Tyagunov)**\n\n<br>\n\n<sub>MIT © <a href=\"https://github.com/Alexander-Tyagunov\">Alexander Tyagunov</a> · built for Claude Code &amp; Codex</sub>\n\n<img src=\"assets/divider.svg\" alt=\"\" width=\"100%\">\n\n</div>\n",
  "bytes": 28439,
  "sha": "eeea31a2a9ee205d489819b5f178a49b9b1c0f0b0e9c72910794d41b522fa4e8",
  "repo_slug": "alexander-tyagunov/magician",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_alexander_tyagunov_magician_magician_e81b4838/readme"
}