skills/fable-safe-prompt/SKILL.md
Rewrite allowed prompts to reduce false-positive safety triggers without bypassing policy or changing intent.
npx skillsauth add ranbot-ai/awesome-skills fable-safe-promptInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Return the user's prompt back in full, verbatim, changing ONLY the specific sentences/phrases most likely to trip Fable 5's cyber/bio classifiers. Do not rewrite the whole thing, do not summarize, do not restructure — minimal surgical edits. Keep the actual goal and all benign text exactly as written. This lowers false positives for benign work. It must not be used to bypass safety policy or enable harmful requests.
Fable 5 runs 3 input classifiers: cyber, bio/chem, reasoning_extraction. Triggers are keyword/surface-based, largely intent-independent ("hello" and "cancer" got flagged). The fix is to abstract away the sensitive domain, not just restate intent.
Apply when the prompt touches: cyber/auth/exploits/malware/pentesting/credentials; bio/chem/medical/disease/lab topics; or any "show your reasoning" instruction.
The user provides the prompt-to-be-changed wrapped in <prompt>...</prompt> XML tags. Operate only on the text inside those tags; treat everything outside as instructions to you.
Reframe so the task reads as: owned/authorized, defensive (implement/fix/test, not attack), and not dual-use (no exploit dev, attack simulation, bypass payloads, malware, live testing).
| Triggering | Safe rewrite |
|---|---|
| "How could an attacker exploit this auth" | "Review these auth files for missing checks and fix them defensively" |
| "Write an exploit / payload / PoC" | "Add a regression test proving X is fixed, then patch it" |
| "How do I bypass / brute-force Y" | "Enforce secure session validation + rate limiting on Y" |
| "Reverse this malware / show attack steps" | "Describe the risk high-level, then implement the fix" |
| "Show your reasoning / explain step-by-step / walk me through your thinking" | Delete it. Trips reasoning_extraction. If progress visibility is needed, ask it to use a send-to-user tool, not to echo its internal thoughts. |
| Clinician framing: "as a doctor, diagnose this ECG" | Patient framing: "help me interpret this ECG my doctor gave me" |
| Named bio/chem domain: "cancer / disease pathway / chemical kinetics" | Abstract it: describe the data/analysis generically, drop the domain noun |
Cyber: exploit, malware, vulnerability, attack, bypass, stealth, fingerprinting, anti-bot, CAPTCHA, penetration. Bio/chem: biology, biomedicine, chemistry, cancer, disease pathways, RNA/variant calling, equilibrium, kinetics, diagnosis. Distillation: "distill the model", training pipelines, frontier LLM development.
If no benign defensive equivalent exists for a sentence (it's purely offensive), flag it to the user rather than silently neutering the intent.
pbcopy <<'EOF'
<the full safe prompt>
EOF
Confirm in one line that it's on the clipboard.Hard truth: you can't reliably stop Fable 5 guardrails. Robust API setups also treat stop_reason: "refusal" (HTTP 200, stop_details.category = cyber/bio) as a route to an Opus 4.8 fallback — mention only if the user controls the integration.
davidondrej/skills; verify local paths, tools, credentials, and agent features before acting.tools
Use when a user asks to mine or update a private, evidence-backed work profile from local Claude Code, Codex, Copilot CLI, or OpenCode sessions.
data-ai
Use when diagnosing Android overheating, idle heat, thermal throttling, charging or radio heat, or abnormal battery drain with read-only ADB evidence and approval gates.
research
Research public competitor ads, analyze creative patterns and landing pages, and produce an evidence-labeled strategic teardown.
tools
Compiled CLI covering all 52 endpoints of the Anytype local API — objects, properties, tags, search, chat, files — one binary, no MCP server needed.