Back to Discover

magician

skill

Alexander-Tyagunov

Full-stack SDLC plugin for Claude Code & Codex — from idea to merged PR, autonomously. 25 skills, a local code knowledge-graph, cross-session memory, parallel agent orchestration, and an absolute destructive-command guard.

View on GitHub
12 starsMITSynced Aug 2, 2026

Install to Claude Code

/plugin marketplace add Alexander-Tyagunov/magician

README

magician — full-stack SDLC for Claude Code

Version Claude Code Codex License Sponsor

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

/manifest
Gather requirements → design → TDD plan → parallel build → verify → review → PR. You approve the plan; it does the rest.

Already exists? Transform it

/transmute
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

magician SDLC pipeline: research → design → plan → build → verify → review → ship

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 prompt

Turns 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 code

A 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 floor

A PreToolUse 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 claims

No "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 sessions

Per-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 integrations

Jira & 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 & frameworks

Rust · 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 & logging

Log 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 memory

magician 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

Databaseseach with a core, deep-dive tree, and a performance.md

TrackEngines
Relational / OLTPPostgreSQL · MySQL · Oracle · SQL Server · SQLite
Analytics / OLAPDuckDB · ClickHouse · Snowflake · BigQuery · Redshift
Document / NoSQLMongoDB · DynamoDB · Cassandra · Couchbase · Firestore
Key-value / CacheRedis · Memcached
VectorPinecone · Weaviate · Qdrant · Milvus · Chroma · pgvector
GraphNeo4j · Neptune · ArangoDB
Search / Time-seriesElasticsearch/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.

voicewordinesswhat it does
warriorleanestthe shortest fully-correct answer — no preamble, unrequested examples, or closing recaps
scribe  (default)leaner than usualnecessary explanation only; filler, restatements, and "what I just did" recaps trimmed
bardstandardnative 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 wipes

rm -rf / · ~ · $HOME · --no-preserve-root · system roots

💽 Disk & device destruction

dd of=/dev/… · mkfs · wipefs · blkdiscard · shred /dev/… · diskutil erase…

⛓ Device / critical-file overwrite

redirection onto /dev/sd* · over /etc/passwd · shadow · sudoers · fstab

💣 Fork bombs

:(){ :|:& };: and self-replicating variants

🔑 Recursive perms on system roots

chmod -R / chown -R on / · ~ · /etc · /usr

🕳 Opaque exec & repo loss

download 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 -c nesting 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's workspace-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
SkillPurpose
/manifestFull autonomous SDLC — 4 human gates (scope · spec · plan · ship); runs conjure → blueprint → portal → orchestrate → certify → scrutinize → seal
/conjureStructured design dialogue with a visual browser companion — 4 modes; HARD-GATE: no code until the spec is approved
/blueprintTurns an approved spec into a TDD task plan with a parallelism map + a verbatim Global-Constraints header every task inherits
/wardTDD engine — red → green → refactor, one behavior at a time; the RED test must fail for the reason under test
/unravelSystematic debugging — hypothesis before evidence; read the trace fully, reproduce first, instrument boundaries; not done until the original symptom is gone
/certifyFull verification loop — tests · types · lint · build · browser check; evidence before any success claim
/orchestrateMulti-agent build from a blueprint — parallel waves + a per-task two-stage review (spec then quality), confirmed from the VCS diff
/weaveComposes + runs a large multi-item delivery as one native Workflow with all guardrails (TDD per unit · kg grounding · certify · adversarial review)
/scrutinizeThree specialist reviewers in parallel (correctness · security · simplification), consolidated then remediated
/divineResearch-grounded code review — detects PR/MR/branch context, gates depth, 4 lenses, adversarially verifies findings, severity-ranked report
/sentinelSecurity scan — OWASP Top 10, secret detection, injection surfaces, dependency + git-history audit (read-only, forked context)
/knowledge-graphLocal code knowledge-graph + cache (kg CLI, stdlib) — ranked file:line (BM25 + Personalized PageRank), neighbors, blast-radius
/chronicleMemory & context steward — session history, global reference store, live context size + a pre-compaction resume capsule
/statuslineMagician CLI UI — a local, zero-token status line (context % · rot warning · sparkline · model/git/cost · active skill · 🧠 effort)
/jira · /confluenceAtlassian over REST via bundled CLIs (no MCP) — read/search, create/update (write-gated), throttle-aware, first-run token setup
/magicResearch, analysis & consulting — web + docs + local files; saves findings that feed conjure/blueprint/unravel
/transmuteComprehend an existing feature → PORT or INTEGRATE it, behind a parity contract + quality gateways
/acceleratePerformance profiling — baseline-first, measure → optimize → re-measure
/deployCI/CD pipeline create/update/monitor (GitHub Actions · GitLab CI · CircleCI) with a background CI-red watcher
/autopsyBlameless post-mortem — timeline · 5-Whys · action items
/almanacOne-time workspace init — .workspace/, lean CLAUDE.md, .gitignore, MCP suggestions
/inscribeAuthor a new reusable skill; suggested by the pattern detector after repeated requests
/portalGit worktree isolation for a feature, with post-merge cleanup

🚀 Install

Claude Code

/plugin marketplace add https://github.com/Alexander-Tyagunov/magician
/plugin install magician@magician
Restart if prompted, then initialize your workspace with /almanac.

Codex

codex plugin marketplace add Alexander-Tyagunov/magician
codex plugin add magician@magician
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

.workspace/
├── shared/         ← git-committed (whole team)
│   ├── specs/       design specs   (/conjure)
│   ├── plans/       impl plans      (/blueprint)
│   ├── research/    findings        (/magic)
│   ├── decisions/   ADRs
│   └── postmortems/ (/autopsy)
└── local/          ← always gitignored
    ├── prefs.md     personal prefs
    └── session.md   pre-compaction state
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)

kg

Local code knowledge-graph + cache — kg initkg query "<topic>" / kg blast <file>. Stdlib, no network.

jira · confluence

MCP-free Atlassian REST clients — throttle-aware, bulk-safe, one command per call.

magician-ui

Manage the CLI UI status line + allow (read-only auto-approve) + automode (auto mode) + voice (output brevity) — safe, backed-up settings.json edits.

magician-scan · ctx

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.

❤ Sponsor on GitHub →


MIT © Alexander Tyagunov · built for Claude Code & Codex

Rendered live from Alexander-Tyagunov/magician's GitHub README — not stored, always reflects the source repo.

1 Plugin

NameDescriptionCategorySource
magicianFull-stack SDLC plugin with dynamic project inspection, a local code knowledge-graph + cache, cross-session reference memory, self-learning, and parallel agent orchestration./

0 Comments

Login required
Log in to post a comment or update on this repo.

No comments yet — be the first to share an update.