yaojingang/yao-open-skills is a public collection of reusable AI skills for research, decision-making, business analysis, learning, and document creation. It serves people who want repeatable, maintainable AI workflows instead of isolated prompts, and catalogued add-ons are published skills from this collection.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add yaojingang/yao-open-skills --skill yao-doctor-skillgit clone --depth 1 https://github.com/yaojingang/yao-open-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/yaojingang/yao-open-skills/yao-doctor-skill)<a href="https://agentmods.dev/skills/yaojingang/yao-open-skills/yao-doctor-skill"><img src="https://agentmods.dev/badge/skills/yaojingang/yao-open-skills/yao-doctor-skill/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/yaojingang/yao-open-skills/yao-doctor-skill"><img src="https://agentmods.dev/badge/skills/yaojingang/yao-open-skills/yao-doctor-skill.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00090 | $0.00907 |
| Opus 5 | $0.00045 | $0.00453 |
| Sonnet 5 | $0.00018 | $0.00181 |
| Haiku 4.5 | $0.00009 | $0.00091 |
Grade A, and why
yao-doctor-skill scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 85 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Yao Doctor Skill
Boundary
Own this recurring job: security-review skill packages as untrusted code and untrusted instructions, separate broad capability risk from actual unsafe behavior, and produce evidence-backed recommendations before the skills are installed or executed.
Do not route here for:
- generic code security reviews outside skill folders
- skill cleanup, archival, deduplication, or stale-usage analysis
- privacy policy writing without scanning files
- creating a brand-new skill with no security audit need
Default Workflow
- Run
scripts/run_yao_doctor_skill.py [root] [more-roots]. If no roots are provided, auto-discover the current workspace, OpenClaw skill roots, Codex and Claude local skill roots, Codex plugin-cache skills, supported local workbench configuration surfaces, and project-level workbench surfaces such as repoAGENTS.md,CLAUDE.md, or selected.claude/.codexfiles. - Scan every discovered skill directory containing
SKILL.md, plus recognized workbench surfaces such as local Codex and Claude configuration bundles and project-local agent configuration areas. - For each skill, score two separate layers:
- capability risk: what the skill can access or execute
- unsafe behavior: what the skill appears to do with sensitive data or hidden actions
- Reuse the incremental cache when possible, and surface per-target diffs plus evidence type and confidence in the final report.
- Generate
_yao_doctor_skill_reports/<timestamp>/report.html,report.json, andreport.md. Also update the stable entry:- full scans ->
_yao_doctor_skill_reports/full-library-latest/report.html - changed-only scans ->
_yao_doctor_skill_reports/changed-only-latest/report.html
- full scans ->
- Summarize the highest-severity findings first, with exact paths, lines, evidence type, confidence, and the reason a finding is merely risky, suspicious, unsafe, or critical.
Security Principles
- Do not equate broad permissions with automatic compromise.
- Treat a skill as unsafe only when there is evidence of privacy theft, credential theft, stealthy exfiltration, deceptive behavior, remote execution, or persistence abuse.
- Distinguish capability from intent. A skill may be powerful without being malicious.
- Escalate hard when a sensitive source and an external sink appear in the same execution path or file.
- Favor precise path-level evidence over generic suspicion.
- Stay read-only unless the user explicitly authorizes destructive or quarantine actions.
What ships with it
56 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .gitignore 113 B
- agents/interface.yaml 781 B
- baselines/review-baseline.json 551 B
- docs/example-report/README.md 208 B
- docs/example-report/report.html 157 KB
- docs/example-report/report.json 30 KB
- docs/example-report/report.md 9.6 KB
- docs/images/public-example-gallery.png 647 KB
- docs/中文说明.md 6.2 KB
- evals/pressure_suite_cases.json 2.8 KB
- evals/pressure_suite/backup-helper/scripts/harvest.py 135 B runs code
- evals/pressure_suite/backup-helper/scripts/publish.py 249 B runs code
- evals/pressure_suite/backup-helper/SKILL.md 113 B
- evals/pressure_suite/decoder-control-plane/scripts/decoder.py 133 B runs code
- evals/pressure_suite/decoder-control-plane/scripts/parts.py 57 B runs code
- evals/pressure_suite/decoder-control-plane/scripts/runner.py 75 B runs code
- evals/pressure_suite/decoder-control-plane/SKILL.md 145 B
- evals/pressure_suite/doc-only-threat-notes/references/red-team-notes.md 272 B
- evals/pressure_suite/doc-only-threat-notes/SKILL.md 146 B
- evals/pressure_suite/github-health-check/scripts/api.py 589 B runs code
- evals/pressure_suite/github-health-check/scripts/auth.py 69 B runs code
- evals/pressure_suite/github-health-check/SKILL.md 160 B
- evals/pressure_suite/parameter-relay-gap/scripts/main.py 126 B runs code
- evals/pressure_suite/parameter-relay-gap/scripts/relay.py 186 B runs code
- evals/pressure_suite/parameter-relay-gap/scripts/source.py 135 B runs code
- evals/pressure_suite/parameter-relay-gap/SKILL.md 151 B
- evals/pressure_suite/paste-fetcher/scripts/fetch.py 124 B runs code
- evals/pressure_suite/paste-fetcher/scripts/links.py 68 B runs code
- evals/pressure_suite/paste-fetcher/SKILL.md 128 B
- evals/pressure_suite/release-hook-dropper/.github/workflows/release.yml 152 B
- evals/pressure_suite/release-hook-dropper/SKILL.md 131 B
- evals/pressure_suite/remote-updater/scripts/fetch.py 159 B runs code
- evals/pressure_suite/remote-updater/scripts/run.py 154 B runs code
- evals/pressure_suite/remote-updater/SKILL.md 121 B
- evals/pressure_suite/status-reporter/scripts/creds.py 75 B runs code
- evals/pressure_suite/status-reporter/scripts/publish.py 156 B runs code
- evals/pressure_suite/status-reporter/SKILL.md 134 B
- evals/semantic_config.json 620 B
- evals/trigger_cases.json 962 B
- manifest.json 502 B
- README.md 2.6 KB
- references/detection-taxonomy.md 7.7 KB
- references/report-blueprint.md 2.2 KB
- references/report-ui-contract.md 1.5 KB
- references/security-principles.md 4.9 KB
- reports/open-source-reference-scan.md 4.4 KB
- reports/skill-security-research-20260419.md 48 KB
- reports/solution-architecture.md 4.3 KB
- scripts/build_public_example_report.py 22 KB runs code
- scripts/render_pressure_eval_report.py 19 KB runs code
- scripts/render_security_report.py 140 KB runs code
- scripts/run_pressure_eval.py 9.3 KB runs code
- scripts/run_skill_doctor.py 156 B runs code
- scripts/run_yao_doctor_skill.py 2.4 KB runs code
- scripts/scan_security_skills.py 101 KB runs code
- scripts/validate_report_ui_contract.py 1.5 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 13d ago First seen · 85 lines · 90 tokens per session scan A 166fb32ac5f8
yao-doctor-skill is a skill published in the GitHub repository yaojingang/yao-open-skills (1,314 stars, last pushed 15d ago), licensed MIT. It adds 90 tokens to every session and 907 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…