Agent skill

Sol and Luna Worker Router

by majiayu000 in majiayu000/spellbook

Splits substantial coding or repository-review work between a Sol commander that decides and verifies and a separate Luna Max worker that implements, with an auditable run log.

MITAuto-check passedAgent Workflows

Install Sol and Luna Worker Router

skills CLI
$ npx skills add majiayu000/spellbook --skill sol-luna-router -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install majiayu000/spellbook sol-luna-router --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/majiayu000/spellbook.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/sol-luna-router .claude/skills/sol-luna-router && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
sol-luna-router
GitHub stars
287
Token cost
~3.3k tokens
SKILL.md length
1,524 words
Files
13 (incl. scripts, references)
Skills in repo
97
Repo updated
First seen
Licence
MIT

At a glance

Splits substantial coding or repository-review work between a Sol commander that decides and verifies and a separate Luna Max worker that implements, with an auditable run log.

  • Works in 5 steps: Preflight → Prepare the worker task → Run Luna Max → …
  • Asking Sol to direct Luna on a large implementation with a review loop
  • SKILL.md covers Boundaries, Operating Contract, Workflow and Gotchas and failure handling
  • Runs Python scripts from its folder; calls python3

What it does

This skill sets up a two-stage workflow for larger tasks when you explicitly ask for it. The current Sol session acts as commander and reviewer and does not edit product files itself; it hands one bounded implementation or read-only investigation to a Luna Max worker through a bundled runner script rather than the native subagent call. The worker model is pinned to gpt-5.6-luna with maximum reasoning effort, and only one write-capable worker runs in a worktree at a time.

Guardrails keep the parent approval and sandbox in place, so no bypass, full-access, force-push or credential flags are added, and expansions of permissions, network use, destructive recovery, publishing, pushing or merging need your approval first. Completion is never taken from the worker's own summary: Sol verifies from the current session, and after three failed correction cycles on one root cause it rethinks the hypothesis. Small tasks stay in Sol, and questions about router configuration or usage are answered by read-only inspection. The bundled scripts analyze run logs and run the worker, and the folder includes a rate card and benchmark notes.

When your agent uses it

  • Asking Sol to direct Luna on a large implementation with a review loop
  • Needing an isolated, auditable worker run for a bounded coding change
  • Diagnosing or measuring how the Sol and Luna router itself is behaving

Example prompts

  • “Have Sol supervise Luna while it rewrites the CSV export module, then review the result.”
  • “Use the Sol-Luna router to investigate the flaky upload tests without changing any files.”
  • “Check the router run log and tell me where the worker spent most of its time.”

Requirements

  • The Luna Max CLI available in the environment

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Preflight
  2. Prepare the worker task
  3. Run Luna Max
  4. Verify and review
  5. Request a correction

What it can do on your machine

Read from SKILL.md and the folder at commit ed52af7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 6 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Sol and Luna Worker Router loads about 3.3k tokens when it runs, and up to ~6.1k if it reads all its reference files. Until then it costs about 170 tokens; SKILL.md has 1,524 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~170
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from majiayu000/spellbook at commit ed52af7, republished under its MIT licence (© majiayu000). 1,524 words, ~3,345 tokens.

Download SKILL.mdSave it as .claude/skills/sol-luna-router/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.
name
sol-luna-router
description
Route substantial coding or repository-review work through a two-stage Sol commander/verifier and separate Luna Max CLI worker. Use when the user explicitly asks Sol to direct or supervise Luna, explicitly requests this router, needs an isolated auditable Luna-owned implementation with a Sol review loop, or asks to diagnose or measure the router itself. Do not use merely because a task involves coding, verification, progress reporting, or token saving. For small or straightforward tasks, keep work in Sol unless the user explicitly requests Luna; router configuration, usage, and efficiency questions should use read-only inspection without launching a worker.

Sol-Luna Router

Keep Sol responsible for decisions and final verification. Use Luna Max for one bounded implementation or read-only investigation. Use the bundled runner instead of native spawn_agent; current Sol and Luna releases can select different multi-agent backends.

Boundaries

  • Distinguish Skill activation from worker dispatch: inspect router configuration, usage, telemetry, and efficiency questions read-only without launching Luna; keep small or straightforward tasks Sol-only unless the user explicitly requests Luna; launch Luna only for explicit delegation or when isolated, auditable two-stage execution is substantively needed.
  • Treat the current Sol thread as commander and reviewer. Do not edit target product files from this thread.
  • Delegate concrete implementation, fixes, worker-owned tests, or bounded read-only investigation to Luna Max.
  • Fix every new and resumed worker invocation to gpt-5.6-luna with reasoning effort max.
  • Allow only one write-capable Luna worker in a worktree at a time. Parallelize read-only work, or use isolated worktrees with explicit, disjoint file ownership.
  • Keep the parent approval and sandbox boundary intact. Never add bypass, full-access, force-push, credential, or secret-handling flags.
  • For delegated coding tasks, fix Apps, Plugins, and recommended-plugin context off for every worker run and resume so the task stays self-contained. Keep --strict-config fail closed; report a stale user configuration as config_incompatible and fix it instead of bypassing it.
  • Stop after three failed correction cycles on the same root cause and reassess the hypothesis.
  • Never claim completion from the worker summary alone. Verify from the current session.
  • Do not use worker timeout as a test budget. Select a profile and give every potentially expensive command an explicit bound before launch.
  • Keep the commander thin: do not duplicate Luna's repository scan or implementation analysis; launch one bounded worker, collect one result, and combine independent verification commands into the smallest safe check. Resume only from concrete failed evidence.

Operating Contract

  • Direct actions: inspect local state, create external task prompts, run Luna within scope, and perform read-only verification.
  • Escalate before: expanding ownership or permissions, using new network or credentials, destructive recovery, publishing, pushing, merging, or changing products.
  • Evidence-backed pushback: cite a diff, command, repository rule, run record, or capacity failure when the requested route is unsafe or cannot satisfy done-when conditions.
  • Feedback loop: use aggregate ledger evidence and correction patterns for the smallest runner, test, profile, or gotcha update; never optimize from token totals alone.

Workflow

1. Preflight
  1. Confirm the target working directory and resolve its Git root.
  2. Inspect dirty and untracked state without modifying it. Preserve user changes.
  3. Read applicable AGENTS.md files and repository verification commands.
  4. State the goal, constraints, allowed file ownership, done-when conditions, command budget, and verification commands.
  5. If the task is ambiguous enough to change architecture or scope, clarify before delegation.

Select implementation for edits and focused tests (workspace-write, 1800s default). Select bounded-review for investigation (read-only, 900s, at most 8 commands, no full suites).

Use bounded-review whenever repository mutation is not the deliverable. It instructs Luna to return broader checks as requires_commander_verification; Sol decides whether to run them later. The runner also disables Python bytecode writes and redirects common Python, Rust, Go, Node, Ruff, and mypy caches to temporary storage for the duration of the worker.

2. Prepare the worker task

Write a temporary UTF-8 task file outside the target repository. Include only task-local context:

text
Role: implementation worker.
Objective: <one bounded outcome>
Target repository: <absolute path>
Allowed files: <explicit paths or one narrow subtree>
Do not touch: <user changes and out-of-scope paths>
Constraints: <applicable requirements>
Reproduction or evidence: <fresh evidence>
Command budget: <count, per-command limit, and forbidden broad suites>
Done when: <observable conditions>
Verification: <repository commands to run>
Return: root cause, changed files, commands with outcomes, and remaining risks.

Do not leak an intended patch or diagnosis when Luna must independently determine the root cause.

3. Run Luna Max

For implementation, run the bundled script with an absolute target directory and task-file path:

bash
python3 <skill-dir>/scripts/run_luna_worker.py run \
  --cwd /absolute/path/to/repo \
  --prompt-file /absolute/path/to/task.md \
  --sandbox workspace-write

For review or diagnosis, add --profile bounded-review to use the budgeted read-only profile.

The script fixes new and resumed workers to gpt-5.6-luna with model_reasoning_effort="max", disables native multi-agent tools for the worker, invokes Codex without a shell, and returns one JSON object containing thread_id, final_response, usage, profile, sandbox, duration, and repository metadata.

Every invocation also appends one privacy-safe record to $CODEX_HOME/state/sol-luna-router/runs.jsonl (normally under ~/.codex). It captures the commander session ID, Luna thread ID, token usage, duration, profile, warnings or failure class, and a prompt fingerprint, but not prompt text, final response text, or raw errors. The current Codex session is detected from CODEX_THREAD_ID; use --parent-session-id only when an explicit override is required. Use --run-log to select another absolute ledger or --no-run-log for an intentional one-off opt-out. A ledger write failure is reported without discarding a successful worker result. Read references/run-log.md before analyzing or exporting the ledger.

Use --allow-non-git only when the user explicitly wants work outside a Git repository. Raw events are off by default because they can contain task and answer content. Use --events-file /absolute/path/events.jsonl only when a durable raw trace is explicitly needed. The path must be absolute and new; the runner writes mode-0600 JSONL there while Luna runs and emits a heartbeat to stderr every 30 seconds.

4. Verify and review
  1. Inspect the actual diff and changed-file list; reject out-of-ownership edits.
  2. For read-only work, inspect command side effects and use no-write settings, external caches, or a disposable copy.
  3. Run required builds, type checks, and focused tests in the current session.
  4. Run broader checks when Luna returns requires_commander_verification; never weaken tests.
  5. Compare Git status before and after read-only verification; generated artifacts fail the no-mutation check.
  6. Review correctness, security, data integrity, error handling, and missing coverage.
  7. After verification, append the outcome using the run_id returned under telemetry:
bash
python3 <skill-dir>/scripts/run_luna_worker.py annotate \
  --run-id <run_id> \
  --outcome verified \
  --checks-passed <count> \
  --checks-failed 0

Use needs_correction, blocked, or rejected instead when that is the evidence-backed result. verified requires at least one fresh passing check and no failed checks. The annotation is append-only and contains no free-text notes. Summarize accumulated reliability, quality, and cost:

bash
python3 <skill-dir>/scripts/analyze_run_log.py --format json

Treat the report as observational evidence. Its token totals cover Luna only, not the Sol commander. Use comparable task cohorts or controlled A/B benchmarks that include both agents before claiming that routing caused an efficiency improvement.

When evaluating router effectiveness, read the 2026-08-12 transport-warning benchmark and its machine-checkable record for measured scope, arithmetic, and claim limits.

Show full SKILL.md (550 more words)Show less
Optional historical credit estimate

Credit estimation is opt-in. Without --rate-card, the analyzer does not estimate credits and keeps the existing token-only report behavior. The bundled card is a dated benchmark assumption, not current pricing:

bash
python3 <skill-dir>/scripts/analyze_run_log.py \
  --run-log /absolute/private/runs.jsonl \
  --rate-card <skill-dir>/references/rate-card-2026-08-05.json \
  --format json

The card calculates Luna worker credits from input_tokens, cached_input_tokens, and output_tokens; input_tokens includes cached input, so uncached input is the difference. Every run, including failed runs, is costed when it has exact valid usage. Missing usage is unresolved rather than zero; malformed, negative, or inconsistent supplied usage is excluded and reported as unresolved. Worker-only normalized metrics are null when worker usage coverage is incomplete. gpt-5.6-luna remains fixed at max reasoning; the estimate does not change routing or reasoning.

Joining Sol commander usage is a separate explicit opt-in and reads only parent IDs already present in the ledger:

bash
python3 <skill-dir>/scripts/analyze_run_log.py \
  --run-log /absolute/private/runs.jsonl \
  --rate-card <skill-dir>/references/rate-card-2026-08-05.json \
  --codex-sessions-root /absolute/private/.codex/sessions \
  --format json

The join reads only session metadata, token-count event timestamps/types, and cumulative token usage. For the union of each parent’s merged run windows, it subtracts the last snapshot at or before each window start from the first snapshot at or after its end. It never copies prompt, response, or raw event text into the report or ledger. Sol preflight before the first run start and work after the last run completion are outside this attribution window. Shared parent windows are charged once; missing baselines/endpoints, counter resets, malformed data, missing sessions, and ambiguous files remain visible as unresolved coverage. Resolved partial commander components may be shown, but commander-plus-worker totals and total-scope normalized metrics are null until every required parent window resolves. A complete total additionally requires every ledger run to have valid worker usage; commander-window coverage alone is insufficient. The runner preserves exact usage on failed Codex exits, failed turns, or timeouts when Codex emitted it, but absent usage remains unresolved. The normalized credit metrics are observational cost-per-outcome measures; controlled A/B remains the causal total-cost proof.

5. Request a correction

When verification or Sol review finds an actionable defect, write a new temporary prompt containing the exact failure evidence. Annotate the original run as needs_correction, then resume the same worker thread:

bash
python3 <skill-dir>/scripts/run_luna_worker.py resume \
  --cwd /absolute/path/to/repo \
  --thread-id <thread_id> \
  --prompt-file /absolute/path/to/correction.md \
  --profile <original-profile>

The resume command reasserts Luna, Max reasoning, disabled native agents, and the selected sandbox; it does not rely on the historical thread configuration. Repeat verification after every correction. Do not open a new worker thread unless the previous thread is unavailable or the task has materially changed.

Gotchas and failure handling

  • If the runner reports an incompatible or unavailable model, stop and report the exact error.
  • If Luna requests broader ownership, network, or permissions, return it to the user or revise the plan; do not grant it silently.
  • On timeout, retain the partial thread_id, events path, and any emitted usage; resume with a smaller prompt, or treat a run without a thread ID as unrecoverable.
  • Treat capacity_exhausted as infrastructure capacity, not task quality; never lower Luna effort automatically.
  • Treat malformed JSONL, nonzero exit, turn.failed, missing completion, or missing final response as failure; recovered transport errors remain warnings.
  • Do not claim the Skill is effective from invocation count, worker success, or token totals alone; require commander evaluations with fresh check evidence and report the sample size.
  • If unrelated user changes block safe verification, report the boundary instead of reverting them.
  • If bounded-review requests or starts an unbudgeted full suite, stop the run and tighten the task instead of increasing its timeout.

© majiayu000, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 12 other files (scripts, references) in skills/sol-luna-router of majiayu000/spellbook.

  • SKILL.md
  • agents/openai.yaml
  • evals/transport-warning-benchmark-2026-08-12-task.md
  • evals/transport-warning-benchmark-2026-08-12.json
  • references/rate-card-2026-08-05.json
  • references/run-log.md
  • references/transport-warning-benchmark-2026-08-12.md
  • scripts/analyze_run_log.py
  • scripts/run_luna_worker.py
  • scripts/test_analyze_run_log.py
  • scripts/test_benchmark_evidence.py
  • scripts/test_run_luna_worker.py
  • scripts/worker_events.py

Open the folder on GitHubat commit ed52af7

Compare with similar skills

Sol and Luna Worker Router next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Sol and Luna Worker Router compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sol and Luna Worker Router this skillmajiayu000/spellbook287—~3.3kAutomated safety check: PassMIT
Cline Pilotsickn33/agentic-awesome-skills47k1 repos~4.6kAutomated safety check: PassMIT
Plan Execution WorkflowEveryInc/compound-engineering-plugin25k—~2kAutomated safety check: PassMIT
OMA Multi-Agent Orchestrationfirst-fluke/oh-my-agent1.3k—~4.1kAutomated safety check: PassMIT
Phased Plan Executorthedotmack/claude-mem99k—~508Automated safety check: PassApache-2.0
Orchestrator WorkerTh0rgal/sandboxed.sh524—~531Automated safety check: PassNone

Similar skills

  • Cline Pilot

    sickn33/agentic-awesome-skills

    Acts as a proxy for the Cline CLI, dispatching coding tasks one at a time, monitoring runs by hard evidence, relaying decisions to you and learning per-project preferences.

    47k GitHub starsUsed in 1 repo~4.6k tokens
    Agent WorkflowsAuto-check passed
  • Plan Execution Workflow

    EveryInc/compound-engineering-plugin

    Carries out a plan, spec or clear build request end to end with local verification, then hands off to shipping or returns a structured result to a caller.

    25k GitHub stars~2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • OMA Multi-Agent Orchestration

    first-fluke/oh-my-agent

    Decomposes a complex feature into tasks, dispatches parallel specialist agents with durable state, and supervises verification, QA review and retries.

    1.3k GitHub stars~4.1k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Phased Plan Executor

    thedotmack/claude-mem

    Executes a phased implementation plan by acting as an orchestrator that hands each step to subagents, verifies the results and commits only after verification passes.

    99k GitHub stars~508 tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • Orchestrator Worker

    Th0rgal/sandboxed.sh

    Sets the rules for a worker agent spawned by a boss mission: stay in scope, verify before finishing, report blockers quickly and end with a clear status.

    524 GitHub stars~531 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Compact version of the PUA persona skill that pushes an agent to act like a high-ownership engineer, with level roles, extra-work markers and corporate-style commentary.

    20k GitHub stars~3.5k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed

More from majiayu000/spellbook

All 97 skills in this repo
  • Skill Ecosystem Doctor

    majiayu000/spellbook

    Audits and repairs how coding-agent Skills are owned, copied and exposed across runtimes, from canonical sources to quarantine and retirement.

    287 GitHub stars~3k tokensUpdated 2 days ago
    Auto-check passed
  • AGENTS.md Scaffold

    majiayu000/spellbook

    Scans a repository for real evidence and proposes, or on request writes, a small stack of root and scoped AGENTS.md files with validation commands and generated-file boundaries.

    287 GitHub stars~1.5k tokensUpdated 2 days ago
    Auto-check passed
  • Product Demo Builder

    majiayu000/spellbook

    Plans, produces or diagnoses evidence-backed product demo videos: script, capture plan, pacing checks and verified final media built on real product behavior.

    287 GitHub stars~3.3k tokensUpdated 2 days ago
    Auto-check passed
  • Flowguard Task Guard

    majiayu000/spellbook

    Single entry point that routes long or ambiguous agent tasks, checks live state, bounds autonomous loops and leaves a resumable handoff.

    287 GitHub stars~2.1k tokensUpdated 2 days ago
    Auto-check passed
  • npm Supply Chain Check

    majiayu000/spellbook

    Scans a repository, its lockfiles and node_modules for known malicious npm package versions and install-time indicators, using a read-only Python scanner.

    287 GitHub stars~1.5k tokensUpdated 2 days ago
    Auto-check passed
  • Product Manager Toolkit

    majiayu000/spellbook

    Product management helpers: a RICE scoring script, an interview transcript analyzer and PRD templates for prioritizing features, synthesizing research and writing requirements.

    287 GitHub stars~2.2k tokensUpdated 2 days ago
    Auto-check passed

Questions about Sol and Luna Worker Router

What does Sol and Luna Worker Router do?

Splits substantial coding or repository-review work between a Sol commander that decides and verifies and a separate Luna Max worker that implements, with an auditable run log. This skill sets up a two-stage workflow for larger tasks when you explicitly ask for it. The current Sol session acts as commander and reviewer and does not edit product files itself; it hands one bounded implementation or read-only investigation to a Luna Max worker through a bundled runner script rather than the native subagent call.

When should I use Sol and Luna Worker Router?

Sol and Luna Worker Router fits situations like: asking Sol to direct Luna on a large implementation with a review loop; needing an isolated, auditable worker run for a bounded coding change; diagnosing or measuring how the Sol and Luna router itself is behaving.

How do I install Sol and Luna Worker Router in Claude Code?

Run `npx skills add majiayu000/spellbook --skill sol-luna-router -a claude-code`. Or copy the skill folder (skills/sol-luna-router in majiayu000/spellbook) into .claude/skills/sol-luna-router in your project. Claude Code loads it when a task matches its description.

How do I install Sol and Luna Worker Router in Codex?

Run `npx skills add majiayu000/spellbook --skill sol-luna-router -a codex`. Or copy the skill folder (skills/sol-luna-router in majiayu000/spellbook) into .agents/skills/sol-luna-router in your project. Codex loads it when a task matches its description.

Can I use Sol and Luna Worker Router in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add majiayu000/spellbook --skill sol-luna-router -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sol-luna-router, .gemini/skills/sol-luna-router, .github/skills/sol-luna-router and .opencode/skills/sol-luna-router in your project.

What does Sol and Luna Worker Router need to run?

Going by SKILL.md and its folder, Sol and Luna Worker Router needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: The Luna Max CLI available in the environment.

Does Sol and Luna Worker Router access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Sol and Luna Worker Router safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Sol and Luna Worker Router use?

Sol and Luna Worker Router is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sol and Luna Worker Router use?

About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.7k tokens, read only when the agent opens those files.

What are the alternatives to Sol and Luna Worker Router?

Skills that share tags, products or a category with Sol and Luna Worker Router: Cline Pilot (sickn33/agentic-awesome-skills, 47k stars), Plan Execution Workflow (EveryInc/compound-engineering-plugin, 25k stars), OMA Multi-Agent Orchestration (first-fluke/oh-my-agent, 1.3k stars) and Phased Plan Executor (thedotmack/claude-mem, 99k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sol and Luna Worker Router?

majiayu000 (a GitHub user) maintains it in majiayu000/spellbook, which has 287 GitHub stars. The repository holds 97 skills in this directory. The repository was last updated on October 8, 2026.

Source: majiayu000/spellbook on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.