본문으로 건너뛰기
cccskills
무료GitHub에 공개

let-fate-decide

Use a randomized tarot spread to guide loosely defined tasks or choose among reasonable approaches. It interprets 36 cards across 12 areas, turning their themes into concrete next steps and possible investigation angles.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Draws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over asking clarifying questions when the user's tone is casual or playful rather than precision-seeking.

설치 방법 보기

이럴 때 유용합니다

  • Choosing an approach for a casually delegated task
  • Breaking a tie between reasonable options
  • Finding a new angle when planning stalls
  • Generating hypotheses and spotting possible blind spots

포함된 파일(98)

  • SKILL.md10.0 KB
  • agents/openai.yaml236 B
  • assets/trail-of-bits-mark.svg3.0 KB
  • cards/cups/ace-of-cups.md627 B
  • cards/cups/eight-of-cups.md666 B
  • cards/cups/five-of-cups.md603 B
  • cards/cups/four-of-cups.md607 B
  • cards/cups/king-of-cups.md511 B
  • cards/cups/knight-of-cups.md478 B
  • cards/cups/nine-of-cups.md634 B
  • cards/cups/page-of-cups.md518 B
  • cards/cups/queen-of-cups.md502 B
  • cards/cups/seven-of-cups.md497 B
  • cards/cups/six-of-cups.md496 B
  • cards/cups/ten-of-cups.md536 B
  • cards/cups/three-of-cups.md482 B
  • cards/cups/two-of-cups.md500 B
  • cards/major/00-the-fool.md563 B
  • cards/major/01-the-magician.md648 B
  • cards/major/02-the-high-priestess.md710 B
  • cards/major/03-the-empress.md645 B
  • cards/major/04-the-emperor.md651 B
  • cards/major/05-the-hierophant.md685 B
  • cards/major/06-the-lovers.md715 B
  • cards/major/07-the-chariot.md704 B
  • cards/major/08-strength.md689 B
  • cards/major/09-the-hermit.md644 B
  • cards/major/10-wheel-of-fortune.md723 B
  • cards/major/11-justice.md664 B
  • cards/major/12-the-hanged-man.md709 B
  • cards/major/13-death.md702 B
  • cards/major/14-temperance.md706 B
  • cards/major/15-the-devil.md699 B
  • cards/major/16-the-tower.md723 B
  • cards/major/17-the-star.md653 B
  • cards/major/18-the-moon.md759 B
  • cards/major/19-the-sun.md722 B
  • cards/major/20-judgement.md701 B
  • cards/major/21-the-world.md731 B
  • cards/pentacles/ace-of-pentacles.md458 B
  • cards/pentacles/eight-of-pentacles.md486 B
  • cards/pentacles/five-of-pentacles.md427 B
  • cards/pentacles/four-of-pentacles.md436 B
  • cards/pentacles/king-of-pentacles.md459 B
  • cards/pentacles/knight-of-pentacles.md471 B
  • cards/pentacles/nine-of-pentacles.md447 B
  • cards/pentacles/page-of-pentacles.md465 B
  • cards/pentacles/queen-of-pentacles.md452 B
  • cards/pentacles/seven-of-pentacles.md461 B
  • cards/pentacles/six-of-pentacles.md428 B
  • cards/pentacles/ten-of-pentacles.md459 B
  • cards/pentacles/three-of-pentacles.md468 B
  • cards/pentacles/two-of-pentacles.md448 B
  • cards/swords/ace-of-swords.md477 B
  • cards/swords/eight-of-swords.md508 B
  • cards/swords/five-of-swords.md498 B
  • cards/swords/four-of-swords.md453 B
  • cards/swords/king-of-swords.md518 B
  • cards/swords/knight-of-swords.md615 B
  • cards/swords/nine-of-swords.md597 B
  • cards/swords/page-of-swords.md504 B
  • cards/swords/queen-of-swords.md517 B
  • cards/swords/seven-of-swords.md495 B
  • cards/swords/six-of-swords.md494 B
  • cards/swords/ten-of-swords.md612 B
  • cards/swords/three-of-swords.md457 B
  • cards/swords/two-of-swords.md497 B
  • cards/wands/ace-of-wands.md461 B
  • cards/wands/eight-of-wands.md443 B
  • cards/wands/five-of-wands.md482 B
  • cards/wands/four-of-wands.md461 B
  • cards/wands/king-of-wands.md467 B
  • cards/wands/knight-of-wands.md547 B
  • cards/wands/nine-of-wands.md414 B
  • cards/wands/page-of-wands.md449 B
  • cards/wands/queen-of-wands.md466 B
  • cards/wands/seven-of-wands.md525 B
  • cards/wands/six-of-wands.md587 B
  • cards/wands/ten-of-wands.md438 B
  • cards/wands/three-of-wands.md464 B
  • cards/wands/two-of-wands.md445 B
  • houses/01-first-house.md1.4 KB
  • houses/02-second-house.md1.5 KB
  • houses/03-third-house.md1.3 KB
  • houses/04-fourth-house.md1.6 KB
  • houses/05-fifth-house.md1.5 KB
  • houses/06-sixth-house.md1.3 KB
  • houses/07-seventh-house.md1.3 KB
  • houses/08-eighth-house.md1.7 KB
  • houses/09-ninth-house.md1.4 KB
  • houses/10-tenth-house.md1.4 KB
  • houses/11-eleventh-house.md1.5 KB
  • houses/12-twelfth-house.md1.6 KB
  • references/INTERPRETATION_GUIDE.md7.2 KB
  • references/TECHNICAL_CONTEXT_LENSES.md4.6 KB
  • scripts/draw_cards.py9.3 KB
  • scripts/pyproject.toml144 B
  • scripts/test_draw_cards.py14.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Let Fate Decide

When the path forward is unclear, let the cards speak.

Quick Start

Resolve the drawing script from this SKILL.md's installed location, not the shell's working directory. In the commands below, replace <resolved-script-path> with that absolute path, keeping the quotes. Relative links and JSON file paths resolve from the directory containing this SKILL.md.

  1. Run the drawing script:

    uv run --no-config "<resolved-script-path>"
    
  2. The script outputs JSON for the default 12 Houses of the Zodiac spread: 12 houses, each with 1 Major Arcana card and 2 Minor Arcana cards. Each house and card includes a file path relative to this SKILL.md's directory.

  3. Read each house file and each card's meaning file to understand the draw. For faster reads, use --content to include house and card text directly in the JSON:

    uv run --no-config "<resolved-script-path>" --content
    
  4. Interpret the spread using the interpretation guide

  5. When the task belongs to a specialized technical workflow, use technical context lenses to translate the reading into an audit, verification, domain, failure-class, or stakeholder lens

  6. Apply the interpretation to the task at hand

When to Use

  • Vague prompts: The user's request is ambiguous and multiple reasonable approaches exist
  • Explicit invocations: "I'm feeling lucky", "let fate decide", "dealer's choice", "surprise me", "whatever you think", "YOLO"
  • Casual delegation: "whatever", "up to you", "your call", "idk", "just do something", "wing it", "I trust you", "doesn't matter", "do what you want", "I don't care", "any approach works", "you pick"
  • Yu-Gi-Oh energy: "Heart of the cards", "I believe in the heart of the cards", "you've activated my trap card", "it's time to duel"
  • Shrug-like brevity: Very short prompts that fully delegate the decision without expressing a preference
  • Redraw requests: "Try again" or "draw again" when no actual system changes occurred (this means draw new cards, not re-run the same approach)
  • Tie-breaking: When you are about to arbitrarily pick between 2+ valid approaches, draw cards instead of silently choosing one

When NOT to Use

  • The user has given clear, specific instructions
  • The task has a single obvious correct approach
  • As the deciding authority for safety-critical work (security, data integrity, production deployments, release approval, incident response)
  • The user explicitly asks you NOT to use Tarot
  • The user's tone is precision-seeking rather than casual -- ask clarifying questions instead to gather actual requirements

Security and Correctness Use

This skill may be used inside a security, audit, or correctness pipeline as a creative lens for discovery: choosing which angle to inspect next, breaking analysis paralysis, generating hypotheses, or surfacing blind spots.

It is never sufficient by itself. In security and correctness contexts, the reading must be followed by ordinary engineering evidence: source review, tests, proofs, traces, reproduction steps, exploitability analysis, or other domain-appropriate verification. Do not treat a favorable card as permission to ship, suppress a finding, skip validation, or overrule a concrete risk.

How It Works

The Draw

The script uses secrets for cryptographic randomness:

  1. Builds separate Major Arcana (22 cards) and Minor Arcana (56 cards) decks
  2. Performs Fisher-Yates shuffles via secrets.randbelow() (no modulo bias)
  3. Deals the default 12 Houses of the Zodiac spread
  4. Each house receives 1 Major Arcana card followed by 2 Minor Arcana cards
  5. Each of the 36 cards independently has a 50% chance of being reversed

The default spread records a conservative unordered-card entropy budget exceeding 100 bits: roughly log2(C(22,12)) bits from Major Arcana selection, log2(C(56,24)) bits from Minor Arcana selection (assuming secrets.randbelow() is cryptographically secure), plus 36 reversal bits. The exact values are computed and reported in the JSON output under entropy_bits. The actual ordered assignment of cards to houses contains more entropy.

The Spread

The default spread is 12 Houses of the Zodiac:

HouseRepresentsQuestion It Answers
1SelfHow should this work begin?
2ResourcesWhat values, assets, or constraints matter?
3CommunicationWhat needs to be clarified or connected?
4FoundationsWhat context or dependency anchors the task?
5CreativityWhere should experimentation or delight shape the work?
6PracticeWhat quality, maintenance, or execution concern matters?
7PartnershipWho or what must this integrate with?
8TransformationWhat risk, shared state, or deep change is present?
9ExplorationWhat principle or broader strategy guides the path?
10CallingWhat delivery or long-term outcome is being served?
11CommunityWhat system, network, or shared aspiration is involved?
12The HiddenWhat blind spot, ending, or unconscious factor matters?

Within each house, the Major Arcana card sets the archetypal theme and the two Minor Arcana cards provide practical detail.

For compatibility with older workflows, draw_cards.py --legacy returns the previous 4-card hand, and draw_cards.py --legacy <count> returns a custom hand of 1-78 cards. A positional count without --legacy is rejected, because the new default spread has a fixed shape.

Reference Files

Each house's meaning is in its own markdown file under houses/. House files describe how the house applies across technical contexts including building new projects, vulnerability discovery, correctness verification, and common audit, verification, domain, failure-class, and stakeholder workflows.

Each card's meaning is in its own markdown file under cards/:

Interpretation

After drawing, read each house file and each card file, then synthesize meaning. See the interpretation guide for the full interpretation workflow. For cross-domain translation, see technical context lenses.

Key rules:

  • Reversed cards invert or complicate the upright meaning
  • Major Arcana cards carry more weight than Minor Arcana
  • The spread tells a story across all 12 houses; don't interpret cards in isolation
  • Map abstract meanings to concrete technical decisions
  • In security, audit, and correctness work, use the reading to choose an investigation path, then require evidence before accepting or dismissing any risk
  • Never output interpretation as a text-only turn. Include the interpretation alongside your next tool call (the action that implements the chosen option). Prefer --content so all 36 card meanings and all 12 house meanings are available from the draw output.

Example Session (House-Level Fragment)

A real reading synthesizes all 12 houses; the fragment below shows only what one house contributes so the format is clear. Do not stop after one house in actual use.

User: "I dunno, just make it work somehow"

[Draw cards]
1st House (Self): The Magician (upright), Five of Swords (reversed),
                  Ten of Pentacles (upright)

House contribution: The starting stance is resourceful and tool-rich
(Magician), but the practical details warn against combative edge-case work
(Five of Swords reversed) while still favoring maintainable craft
(Ten of Pentacles). This is one input into the overall reading; combine with
the remaining 11 houses before deciding on an approach.

The named draw agent returns a more compact form for portent questions: 3 concise bullets covering the dominant theme, the main risk or blind spot, and the recommended next action.

Error Handling

If the drawing script fails:

  • Script crashes with traceback: Report the error to the user and skip the reading. Do not invent cards or simulate a draw — the whole point is real entropy.
  • Card file not found: Note the missing file, interpret the card from its name and suit alone, and continue with the reading.
  • Never fake entropy: If the script cannot run, do not simulate a draw using your own "randomness." Tell the user the draw failed.

Rationalizations to Reject

RationalizationWhy Wrong
"The cards said to, so I must"Cards inform direction, they don't override safety or correctness
"This reading justifies my pre-existing preference"Be honest if the reading challenges your instinct
"The reversed card means do nothing"Reversed means a different angle, not inaction
"Major Arcana overrides user requirements"User requirements always take priority over card readings
"I'll keep drawing until I get what I want"One draw per decision point; accept the reading
"The reading says the risk is fine"Cards can suggest what to inspect; only evidence can dismiss a security or correctness concern

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Build and test code with AddressSanitizer, a tool that detects invalid memory access during execution. Configure checks for C/C++ and unsafe Rust, investigate crash reports, and adjust settings for fuzzing, or testing with generated inputs.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Detect memory errors while fuzzing C/C++
  • Test unsafe Rust and calls to external libraries
  • Interpret an ASan crash report
trailofbits/skills7.6천2026년 10월 16일 업데이트

aflpp

무료

Sets up AFL++ to test C/C++ programs with varied generated inputs, a technique called fuzzing. Covers running tests across CPU cores, monitoring progress, reducing input collections, and reproducing crashes for investigation.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Running C/C++ fuzzing across multiple CPU cores
  • Exploring further after libFuzzer progress stalls
  • Monitoring fuzzing progress and stability
trailofbits/skills7.6천2026년 10월 16일 업데이트

Audits GitHub Actions workflows that run AI coding agents. Traces how attacker-controlled content reaches prompts, checks permissions and sandbox settings, and reports evidence, severity, and fixes for prompt injection and related configuration risks.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Reviewing workflows that run AI coding agents
  • Tracing issue and PR content into agent prompts
  • Checking sandbox settings and user allowlists
trailofbits/skills7.6천2026년 10월 16일 업데이트

Reviews Algorand smart contracts written in TEAL or PyTeal for 11 vulnerability patterns. Produces a complete coverage table and findings with code references, severity ratings, and suggested fixes, with optional automated checks using Tealer.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Security checks before an Algorand contract audit
  • Reviewing TEAL or PyTeal transaction validation
  • Verifying fixes for reported vulnerabilities
trailofbits/skills7.6천2026년 10월 16일 업데이트

atheris

무료

Set up Atheris to test Python code and C extensions with automatically varied inputs. It guides test harness creation, coverage tracking to explore more code, and AddressSanitizer setup for finding memory errors.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Fuzzing a Python package or parser
  • Investigating memory corruption in Python C extensions
  • Turning raw bytes into typed test arguments
trailofbits/skills7.6천2026년 10월 16일 업데이트

Connect static analysis results and human audit notes to a Trailmark code graph. Group findings by severity and compare them with input flow, impact, and privilege boundaries to prioritize investigation and understand findings in their code context.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Connecting Semgrep or CodeQL results to code structure
  • Combining human audit notes with automated findings
  • Prioritizing findings using input flow and impact
trailofbits/skills7.6천2026년 10월 16일 업데이트

trailofbits의 스킬 모두 보기

이 스킬의 문제 신고