Install any skill in seconds. Free to start, no credit card required.
Get Started Free →okhp3/okhp3-daily-oracle
OverKill Hill P³ daily oracle workflow.
Passed 16 of 19 test cases with the skill, and 3 of 19 without it.
and 16 more in the full report
16 fixed3 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 16 test cases the skill fixed. Same model, same prompt, with and without the skill.
Which external REST endpoint and query parameters are used to retrieve random tarot cards in the primary data layer? Specify the exact URL and default parameters.
| Checked | Without skill | With skill |
|---|---|---|
| Uses https://tarotapi.dev/api/v1/cards/random?n=1 | Missed | Passed |
The instructions your model reads when the skill loads.
OverKill Hill P³ · overkillhill.com · github.com/OKHP3
Treat the oracle as a three-layer, once-per-day reading: tarot is the anchor, horoscope is optional context, and the AI message is a best-effort synthesis. The user must still receive a meaningful card and message when network services or the AI key are unavailable.
| In scope | Out of scope |
|---|---|
tarotapi.dev card fetch with a deterministic Major Arcana fallback | Birth charts, natal calculations, or multi-day forecasts |
Optional freehoroscopeapi.com daily horoscope | Push notifications, external writes, or server-side persistence |
Anthropic message generation through this repo's src/lib/oracle.ts | Adding a backend, Cloudflare Worker, API route, secure proxy, or database |
Per-user, per-day localStorage cache and graceful degradation | Non-Claude AI providers or public multi-user secret management |
Existing useOracle, OracleReading, and OracleCard integration | Replacing the app's state and storage architecture |
When working in Kieran's LifeTrkr, preserve these facts:
src/lib/oracle.ts owns tarot, horoscope, Anthropic access, the fallback, and
the oracle-message cache. src/hooks/useOracle.ts orchestrates the reading;
src/components/OracleCard.tsx renders it.lifetrkr:{userId}:oracle:{YYYY-MM-DD}. The profile sub is the user ID;
use guest when no profile exists or parsing fails. The date is
new Date().toISOString().split('T')[0], never a locale-formatted date.MAJOR_ARCANA list and
selects MAJOR_ARCANA[dayOfYear % MAJOR_ARCANA.length]. Do not substitute a
random card or a static single card, and do not describe a 12-card pool as the
repo implementation.test cases passed, vs 3 / 19 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.