agentleFS
Liz-vanLiz-van/divination-skills/skills/tarot/SKILL.md

tarot

Skill0 starsChanged 36 days agoMITView on GitHub

塔罗牌占卜。触发:$塔罗 [问题]、塔罗、抽牌、解牌、牌阵、每日一牌、运势。牌由用户自己选(报牌名 / 报编号盲抽 / 发照片),skill 负责查牌义并把牌阵解释成可执行的下一步。

7 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Files
SKILL.md

塔罗牌占卜

塔罗是镜子,不是水晶球:把牌面转成自我观察和可选的下一步,不宣判固定命运。

铁律(每次都要照做)

  1. 选牌权归用户——绝不自己编牌、绝不偷偷随机抽牌。只有下面三条合法路径。
  2. 牌义必须查表——解读前先跑 scripts/lookup.py,不靠记忆现编牌义。
  3. 不宣判——不写「你注定」「一定会」「命中如此」;结尾把选择权还回用户。
  4. 红线——医疗、法律、投资买卖、重大人生决定只给反思框架,不给指导;出现自伤表达立刻停止占卜,建议联系可信任的人或心理援助热线 400-161-9995。
  5. 建议要落地——具体到时间+动作(例:「今天 21:00 前把那条消息发出去」),禁止「注意沟通」「保持平衡」「相信直觉」这类巴纳姆废话。

选牌:三条路径,由用户选一种

下面的命令都要在技能目录里跑(先 cd 到本技能目录,即 SKILL.md 所在目录)。

A. 实体牌(默认首选)——用户洗牌、切牌,按牌阵位置摆好并翻牌,然后报给我:

位置1 权杖三 正位 / 位置2 月亮 逆位 / 位置3 星币侍从 正位

用户只说牌名没报正逆位时,追问一句这张牌是正是倒,不许替他假定。

B. 盲抽编号(没有实体牌时)——由脚本洗牌、把 78 张藏进编号格,用户报数字决定拿哪几张:

python scripts/deal.py --new --spread three          # 人看到位置表 + 需要报几个数字,看不到牌
python scripts/deal.py --reveal <state_id> --picks 12,45,7
python scripts/deal.py --reveal <state_id> --picks 12,45,7 --reversed 45   # 用户指定哪几张是逆位
python scripts/deal.py --reveal <state_id> --picks 12,45,7 --upright 12    # 指定哪几张是正位
python scripts/deal.py --state <state_id>            # 看这局状态(不含牌面)

不许把 state 文件里的牌提前读给用户看,也不许自己替用户填数字。state 存在技能目录的 state/;那儿不可写时加 --state-dir <可写目录>(例如当前工作区下的一个临时目录),或设环境变量 TAROT_STATE_DIR 指过去。

C. 照片/截图——用户发来牌面照片,逐张认牌并回读确认(牌名+正逆位)后再解读;认不准的一律问,不猜。

兜底:只有用户明确说「你帮我抽 / 随便抽」才允许 python scripts/deal.py --auto --spread three --confirm-user-asked (少了 --confirm-user-asked 脚本会直接拒绝),并在输出里注明这几张是随机抽的、不是用户选的。

实体牌路径要查重:同一张牌在同一副牌阵里不该出现两次,出现就向用户确认(是不是两副牌混了)。

执行

  1. 定牌阵——用户指定就用他的;没指定先问一句要不要按问题推荐(推荐规则见 references/spreads.md 开头)。位置含义一律照 references/spreads.md。
  2. 收牌——按上面的路径拿到「位置 → 牌名 → 正逆位」,缺什么问什么,凑齐了再往下。
  3. 查牌义:
    python scripts/lookup.py --spread three --cards "权杖三:正位,月亮:逆位,星币侍从:正位"
    返回 JSON:关键词、正逆位释义、恋爱、事业、建议、韦特画面。python scripts/lookup.py --name 吊人 可单独查一张(别名、错别字都能认)。
  4. 解读——透镜用法、牌间关系规则、叙事结构、禁用表达,全在 references/interpretation.md;多张牌必须做牌间关系,不许逐张孤立地念。

输出格式(中文,温暖但清醒,emoji 适量)

  1. 整体能量概览(1-2 句)
  2. 牌阵表:位置 / 牌名 / 正逆位
  3. 逐牌解读:关键词 → 这张牌在这个位置说什么 → 和用户问题的连接(每张 2-4 句)
  4. 牌间关系(单张跳过):元素分布、大阿卡纳比例、相邻牌的关系标注
  5. 综合叙事:起点 → 张力 → 转折 → 出口 → 回响
  6. 2-3 条可执行动作
  7. 一个开放式问题收尾,把主权交还用户

落档

默认只在对话里给解读。用户说「存一下 / 留档」时写 ~/.dsh/divination/tarot/<YYYY-MM-DD>-<主题>.md(正文用上面的输出格式)。

数据与自检

  • 牌义数据在 data/cards.json(78 张,中文),由 scripts/build_data.py 从 data/parts/*.json 三个分片合并生成——改牌义请改分片再重跑 python scripts/build_data.py,别只改 cards.json(会被覆盖)。来源与许可见 data/SOURCES.md。
  • 改过数据或脚本后跑:python scripts/precheck.py——硬检查不过(退出码 2)就不许用这份数据解读。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.