By Lutherwaves
Scaffold and extend microservices built on github.com/tink3rlabs/magic. Casts for new services, full vertical features, service layers, routes, and tweaks.
Use when adding a complete resource to an existing magic-based service — emits migration, types, service layer, and route layer in one pass
Use when bootstrapping a brand-new microservice on github.com/tink3rlabs/magic — clones the service template, applies wizard answers, runs a smoke build
Use when adding the HTTP layer for a resource that already has (or will get) a service layer — chains casting-a-service-layer first if the service is missing
Use when adding domain logic (types + service interface + implementation) for a resource without HTTP — typically because the route is handled differently (worker, scheduled job, internal-only)
Use when the user asks to scaffold or extend a magic-based service and the right cast sequence is ambiguous — runs a question tree and emits a cast plan
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Cast magic-based microservices.
A multi-platform agent plugin (Claude Code / Codex CLI / Cursor) that scaffolds and extends Go microservices built exclusively on github.com/tink3rlabs/magic — magic's storage, middlewares, observability, health, mql, errors, leadership, and pubsub packages are the only runtime surface every cast may reference. Inspired by obra/superpowers.
/plugin marketplace add https://github.com/Lutherwaves/spellcasting
/plugin install spellcasting@magic
/reload-plugins
The SessionStart hook auto-loads using-sorcery.
git clone https://github.com/Lutherwaves/spellcasting.git
cd spellcasting
bash scripts/install-codex.sh
This symlinks each skill into ~/.agents/skills/. Codex picks them up on next launch. Tool mapping: see references/codex-tools.md.
git clone https://github.com/Lutherwaves/spellcasting.git
cd /path/to/your/project
bash /path/to/spellcasting/scripts/install-cursor.sh
This generates .cursor/rules/*.mdc in your project. Trigger a rule in Cursor chat with @<rule-name> (e.g. @using-sorcery, @divining-intent). Tool mapping: see references/cursor-tools.md.
Just say what you want — the agent picks the right cast. Following obra/superpowers' v5.1.0 lead, spellcasting has no slash commands; intent routes through skill descriptions and divining-intent.
| Skill the agent will invoke | Triggered by phrasing like… | Produces |
|---|---|---|
divining-intent (the wizard) | "I want to build a service", anything ambiguous | A casting brief with the cast sequence |
casting-a-new-service | "scaffold a new service", "bootstrap a magic-based microservice" | Full service tree: main.go, cmd/, embedded config/, Makefile, Dockerfile, CI |
casting-a-feature | "add a <resource> end-to-end", "I need a CRUD for X" | Migration → types → service → routes, with validation + tests |
casting-a-service-layer | "add a service for X, no HTTP yet" | pkg/types/<name>.go + pkg/features/<name>/service.go + test |
casting-a-route | "expose <resource> over HTTP" (auto-chains service if missing) | pkg/routes/<name>/{routes,validation,handler,routes_test}.go + mount |
tweaking-a-cast | "add a column", "add a Lucene filter", "guard this route with role X", "swap to dynamodb" | Targeted diffs respecting DTO-completeness |
Every cast is hard-bounded to the magic + todo-service surface. Casts never introduce project-specific common libraries, custom rate-limit/audit/cache middleware, or per-resource ACL authorizers beyond what magic ships. Anything outside magic is added by you after the cast finishes.
For the exhaustive in-bounds surface (every package, type, and function templates may reference), invoke the magic-capabilities skill.
| spellcasting | magic |
|---|---|
| v0.1.x | v0.17.3 |
When magic cuts a new tag and a generated service hits an API mismatch, the relevant cast skill includes doc links to pkg.go.dev so an agent can reconcile against the latest signatures.
Trunk-based, Conventional Commits, branch-protected main (classic protection and modern Rulesets — see scripts/setup-rulesets.sh). Manifest versions in package.json, .claude-plugin/plugin.json, and .claude-plugin/marketplace.json are bumped manually before tagging via scripts/bump-version.sh — see CONTRIBUTING.md § Cutting a release.
Operational follow-ups deferred from v0.1.x:
npx claudepluginhub lutherwaves/spellcasting --plugin spellcastingИнструменти за автоматизирано участие в обществени поръчки (ЕОП) — сканиране, анализ, ценообразуване и генериране на оферти
Interactive learning engine for embedded programming, electrical engineering, networking, and language internals (Go, Python, TypeScript, JS engines) — profile your level, get quizzed, solve hands-on challenges, level up
Goal-centric financial superpowers for Claude Code — profile your finances, set goals, build plans, decide affordability, log transactions, analyze and review. Modular: personal, investments, business.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Memory compression system for Claude Code - persist context across sessions
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Editorial "Web Designer" bundle for Claude Code from Antigravity Awesome Skills.
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques