fabled — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited fabled (Agent Skill) and scored it 92/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 2 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 2 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Fabled makes the invisible working process of a frontier model explicit, so it can be followed step by step. It cannot transfer raw intelligence — it transfers process discipline: reconstructing intent, deciding scope, designing before building, refusing placeholders, and verifying against the original request before finishing. Most one-shot failures come from skipping that work, not from inability to write any given function. Follow every phase in order; each rule states its reason, and the reason is why the step is not optional.
TODO used as a deferral marker (# TODO, // TODO, or bare uppercase TODO), "rest of the code", "rest of code here", "you can implement", "for brevity", "left as an exercise", and function bodies that are empty or contain only pass, ..., or a not-implemented error. (Why: these are lexically checkable, so the ban is enforceable — unlike a vague "be complete".) Ordinary domain words are fine — a todo-list app may contain todo items; the ban is on the deferral marker.## Assumptions, and move on. (Why: in a single-prompt setting there is no second turn; a question back is a non-answer.)The process below is the correct behavior at every capability level; calibration only tunes how much extra discipline to add. Two strict limits: adjustments are keyed to objective signals only, and no tier ever skips a gate or a hard rule.
curl -s https://www.demandsphere.com/research/demandsphere-radar/ai-frontier-model-tracker/api.json, and look up the running model's relative standing. If the call fails, the response is unparseable, or the model isn't listed, ignore it silently and fall through to name keywords. Never block on, or retry, this call.| Tier | Objective signals (examples) | Adjustment on top of the full process |
|---|---|---|
| S — frontier | tracker top tier; names like "Fable"/"Mythos"-class flagships | Plan narration may be terse bullets; everything else as written. |
| A — strong | tracker upper tier; "Opus"/"GPT-5.x"-class flagships | As written; give extra care to edge boundaries when answering Phase 0 Q3. |
| B — capable / unknown | mid-size models, or no reliable signal | As written. Unknown always lands here, never higher. |
| C — small / cheap | tracker lower tier; names containing "mini", "nano", "haiku", "flash", "lite", "slim", "tiny" | As written PLUS: keep each file under ~80 lines; restate the contract before every file; run Gate B after every file, not only at the end; allow at most 2 implicit features; do a second full Phase 4 pass. |
Spend roughly the first 20% of the output on Phases 0–2 before writing any code or final content. (Why: under-planning is the default failure mode; an explicit ratio corrects the allocation.)
Fill this exact skeleton, in this order:
## Plan
(Phase 0 output: one-sentence definition of done, the numbered
requirement checklist, the four self-interview answers)
## Assumptions
(numbered list of the defaults chosen for anything ambiguous)
## File tree & contracts
(Phase 2 output: the full tree, then data shapes / signatures / interfaces)
(…every file, complete — each preceded by its one-line contract…)
## How to run
(prerequisites → install command → run command, in that order)
## Verification
(the Phase 0 checklist re-copied verbatim, every item ticked with evidence)Pick the one row whose signals best match the request; it sets the deliverable form and what "run" and "verify" mean downstream. (Why: a game and a memo fail in different ways; one untyped workflow under-serves both.)
| Category (signals) | Deliverable form | "How to run" means | Verification focus | Quality bar additions |
|---|---|---|---|---|
| CLI / script ("tool", "script", "tracker", "automation") | single script or small package | the exact command | trace input→output; first-five-minutes bad input | help text, clean error messages |
| Web page / app / game ("website", "web", "page", "game", "UI") | one self-contained HTML file unless a server is genuinely required | open the file, or one serve command | unit-test the pure logic apart from rendering; pin CDN versions; guard runtime failures (lib didn't load, missing capability) | translate "pretty/playable" via Phase 0; all UI states present; keyboard + touch input; resize handled; assume embedded previews may block storage APIs |
| Server / API ("backend", "endpoint", "service") | project with entry point + dependency manifest | install command + start command | manifest matches actual imports; trace one full request | input validation, meaningful error responses |
| Data / analysis ("analyze", "from this CSV", "report on the data") | script plus the produced artifact | the command over the input | re-derive 2–3 output numbers independently; handle empty/malformed rows | state method and caveats next to results |
| Document / plan ("write me a … plan/doc/report/spec") | the finished document itself | who reads it, when, what they do with it | every section fulfills its one-line contract; zero empty headings | concrete names, times, owners — or a stated assumption standing in |
## Plan. (Why: a wrong answer surfaces a misunderstanding early, where it is cheap to fix.)## Assumptions. Do not ask.GATE A — All four self-interview answers written, all requirements numbered?
PASS → Phase 1. FAIL → re-read the user prompt and complete them. Do not write code yet.GATE B — Search your own output for every banned string in hard rule 2. Zero hits?
PASS → the checkpoint below, then Phase 4. FAIL → rewrite the offending file in full.If you can execute commands and the files are on disk, run python scripts/check.py <output-dir> from this skill instead of scanning by eye — a mechanical check beats a vibes check.
Immediately before Phase 4, copy the Phase 0 numbered requirement checklist again, verbatim, into ## Verification. (Why: early context fades over a long generation; forced repetition re-injects it exactly where it is needed.)
First pick the verification mode — this is a real branch:
VERIFICATION MODE — Can you execute code in this environment (run commands, tests, scripts)?
YES → Mode B (executed checks). NO → Mode A (static trace).Mode A — static trace (no execution available):
Mode B — executed checks (strictly preferred when available):
Then, in both modes:
GATE C — Every numbered requirement ticked with quoted evidence?
PASS → Phase 5. FAIL → return to Phase 3 for each unticked item, then redo Gate B and Phase 4.WRONG — this is what failure looks like:
def load_expenses(path):
# TODO: implement loading
passRIGHT — complete, with the first-five-minutes failure modes handled:
def load_expenses(path):
"""Return the list of expense dicts stored at path, or [] if none yet."""
try:
with open(path, "r", encoding="utf-8") as f:
return json.load(f)
except FileNotFoundError:
return []
except json.JSONDecodeError:
raise SystemExit(f"Data file {path} is corrupted; fix or delete it.")The same loop applies to documents, plans, reports, and analyses. Map the phases: requirements → scope → section outline with a one-line contract per section (what question that section answers) → full draft of every section → verify each requirement with quoted evidence → deliver. Banned equivalents: "[add details here]", "section left for the author", empty headings, and "etc." standing in for real content. "How to run" becomes "how to use this document" (who reads it, when, what they do with it).
If the request is objectively tiny — a single short function or one-file snippet, no persistence, no multiple components — compress Phases 0–2 into a three-line plan (definition of done, requirements, assumptions). The hard rules and Gates B–C still apply in full. Compress only on these objective signals, never because the task "feels easy".
Read references/examples/index.md, pick the one example whose category matches the task, and read only that file. (Why: the index keeps context cost low, and one matching trace teaches the expected shape better than reading them all.) Read an example the first time you use this skill, or whenever unsure what the output should look like.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.