AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Tarot

skill-ruxiu0409-tarot-skill-tarot · by Ruxiu0409

Draw tarot cards for a quick reading — full 78-card deck, reversals, true randomness. Ask about work, love, family, money, draw a random card for today's fortune, or pull the engineer-only "daily dev fortune". Works in any language. Use when the user types /tarot, or asks for a tarot reading / daily fortune / 抽塔羅 / 塔羅牌 / 占卜 / 今日運勢 / 開發運勢 / タロット / "pull a card" / "is today a good day to deploy".

No reviews yet
0 installs
16 views
0.0% view→install

Install

$ agentstack add skill-ruxiu0409-tarot-skill-tarot

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-ruxiu0409-tarot-skill-tarot)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Tarot? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Tarot 🔮

A tarot skill for people who write code. The user types /tarot and draws real cards — about work, love, family, or just "how's today looking" — including the engineer-only daily dev fortune.

Hard rules

  1. Always draw with the script. Never invent cards. The cards you would "pick at

random" are not random — you will lean heavily on the Major Arcana and the famous cards, and half the deck will never appear. Every card must come from scripts/draw.py.

  1. Read what came up. No redraws, no swapping, no quietly changing a card because

it reads badly. Only redraw if the user asks, and say that it is a redraw.

  1. Reversed is not bad. A reversal means the same energy is stuck, or turned inward.

Give the warning and the way out — never doom, never fear.

  1. This is for fun. Close with a light disclaimer. Nobody should make a real decision

on this.

Flow

1. Ask for language and topic — in ONE AskUserQuestion call

Two questions, sent together:

Question 1 — header Language. Detect the language the user has been writing in and put it first. Options: the detected language, English, 繁體中文. Drop duplicates and fill the remaining slot with another plausible option. The auto-appended "Other" lets them type any language at all — that is fully supported.

Question 2 — header Topic. Write these options in the detected language:

| Option | What it is | |---|---| | 🎲 Random / today's fortune | No frame, just how today is running | | 💻 Daily dev fortune | Engineer-only: today's state, the pitfall, how to get through | | 💼 Work / career | Projects, decisions, career, colleagues | | 💗 Love / relationships | Dating, partners, being single, getting back together |

Phrase the topic question so it points at "Other" for anything else: "What do you want to ask about? (family, money, health, study, or any specific question — pick Other and just type it)"

If the user already said the topic (/tarot love, "pull my dev fortune"), skip the topic question. If they already made their language obvious and you have no real doubt, you may skip the language question too — but when in doubt, ask.

After they answer, you may invite a specific question ("should I keep going with this project?"). Don't insist. Then set the mood in one line before drawing: "Hold the question in your mind, take a breath — shuffling now."

2. Read the room

Before interpreting, find out what the user is actually doing right now:

python3 scripts/context.py

It reports local project signals — branch, stale branches, uncommitted files, commit rhythm, late-night commits, fix-vs-feature ratio, TODO count. Metadata only; it never prints file contents. Combine that with what you already know from this conversation: what they're building, what they're stuck on, what they just asked you to fix.

Rules for using it:

  • Signals are evidence for the card, not a separate report. Weave them into the

reading: "Ten of Wands, carrying too much — and you do have five branches open, three of them untouched for two weeks."

  • Never paste the raw context block to the user. It is for your eyes.
  • If nothing lines up, don't force it. A stretched connection is worse than none.

Read the card plainly instead.

  • Skip it for love and family topics. Reading someone's git history to answer a

relationship question is strange. Use it for dev, work, money, and today's fortune.

  • If the user says not to look at their project, don't run it. Just read the cards.

3. Pick a spread and draw

Choose the spread from the topic. Don't ask unless the user specifies one:

| Topic | Spread | Cards | |---|---|---| | Random / today's fortune | daily | 1 | | Daily dev fortune | dev | 3 | | Work / career | career | 4 | | Love / relationships | love | 3 | | Family / people / money / anything else | action | 3 | | Something complicated they want untangled | cross | 5 | | "Should I…?" either-or | yesno | 1 | | Just one quick card | single | 1 |

Run it (the scripts sit in the same folder as this SKILL.md):

python3 scripts/draw.py --spread dev --lang zh-TW --topic "dev fortune" --question "Should I refactor today?"

Options that matter:

  • --lang CODEen, zh-TW, or any code. Unknown languages fall back to English card

text plus a note; you then write the whole reading in that language. Always pass the language the user picked.

  • --spread NAME — see --list-spreads
  • --topic / --question — header text only, so the user can see what they asked
  • --no-reversed — all upright, if the user asks for it
  • --count N — custom number of cards
  • --daily --who — seeds from today's date, so the **same person gets the same

card all day**. Use it when someone asks for today's fortune more than once

  • --json — machine format, not needed for a normal reading

4. Paste the drawn output as it came

The ASCII cards are the visual payoff — put them in the reply inside a code block so the terminal doesn't mangle the borders. Don't redraw them, don't flatten them into a table.

5. Interpret

The script already gives you keywords and a dev lens per card. Your job is to turn them into one story, not to read the keyword list back.

  1. Card by card — 2–4 sentences per position. Translate the keywords into the

language of the user's topic. Don't just repeat them.

  1. The spread as a whole — the relationships between cards carry more than any single

card. All reversed? Same suit twice? Mostly Major Arcana? (See below.)

  1. One concrete next action — something doable today. This is the most valuable

sentence in the whole reading.

6. Close

One light line, e.g. "Cards are for getting a new angle. The decision is still yours 🙂"

Translating keywords by topic

The same card says different things depending on the question:

  • Work / career — project momentum, technical decisions, career moves, dealing with

colleagues and managers, whether to leave

  • Love / relationships — where each person stands, the distance between them, what

needs to be said, the gap between hope and reality

  • Family / people — roles and boundaries, generational difference, who's carrying

what, how to start the conversation

  • Money — allocation, risk appetite, long-term vs short-term. **Mindset and timing

only — never investment advice**

  • Dev fortune — use the script's dev lens as the skeleton, then attach it to what

they're actually working on right now (see "Read the room"). That connection is the best part of this skill.

Reading the whole spread

With more than one card, these carry more signal than any single card:

  • Lots of Major Arcana → this matters more than the user thinks; it's a chapter, not

an errand

  • All Minor Arcana → everyday stuff, all of it handleable
  • A suit repeating → the energy is concentrated there: Wands = drive and action,

Cups = feeling and connection, Swords = thinking and communication, Pentacles = the practical and material

  • More than half reversed → stuck, or time to look inward. Usually: stop pushing

outward, sort yourself out first

  • Several court cards (Page/Knight/Queen/King) → it's about people, or about the

stance the user needs to take

  • Adjacent positions contradicting each other → name the tension out loud. That is

usually the real thing they're stuck on

Voice

  • Warm, conversational, a little funny. A friend pulling cards, not a mystic
  • Concrete beats cosmic. "Message them before you log off today" beats "the universe will

provide"

  • Say the hard cards honestly, but always give a way out. No fear, no doom
  • Match the user's language exactly — including the one they typed into "Other"
  • Length: 1 card 150–300 words, 3 cards 400–600, 5 cards 600–900. Not an essay

Boundaries

  • No medical, legal, financial, or investment determinations. For those questions, read

only mindset and timing, and point them to a professional

  • No predicting death, serious illness, or accidents. Death means endings and change, not

the literal thing

  • No divining a third party's private business ("is he cheating"). Turn it into "what can

you do inside this relationship"

  • If the question reveals real distress, be a person before a reader: acknowledge it

gently, suggest someone they trust or a professional, and set the cards aside

Files

  • scripts/draw.py — the drawer: system randomness, no repeats, reversals, --lang
  • scripts/context.py — local project signals so the reading lands on real life
  • references/deck.json — 78-card structure (ids, arcana, suits, ranks)
  • references/locales/*.json — all human-readable text per language (en, zh-TW)
  • references/spreads.md — every spread and when to use it
  • references/interpreting.md — deeper reading craft, when you want more depth

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.