This server puts tarot, I Ching, Xiao Liu Ren, and Bazi readings behind five MCP tools that ensure the model never generates the draw itself. The script handles randomness locally, emits JSON with full metadata, and hands that result to Claude for interpretation. You get `tarot.draw` with configurable spreads and reversals, `iching.cast` with yarrow or coin methods, `xiaoliuren.cast` for lunar calendar divination, `bazi.cast` for Four Pillars charts, and `interpretation_template` for prompt guidance. Built on stdio transport with seeded modes for reproducible demos. Reach for it when you want symbolic reasoning workflows that separate generation from interpretation and need audit trails for every reading.
✨ Open-source divination skills for AI agents where the tool performs the draw or cast, and AI interprets the concrete result.
ai-divination-skills is a practical skill collection for tarot, I Ching, Xiao Liu Ren, and future symbolic systems. It is built for agent workflows that need auditable randomness, clear method boundaries, and reusable interpretation templates.
This project treats divination as symbolic reasoning and reflection, not deterministic prediction.
Most AI divination prompts let the model invent the result. This repo separates the two jobs:
That makes readings easier to test, reproduce, audit, and reuse across agents.
The core rule is simple: scripts or user-provided physical casts generate the divination result; AI interprets that result and does not generate the divination result.
This is not scientific proof of divination efficacy. It is a stricter workflow for symbolic reasoning:
The GitHub Pages site now defaults to Simplified Chinese. Use the page header switcher there when you want English or Japanese.
Local preview:
python3 -m http.server 8000 -d docs
Published site:
https://sapuyou45-bit.github.io/ai-divination-skills/
| Skill | What it does | Script |
|---|---|---|
tarot | Draws tarot cards for reflection, decisions, creative blocks, and project reframing. | skills/tarot/scripts/draw.py |
iching | Casts six-line I Ching hexagrams with primary and resulting hexagrams. | skills/iching/scripts/cast.py |
xiaoliuren | Casts Xiao Liu Ren from lunar-style numbers or a Gregorian time fallback. | skills/xiaoliuren/scripts/cast.py |
bazi | Casts a Bazi (Four Pillars / 八字) chart from a Gregorian birth datetime. Requires the optional lunar-python extra. | skills/bazi/scripts/cast.py |
Install from PyPI:
pip install ai-divination-skills
Or from a checkout:
pip install .
Use editable mode while developing:
pip install -e .
Use one command for every system:
ai-divination tarot --deck major --spread three-card --reversals
ai-divination iching --method yarrow
ai-divination xiaoliuren --method numbers --month 3 --day 12 --hour 7
Ask for an agent interpretation template:
ai-divination template tarot
Use the Python API directly:
from ai_divination_skills.tarot import draw
from ai_divination_skills.iching import cast
from ai_divination_skills.xiaoliuren import cast_numbers
You can still run the underlying scripts directly:
python3 skills/tarot/scripts/draw.py --deck major --spread three-card --reversals
python3 skills/iching/scripts/cast.py --method coins
python3 skills/iching/scripts/cast.py --method yarrow
python3 skills/xiaoliuren/scripts/cast.py --method numbers --month 3 --day 12 --hour 7
Use a seed for reproducible demos:
python3 skills/tarot/scripts/draw.py --spread decision --seed demo
python3 skills/iching/scripts/cast.py --method yarrow --seed demo
All scripts output JSON.
Copy the skill folders you want into your agent's skill directory:
cp -R skills/tarot ~/.codex/skills/tarot
cp -R skills/iching ~/.codex/skills/iching
cp -R skills/xiaoliuren ~/.codex/skills/xiaoliuren
Each skill is self-contained:
skills/name/
SKILL.md
agents/openai.yaml
scripts/
references/
Install individual folders, not the entire repository, when you only want one skill.
Each skill script also works in single-folder mode. If the Python package is installed, the script delegates to the package runtime. If only the skill folder is copied, it falls back to the bundled standalone script in that skill.
Every skill ships four adapter files in skills/<skill>/agents/:
| Host | File | How it is invoked |
|---|---|---|
| OpenAI / Codex skills | openai.yaml | Skill metadata + brand icons. |
| Claude Desktop / claude.ai project skills | claude.yaml | Tool spec that runs ai-divination <skill>. |
| Gemini CLI / Gemini Extensions | gemini.yaml | Extension manifest that runs the same CLI. |
| Cursor | cursor.mdc | Rule file with hard "never invent the draw" guard. |
All four adapters route through the same audited ai-divination <skill> CLI, so the agent host never invents the result.
ai-divination-skills ships a built-in MCP server (ai-divination-mcp). Any
Model Context Protocol host — Claude Desktop, Codex,
Continue, Cursor — can mount it with a single config line, and the model gets five tools:
tarot.draw, iching.cast, xiaoliuren.cast, bazi.cast, and interpretation_template.
The model never invents the draw; the server runs the audited scripts locally.
Install the package once:
pip install ai-divination-skills
Then edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or
%APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"divination": {
"command": "ai-divination-mcp"
}
}
}
Restart Claude Desktop. Ask "draw three tarot cards for my decision" — Claude will call
tarot.draw and interpret the JSON output.
Any MCP-aware host follows the same pattern. The server speaks JSON-RPC 2.0 over stdio with no third-party dependencies.
Copy-paste JSON configs and example prompts for each host:
Each skill instructs the agent to:
Shared guidance lives in:
shared/methodology.mdshared/interpretation-protocol.mdshared/response-contract.mdshared/randomness-protocol.mdshared/safety-policy.mdshared/interpretation-style.mdexamples/tarot-decision.mdexamples/iching-strategy.mdexamples/xiaoliuren-daily.mdThese skills are not for medical, legal, financial, or crisis guidance.
Good readings should:
See ETHICS.md for the full project stance.
No runtime dependencies are required beyond Python 3.
Run tests:
python3 -m unittest discover -s tests
Current coverage checks:
ROADMAP.mdgood first issue or propose a new-skillSECURITY.md for private vulnerability reportingNear-term:
Later:
meihualiuyaorunesnumerologyastrologyMIT