# Oraclebone
> Three thousand years ago, Shang kings carved their divinations into bone — the first auditable record of an oracle at work. Oraclebone brings the same discipline to AI agents: audited scripts produce the draw, the hexagram, the pillars; the model only interprets what it is given. It never invents the result. [English](README.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) [](https://github.com/sapuyou45-bit/oraclebone/actions/workflows/tests.yml) [](https://github.com/sapuyou45-bit/oraclebone/actions/workflows/release.yml) [](https://pypi.org/project/oraclebone/) [](https://pypi.org/project/oraclebone/) [](https://github.com/sapuyou45-bit/oraclebone/releases) [](https://opensource.org/licenses/MIT) [](https://github.com/sapuyou45-bit/oraclebone/actions/workflows/tests.yml) [](https://github.com/sapuyou45-bit/oraclebone/discussions) 🔮 Open-source divination toolkit for AI agents, formerly known as **ai-divination-skills** (renamed in v8.0.0 — the old PyPI package is frozen; install `oraclebone` instead). `oraclebone` 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. ## ⚡ One-line Install for AI Agents Paste this into your AI agent: ```text Install Oraclebone for this agent: https://raw.githubusercontent.com/sapuyou45-bit/oraclebone/main/docs/install.md ``` Or install directly for Claude-style local skills: ```bash curl -fsSL https://raw.githubusercontent.com/sapuyou45-bit/oraclebone/main/install.sh | bash ``` The default target is `~/.claude/skills`. Set `AI_SKILLS_DIR` for another agent skill directory. ## ✨ Overview Most AI divination prompts let the model invent the result. This repo separates the two jobs: 1. A local script produces the card draw, hexagram, or Xiao Liu Ren position. 2. The AI agent interprets that generated result with clear safety boundaries. That makes readings easier to test, reproduce, audit, and reuse across agents. ## 🧭 Methodological Rigor 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: - real readings use system randomness by default - seeded mode is only for tests and reproducible demos - traditional methods and limitations are documented per skill - JSON outputs include enough metadata to audit the method - approximate modes emit warnings instead of pretending to be traditional ## 🌐 Multilingual Docs The GitHub Pages site ships a six-language switcher — 简体中文, English, 日本語, Português, 한국어, Español. It follows your browser language by default and remembers your manual choice. [Open the published site](https://sapuyou45-bit.github.io/oraclebone/) Local preview: ```bash python3 -m http.server 8000 -d docs ``` Published site: ```text https://sapuyou45-bit.github.io/oraclebone/ ``` ## 🧩 Included 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` | ## 🚀 Quick Start Install from PyPI: ```bash pip install oraclebone ``` Or from a checkout: ```bash pip install . ``` Use editable mode while developing: ```bash pip install -e . ``` Use one command for every system: ```bash 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: ```bash ai-divination template tarot ``` Use the Python API directly: ```python from oraclebone.tarot import draw from oraclebone.iching import cast from oraclebone.xiaoliuren import cast_numbers ``` You can still run the underlying scripts directly: ```bash 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: ```bash python3 skills/tarot/scripts/draw.py --spread decision --seed demo python3 skills/iching/scripts/cast.py --method yarrow --seed demo ``` All scripts output JSON. ## 📦 Install as Agent Skills For AI-agent-guided setup, use the remote install runbook: ```text Install Oraclebone for this agent: https://raw.githubusercontent.com/sapuyou45-bit/oraclebone/main/docs/install.md ``` For direct shell install: ```bash curl -fsSL https://raw.githubusercontent.com/sapuyou45-bit/oraclebone/main/install.sh | bash ``` The installer copies `tarot`, `iching`, and `xiaoliuren` into `~/.claude/skills` by default. To target another agent, set `AI_SKILLS_DIR` before running it. Manual install is just copying the folders you want into your agent's skill directory: ```bash mkdir -p ~/.claude/skills cp -R skills/tarot ~/.claude/skills/tarot cp -R skills/iching ~/.claude/skills/iching cp -R skills/xiaoliuren ~/.claude/skills/xiaoliuren ``` Each skill is self-contained: ```text 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. ### Per-host adapters Every skill ships four adapter files in `skills/