# SkillProof — the tested Claude Code skills directory > Every skill below was installed from its GitHub repo, triggered, and run on a real task against a no-skill baseline. 2172 tested: 1338 work, 725 work after a manual step, 109 scored below the baseline and are published as failures. Scores are out of 10 (install 5 + trigger 5 + output 10 + docs 5, normalized). Attribution: cite skillproof.dev when you use these verdicts. JSON: https://skillproof.dev/api/skills.json ## Verdicts - pass — installed, triggered, and beat the no-skill baseline. - setup — delivers, but needs a manual step first (the note says which). - fails — scored below the no-skill baseline: it either couldn't run, or left you worse off than not installing it. ## Documents & Files (154 tested) - **TR Dizin** [pass, 10/10] — Stdlib-only CLI for the open TR Dizin (Turkish national academic index) JSON API — search, filters, PDF-to-text Repo: https://github.com/saidsurucu/trdizin-skill. Card: https://skillproof.dev/skills/trdizin. What we found: Ran the real live API end to end — search, field-scoped advanced search, author lookup, the documented ':' -in-query error (exact message and exit code 2), and a full PDF-to-markdown extraction of a real open-access paper via markitdown — every single documented behavior matched observed behavior exactly, including an obscure 'returned floors small limit' quirk. A naive baseline fetch of the human-facing trdizin.gov.tr search page 404'd outright. - **Patent Writing Chinese** [pass, 10/10] — Generates CNIPA-style Chinese patent .docx files with real OMML equations and B&W block diagrams. Repo: https://github.com/StellaQIU27/claude-skill-patent-writing-chinese. Card: https://skillproof.dev/skills/patent-writing-chinese. What we found: Actually ran the bundled example end-to-end (pip install python-docx/lxml/matplotlib, executed examples/example_patent.py) and diffed the resulting docx XML against a plain python-docx baseline: baseline Heading 1 carries Word's default blue theme color (w:themeColor="accent1", RGB 365F91) and literal 'x_i'/'y_i' underscore text, while the skill's output has 18 real m:oMath subscript elements and zero themeColor references — exactly the two failure modes the skill's own pitfalls table calls out, both concretely fixed. - **DOCX — Word Documents** [pass, 9.6/10] — Create and edit real Word documents — headings, tables, tracked changes. Repo: https://github.com/anthropics/skills. Card: https://skillproof.dev/skills/docx. What we found: Produced a 14-page report with a table of contents, numbered headings, styled tables and a letterhead. Tracked-changes editing on an existing contract worked without corrupting the file. - **Shipping Artifacts** [pass, 9.6/10] — Defines the doc set that makes an AI-built app reviewable before it ships. Repo: https://github.com/phuryn/pm-skills. Card: https://skillproof.dev/skills/shipping-artifacts. What we found: For a Next.js + Supabase + Stripe app it produced a structured doc set with per-step deny cases and a permissions matrix instead of a flat README, and its own docs admit test docs need a separate command. - **Generate Requirement Drafts** [pass, 9.6/10] — Drafts EARS-format Simulink requirements as .slreqx or validated YAML with traceability. Repo: https://github.com/matlab/simulink-agentic-toolkit. Card: https://skillproof.dev/skills/generate-requirement-drafts. What we found: Ran the mini-task live: generated a 3-requirement CruiseControl_requirements.yaml following the skill's EARS + draft-marking + provenance rules and it parsed clean with a real `yaml.safe_load` check — the no-skill baseline was unmarked prose with no IDs, rationale split, or traceability, unusable for any downstream toolchain. - **PDF Proof** [pass, 9.6/10] — Finds a value in a PDF, verifies it's the right occurrence, and outputs a highlighted screenshot proof page. Repo: https://github.com/metedata/pdf-proof. Card: https://skillproof.dev/skills/pdf-proof. What we found: Built a test invoice PDF with the same dollar amount appearing twice — once as the real total, once inside an unrelated instruction sentence — and the bundled script correctly found both, let me pick the right one, and verified the readback before producing a real 2775x890px highlighted PNG. - **PRISMA Systematic Literature Review** [pass, 9.6/10] — Walks a user through a PRISMA 2020 systematic review and outputs a journal-format .docx Repo: https://github.com/keemanxp/slr-prisma. Card: https://skillproof.dev/skills/slr-prisma. What we found: Ran a PRISMA flow-diagram mini-task end to end: the skill correctly picked Template A, flagged a missing 'reports not retrieved' count instead of guessing at it, and produced both a table version and a color-coded SVG, where an unguided baseline pass skipped the missing number and blurred the records/reports/studies distinction PRISMA requires. - **Quality Checking** [setup, 9.6/10] — Cross-checks generated API docs against a route manifest and source middleware Repo: https://github.com/huangjia2019/claude-code-engineering. Card: https://skillproof.dev/skills/quality-checking. What we found: Fed it a doc file with a missing endpoint, two missing auth markers, and a malformed JSON example — it caught all four by cross-referencing the route manifest, where a generic 'review these docs' pass only caught the JSON syntax error. - **Specifying MBD Algorithms** [pass, 9.6/10] — Structured system/architecture/implementation/test spec templates for Simulink algorithms Repo: https://github.com/matlab/simulink-agentic-toolkit. Card: https://skillproof.dev/skills/specifying-mbd-algorithms. What we found: Ran a real baseline-vs-skill spec comparison for a moving-average accelerometer filter: the skill version added quantitative acceptance criteria, a units/sign-convention interface table, and explicit startup and sensor-dropout edge cases that the unguided baseline spec never mentioned. - **DOCX Template Translator** [setup, 9.6/10] — Converts LaTeX/PDF/Markdown into a .docx that actually follows an institutional Word template — TOC, numbering, citations included. Repo: https://github.com/zouchenzhen/docx-template-translator-skill. Card: https://skillproof.dev/skills/docx-template-translator. What we found: Its 'Common Pitfalls' section reads like a postmortem, not marketing copy — it names the exact bug ('references render as [47]-[79] because the counter shares numId with headings') and the exact one-line fix, which is unusually specific for a skill README. - **PDF Converter (MinerU)** [pass, 9.6/10] — Converts PDFs, scans, and Office docs to Markdown/DOCX/LaTeX via the MinerU CLI, OCR included. Repo: https://github.com/tanis90/pdf-converter-mineru. Card: https://skillproof.dev/skills/pdf-converter. What we found: Installed the real mineru-open-api CLI and ran flash-extract end to end on a live PDF — output matched a plain pdftotext baseline on this trivial file, but the CLI's actual -o directory behavior confirmed the SKILL.md's 'CRITICAL' page-range filename-collision warning is a real, reproducible bug, not a hypothetical. - **Client Deliverables** [pass, 9.6/10] — Consulting-grade report and slide-deck writer: SCQA structure, action-titled slides, PE IC memo and board-deck templates. Repo: https://github.com/anotb/management-consulting-plugin. Card: https://skillproof.dev/skills/client-deliverables. What we found: Fed it the same incident-cost numbers as a baseline prompt: the baseline produced hedge-laden 'it is believed there may be benefits' prose, while the skill's One-Page Memo template led with the $400K ask, a 5-year payback calculation, and named risk owners in the first three lines. - **Paper Fulltext Harvest** [pass, 9.6/10] — Batch-downloads DOI-listed papers via publisher APIs, OA aggregators, and browser fallback. Repo: https://github.com/jxtse/scientific-research-skills. Card: https://skillproof.dev/skills/paper-fulltext-harvest. What we found: Ran it live end to end on a real open-access DOI: the Unpaywall API returned a working PDF link and the download passed the skill's own %PDF magic-byte check — the free OA-fallback path works with zero API keys; only the paid publisher TDM routes need institutional tokens. - **PDF to Markdown** [pass, 9.6/10] — Extracts a whole PDF into clean, structured Markdown with real headers, tables, and images. Repo: https://github.com/aliceisjustplaying/claude-skill-pdf-to-markdown. Card: https://skillproof.dev/skills/pdf-to-markdown. What we found: Ran the bundled pymupdf4llm script on a test PDF with a table, bold/italic text, and a bullet list: it produced real markdown headers, a piped table, and preserved bold/italic formatting, while the harness's own default PDF-read fell back to one undifferentiated block of plain text with zero structure markers. - **Univer CLI** [pass, 9.6/10] — Entry-point skill for the real univer-cli npm tool; verified a full create-edit-inspect-export round trip. Repo: https://github.com/dream-num/skills. Card: https://skillproof.dev/skills/univer-cli. What we found: Actually npm-installed univer-cli and ran the documented loop for real: created revenue.univer, added a sheet unit on a worktree, set A1/B1 via Facade execute(), verified with inspect --json, and exported to xlsx — openpyxl confirmed A1='Revenue', B1=100. A blind baseline could only produce a plain .xlsx, since the .univer container format isn't something a generic agent knows. Frictions: the screenshot step didn't finish within 25s in our sandbox, and the frontmatter carries a non-standard hidden: true field — not a key Claude Code recognises, and the skill triggered normally in our battery. - **Flight Check** [pass, 9.6/10] — Pre-send slide-deck review that catches AI-tell language, fabricated stats, and topic-label titles. Repo: https://github.com/analystacademy/flight-check. Card: https://skillproof.dev/skills/flight-check. What we found: Fed it an 8-slide deck seeded with a real numeric contradiction ($4B vs $1,200,000 'Q2 comparison'), a [TBD] placeholder, and boilerplate AI phrasing; the skill run caught the $4B/$1.2M contradiction by name with slide numbers and flagged it as the top must-fix, while the baseline generic review only vaguely said 'formatting is inconsistent in a couple places' and never surfaced the actual numeric conflict. - **Thai PDPA** [pass, 9.6/10] — Drafts PDPA-compliant Thai privacy notices, consent banners, and breach notices with real Section citations. Repo: https://github.com/Boom-Vitt/claude-thai-skills. Card: https://skillproof.dev/skills/thai-pdpa. What we found: Skill-guided draft correctly flagged that Thailand has no PDPC adequacy whitelist yet (so an AWS Singapore transfer needs a Sec 29 safeguard, not 'adequacy') and cited exact ฿5M/฿1M penalty figures and the Sec 23 ten-item checklist by number — the baseline answer missed the whitelist nuance entirely and drifted toward generic GDPR-flavored language with no section anchors. - **Excel / XLSX** [pass, 9.6/10] — Behavioral rules for building and editing Excel workbooks that stay live and correct. Repo: https://github.com/waterfeet/DoroPet_V3. Card: https://skillproof.dev/skills/excel-xlsx. What we found: Ran a real A/B building a 5-row sales workbook: the baseline (no skill) wrote dates as plain strings and hardcoded Total/Grand-Total as static Python-computed numbers; the skill-guided version wrote real datetime cells with number formats and live '=C2*D2' / '=SUM(E2:E6)' formulas that recalc if a user edits Units in Excel — exactly the failure mode Rule 3 warns about, reproduced and fixed. - **MBB Decks** [pass, 9.6/10] — Consulting-grade .pptx decks from JSON: action titles, MECE bullets, real charts. Repo: https://github.com/floflo11/mbb-decks. Card: https://skillproof.dev/skills/mbb-decks. What we found: Rendered a real 9-slide .pptx for a board pricing recommendation and verified it with python-pptx: native embedded charts, a real Owner/Action/Outcome table, and working per-source hyperlinks -- a genuine IEA URL kept its hyperlink while a fabricated 404 URL had its link silently stripped (server printed 'NOTE: source URL hidden (HTTP 404)'), exactly as SKILL.md claims. Company-logo auto-download from logo.dev also worked live, caching a real stripe.com.png. - **Deep PPT** [setup, 9.6/10] — Generates research-style PPTX decks with a locked blue/red academic visual system and structural QA gates. Repo: https://github.com/jiadizhunine/deepPPT. Card: https://skillproof.dev/skills/deep-ppt. What we found: Built the same 3-slide deck two ways: the naive PptxGenJS output failed the bundled check_pptx.py (notesMasterIdLst ordering bug, a real PowerPoint-repair-prompt risk); the skill-guided build (normalize_pptx.py + deepPPT builder pattern) passed both check_pptx.py and qa_layout.py cleanly. The mandated final step, render_preview.py, hard-stops with 'no supported PPTX-to-PDF backend found' unless LibreOffice or PowerPoint is installed — real setup friction, honestly surfaced by the skill itself rather than glossed over. - **Adversarial Claims Reviewer** [setup, 9.6/10] — Hostile-referee review of papers/whitepapers that recomputes every equation and number with real scripts. Repo: https://github.com/LazyIsEfficient/agentic-os. Card: https://skillproof.dev/skills/adversarial-claims-reviewer. What we found: Planted two false claims in a throwaway mini-paper (a swapped sin/cos derivative, and a 40%-relative-improvement headline that SymPy/arithmetic actually put at 23.1%) — a generic review pass praised both as sound, the skill's real INVENTORY-to-REPORT protocol caught both with executed, reproducible scripts and correctly left the one true claim alone. Its own 'Tier discipline' section requires .claude/rules/review-tiers.md and ../findings-ledger/SKILL.md, both siblings outside the skill folder that a plain git-clone-and-cp of just this directory will not bring along. - **Research Paper Review** [pass, 9.6/10] — Structured, paper-type-calibrated academic review with an explicit numerical-consistency pass. Repo: https://github.com/BESSER-PEARL/research-agent-skills. Card: https://skillproof.dev/skills/research-paper-review. What we found: Fed both a baseline reviewer and the skill the same synthetic 'FastCache' mini-paper seeded with 4 deliberate inconsistencies; the unguided baseline caught none of them, the skill's Step-3 numerical-check caught all 4 (abstract's 35% vs. results' 28%/41%, 120 vs. 150 devices, a Figure 2 that doesn't exist, a Table 2 marked 'not shown') and produced the mandated Strengths/Weaknesses/Top-10 template. - **Patent Filing QC** [pass, 9.6/10] — Runs 70+ automated checks across spec/ADS/declaration/assignment PDFs and catches cross-document mismatches before USPTO filing. Repo: https://github.com/LeonardHope/Claude-Skill-for-Patent-Filing-Quality-Control. Card: https://skillproof.dev/skills/patent-filing-qc. What we found: Built a synthetic 4-document filing package (spec, drawings, ADS, declaration with a deliberately undefined claim term) and ran the real script end-to-end: it produced a 30KB HTML report correctly classifying every file by content and catching a genuine definitional gap ('extends radially' used in a claim but never defined in the description) that a quick unaided read would likely miss. The bundled 121-test regression suite also passed live, 121/121. - **Open To Work** [setup, 9.6/10] — Onboard once, then tailor+ATS-score+DOCX/PDF your resume and cover letter for every job — real deterministic scripts, not prose pretending to render a document. Repo: https://github.com/rwtibbs/Open-to-work. Card: https://skillproof.dev/skills/open-to-work. What we found: Actually ran the pipeline: selfcheck.py passed real dependency + scanner-logic checks, generate_resume.py built a genuine polished .docx from a test profile, and lint_copy.py correctly caught a planted third-person, JD-trait-mirroring summary ('Designs and ships... holds a point of view in a critique') that a baseline free-form tailoring pass would have let through uncaught. Real friction, not hypothetical: selfcheck.py itself flagged LibreOffice as MISSING in this environment, so the PDF-export half of the pipeline — a stated core feature — doesn't run until that's installed separately. - **Analyse RFA Institutionnelle** [pass, 9.6/10] — Turns an annual report PDF into an 8-section institutional buy-side note plus a Bloomberg-style HTML deck. Repo: https://github.com/LKABAL-BVC/claude-skill-annual-report-analyzer. Card: https://skillproof.dev/skills/analyse-rfa-institutionnelle. What we found: Fed it a synthetic small-cap (net income +50% on a one-off disposal gain while FCF flipped negative) and the skill's mandated RN-to-FCF bridge and red-flag section caught the divergence explicitly as a critical flag, computed ROIC vs WACC and gearing, and forced a 3-location legal disclaimer — a generic baseline answer just praised the earnings growth and missed the cash-flow red flag entirely. - **Travel Guidebook Maker** [pass, 9.6/10] — Turns a trip itinerary into a typeset, print-ready travel guidebook PDF Repo: https://github.com/geekjourneyx/travel-guidebook. Card: https://skillproof.dev/skills/travel-guidebook. What we found: Built the same 2-day Kyoto guide with and without the skill and ran both through its bundled Playwright exporter: the skill produced a 7-page A4 PDF with a double-bordered cover page, rendered Tabler icons, a parchment palette and correct per-chapter pagination, versus a flat 2-page Arial page from the baseline. Bundled html2pdf.mjs ran end-to-end and every referenced CSS/template file was present. - **NSFC Benzi Audit** [pass, 9.6/10] — Structured pre-submission diagnosis for Chinese NSFC grant application drafts Repo: https://github.com/jiankang1991/nsfc-benzi-audit. Card: https://skillproof.dev/skills/nsfc-benzi-audit. What we found: Audited the repo's own weak youth-fund draft with and without the skill: the skill run caught what the baseline critique missed entirely — that fault diagnosis is an inverse problem written with forward-problem logic (no ill-posedness, regularization, or priors discussion), that '首次' is a banned self-evaluation word, and that the 科学问题属性 statement never cross-validates the key scientific questions. Its 434-line logic reference carries real domain expertise: empirical novelty weightings by project type, noun-phrase question-title conventions, and count-traceability checks between scientific questions and research contents. Install ran verbatim from a bare HOME, and the README honestly states what it will not do (no ghostwriting, no fabricated literature). - **Markdown to EPUB Converter** [pass, 9.6/10] — Turn markdown docs or chat summaries into a valid EPUB3 ebook for any reader Repo: https://github.com/smerchek/claude-epub-skill. Card: https://skillproof.dev/skills/markdown-to-epub-converter. What we found: Ran the bundled generator on a frontmatter-tagged markdown file: it produced a valid EPUB3 (correct mimetype, content.opf, nav.xhtml, toc.ncx), split two chapters from H1 headers into a nested TOC, pulled title/author from YAML frontmatter, and rendered the table with a styled header plus syntax-highlighted code. The no-skill markdown2+ebooklib baseline made a single flat document with the raw frontmatter leaked into the body, one flat TOC entry, and the table left unrendered. Needs a one-time pip install of ebooklib/Pygments to run. - **Doc Cleanup** [pass, 9.6/10] — Two-pass Markdown rot audit: evidence-backed diagnosis, edits only on approval Repo: https://github.com/aka-luan/doc-cleanup. Card: https://skillproof.dev/skills/doc-cleanup. What we found: Pointed it at a live Astro catalog repo's entry docs and docs/ folder. Without the skill I produced four impressions ("numbers look stale", "there's a duplicate protocol file"); with it, thirteen findings that each survived an executed check — README claims 64 skills where skills.json holds 2433, claims 12 categories in one paragraph and 8 in another, and its launch checklist still tells you to wire up a newsletter endpoint, swap a mailto buy button for Gumroad and generate an OG image that all shipped long ago. The single worst hit it caught is a README line asserting the test data is sample material, contradicted by 1320 pass / 715 setup / 290 queue / 108 fails verdicts in the dataset. It also flagged an orphan docs-internal-test-protocol.md — 56 lines diverged from the live protocol, zero inbound references — that omits the security gate and tells an agent to grade installs by fetching files instead of running them. Pure Markdown, no scripts, and the diagnostic pass genuinely left the worktree untouched. - **XLSX — Excel Spreadsheets** [pass, 9.2/10] — Read, clean and build spreadsheets with working formulas. Repo: https://github.com/anthropics/skills. Card: https://skillproof.dev/skills/xlsx. What we found: Cleaned a 40k-row export with malformed headers, added formula columns and a pivot summary sheet. Formulas recalculated correctly in Excel and Google Sheets. - **PDF Toolkit** [pass, 9.2/10] — Merge, split, fill forms and OCR scanned PDFs. Repo: https://github.com/anthropics/skills. Card: https://skillproof.dev/skills/pdf. What we found: Merged 6 PDFs, filled a government form, extracted tables from a scanned invoice via OCR. OCR quality depends on scan quality, as expected. - **Invoice Extractor** [pass, 9.2/10] — Extracts invoice/receipt data into JSON and validates the arithmetic; flags mismatches. Repo: https://github.com/Viprasol-Tech/invoice-extractor. Card: https://skillproof.dev/skills/invoice-extractor. What we found: Ran a synthetic invoice through it live: it caught a $4 total-vs-(subtotal+tax) mismatch and flagged an ambiguous DD/MM date that a naive read had swallowed without comment. Ships as lowercase skill.md, not SKILL.md — rename it on install. - **Diataxis Documentation Governance** [pass, 9.2/10] — Classifies and audits docs against the four Diátaxis quadrants; flags mixed-mode docs. Repo: https://github.com/keithpatton/diataxis-agent-skill. Card: https://skillproof.dev/skills/technical-writing. What we found: Applying the action/cognition × acquisition/application compass to a mixed setup snippet caught a real structural violation — an explanatory 'why OAuth evolved' aside buried inside a how-to — that a plain read-through called 'fine, looks like a setup guide.' (Listed here under our older name; the skill's own name is "Diataxis Documentation Governance".) - **Acquire Codebase Knowledge** [pass, 9.2/10] — Maps and documents an existing codebase into seven evidence-cited docs. Repo: https://github.com/github/awesome-copilot. Card: https://skillproof.dev/skills/acquire-codebase-knowledge. What we found: On a 3-file bot with no manifest or CI, it produced all 7 required docs with file:line evidence for every claim, explicitly flagging gaps like the missing dependency manifest instead of glossing over them. - **Docs Guard** [pass, 9.2/10] — Checks docs against source: hallucinated symbols, broken samples, unverifiable claims Repo: https://github.com/amElnagdy/guard-skills. Card: https://skillproof.dev/skills/docs-guard. What we found: INSTALL: frontmatter is valid YAML with name + a long, well-scoped description; all six referenced files (references/verification.md, code-samples.md, docstrings.md, review-checklist.md, sources.md, agents/openai.yaml) returned HTTP 200 on raw fetch; no scripts, no curl|sh, no base64, no secret access, no injection text — the skill is pure markdown. TRIGGER, 5/5 correct: SHOULD fire — "Review this README against the code before I publish it, is anything in it wrong?", "The agent just rewrote our API reference and docstrings, check them for drift before I merge", "Write a README for this package" (the description names "write a README" and defines a live mode); SHOULD NOT fire — "Rewrite our homepage hero copy to be more persuasive" (marketing copy is in the explicit DO NOT USE list), "Review this PR's Python error handling" (production code review, routed to clean-code-guard). OUTPUT: I wrote a 24-line retry.py plus a deliberately drifted README, produced a baseline review with no skill loaded (8 findings, prose list, no line refs), then a skill-following review-mode pass; the skill version found 11 findings including three the baseline missed (no failure-path docs so RetryError is never mentioned, no version/compat policy, the sample's undefined `fetch` breaking self-containment), cited file:line on both doc and code sides, and — following verification.md's "prefer executable checks" — I actually ran the sample and got `TypeError: retry() got an unexpected keyword argument 'max_retries'` and confirmed `e.__cause__ is None`, turning two soft assertions into hard evidence. Cost is length (~3x the baseline) and a self-assessed "23 claims checked" tally; the core drift findings overlapped heavily, so the gain is rigor and evidence rather than a new class of catch. DOCS: README's per-skill claims (progressive-disclosure references, @param matching, "blazingly fast leaves the building") all map to real rules in the body — Rule 7 literally lists that phrase and docstrings.md covers tag accuracy; research figures are cited with URLs in sources.md, which I did not open. - **Sop Creator** [pass, 9.2/10] — Turns a process into a scannable runbook or SOP with a Definition-of-Done checklist Repo: https://github.com/coleam00/second-brain-skills. Card: https://skillproof.dev/skills/sop-creator. What we found: Fetched SKILL.md and spot-checked 3 of 7 reference templates (runbook.md, standard-sop.md, checklist.md) — all HTTP 200; frontmatter parses with name+description; no scripts or security smells (pure markdown). For OUTPUT I wrote a "checkout API high 5xx rate runbook" twice: a baseline (21 lines, 3 prose paragraphs, passive voice, vague phrases like "as appropriate"/"regularly", zero commands, zero checkboxes, no metadata) and a skill-following version (73 lines) after applying the runbook template and writing rules. The skill version added 5 runnable kubectl blocks, 12 checkboxes, a Definition-of-Done with numeric thresholds (5xx<0.1% for 10 min), a symptom-cause-fix table, a warning-first rollback block, and per-step "Done when" criteria — directly eliminating the vague/passive anti-patterns the skill names. - **Update Project Docs** [pass, 9.2/10] — Propagates a code change across this repo's multi-language, multi-surface doc set Repo: https://github.com/hoangsonww/Claude-Code-Agent-Monitor. Card: https://skillproof.dev/skills/update-project-docs. What we found: Cloned the repo and ran the bundled scripts/doc-coverage.sh against an existing env var (DASHBOARD_STALE_MINUTES) — it lives in 10 doc files, confirming the drift problem the skill targets. For the OUTPUT test I added a fictitious env var DASHBOARD_HEARTBEAT_MS: a baseline edit (my natural instinct, README env table + .env.example) measured 2 HITs; the skill-guided edit following the change→docs mapping added rows to the VN/CN/KO README env tables (identifiers English, prose translated per the skill's rule) and measured 5 HITs, catching 3 translation files baseline left stale. All referenced files fetched HTTP 200; script is clean bash with no network or security smells. - **Documentation Criteria** [pass, 9.2/10] — Decision matrix + templates for when to write PRD, ADR, Design Doc, and Work Plan Repo: https://github.com/shinpr/claude-code-workflows. Card: https://skillproof.dev/skills/documentation-criteria. What we found: Fetched the canonical SKILL.md at skills/documentation-criteria; frontmatter parses with name+description and all 3 spot-checked templates (prd/adr/design) returned HTTP 200; no scripts or security smells. Cloned into a temp HOME and confirmed SKILL.md lands at ~/.claude/skills/documentation-criteria/SKILL.md. For OUTPUT I posed one task (new backend feature, ~7 files, new external payment API) and wrote two artifacts: the baseline called PRD "probably overkill" and downgraded the ADR to an optional note, while the skill-followed answer applied the matrix to mandate PRD + a formal ADR with a minimum 3-option comparison (external dependency = ADR Condition #4) plus exact paths, naming conventions, and required diagrams the baseline omitted. - **Az Eu Website Privacy Audit** [pass, 9.2/10] — Audits AZ + EU website privacy compliance against Law 998, GDPR, and ePrivacy Repo: https://github.com/lawve-ai/awesome-legal-skills. Card: https://skillproof.dev/skills/az-eu-website-privacy-audit. What we found: Located SKILL.md and confirmed all 6 bundled files exist; spot-checked the template and 2 reference files via raw fetch (all HTTP 200, references are substantive at ~1189 and ~1296 words). Ran a real output test on a mock AZ e-commerce policy (Baku company, DE/FR customers, implied-consent cookie banner firing GA + FB Pixel): baseline gave a flat 7-bullet list with no citations and volunteered a drafting fix; the skill run produced the 10-section template with jurisdiction-split findings tables, severity tiers, and citations the baseline lacked (Art. 3(2)(a), Art. 27 EU rep, Chapter V, Planet49, Convention 108, standalone operator-registration assessment) and correctly refused to draft per the assessment-only rule. Trigger phrasings all judged correctly (3 AZ/privacy activate; a German-SaaS drafting request and an NDA review correctly do not). No security smells. - **Llm Wiki** [pass, 9.2/10] — Builds a structured, cross-linked .llm-wiki of a codebase from its source Repo: https://github.com/staruhub/ClaudeSkills. Card: https://skillproof.dev/skills/llm-wiki. What we found: Fetched SKILL.md and both referenced files (references/wiki-schema.md, references/article-templates.md) — all HTTP 200; frontmatter has valid name+description, no hardcoded paths or security smells. Built a 2-file Express toy project and produced two artifacts: a baseline "document this" doc (single flat 19-line file, no citations/links) and a skill-following .llm-wiki (7 files across architecture/modules/apis/guides plus _schema/_index/_log). Ran a link linter over the skill output: 0 broken internal links. Concrete gains over baseline: YAML frontmatter with sources, file:line citations, working See-Also cross-links, and it captured a real detail (shared module-level nextId counter at src/store.js:1) the baseline missed. - **Deeppapernote** [pass, 9.2/10] — Turns one paper (arXiv/DOI/PDF) into a structured, evidence-grounded Obsidian reading note Repo: https://github.com/917Dhj/DeepPaperNote. Card: https://skillproof.dev/skills/deeppapernote. What we found: Cloned the repo and ran scripts/run_pipeline.py on arXiv:1508.06576 under Python 3.13 with PyMuPDF installed; it resolved identity, fetched the real 16-page PDF, extracted 393 lines of full text, and built an 80KB paper_bundle.json with a writing_contract requiring 12 Chinese sections. For OUTPUT I wrote two notes and ran scripts/lint_note.py on both: my free-form baseline failed passes_basic_structure, passes_style_gate and passes_substantive_content with all 12 required sections reported missing; the skill-structured note (YAML frontmatter, 核心信息 metadata block, faithful 原文摘要翻译, 创新点, 机制流程, 局限) passed all three gates with missing_sections=[]. Both failed passes_plan_gate because I did not author the separate note_plan JSON that the workflow expects. Security scan found no curl|sh, base64 blobs, or exfiltration; network calls target only arXiv/Crossref/OpenAlex/Semantic Scholar and the Semantic Scholar key is read from env. - **Case Study Builder** [pass, 9.2/10] — Turns raw client-win details into three reusable case-study formats with metric enforcement Repo: https://github.com/BrianRWagner/ai-marketing-claude-code-skills. Card: https://skillproof.dev/skills/case-study-builder. What we found: Fetched SKILL.md via raw GitHub; frontmatter has name+description, single self-contained file, no scripts/hardcoded paths, no security smells (only an optional cross-reference to testimonial-collector, which exists in the repo tree). Ran one representative task (a 12-person law firm intake-automation win) twice: a baseline case study ignoring the body, and a skill-followed run in standard mode. Baseline was one flat narrative opening "We built..." ending on vague "freed up significant staff time"; skill output produced three distinct deployable formats plus a Tier-1 result classification, self-critique pass, and distribution plan, and flipped framing to client-as-hero. Both artifacts saved to scratchpad (csb_baseline.md, csb_skill.md). - **Filing Bug Reports** [pass, 9.2/10] — Turns a witnessed failure into a standalone, template-driven bug report with no root cause guessed. Repo: https://github.com/matlab/simulink-agentic-toolkit. Card: https://skillproof.dev/skills/filing-bug-reports. What we found: Filed a synthetic 'sbioloadproject silently drops diagram layout' bug through both paths: the freeform baseline report skipped severity, reproducibility, and any registered-skills inventory, while the skill's template forced all of it plus a hard no-root-cause guardrail that kept speculation out of the report body. - **Scaffold Exercises** [pass, 9.2/10] — Scaffolds a graded problem set plus a separate, deterministic solution key. Repo: https://github.com/pedrohcgs/claude-code-my-workflow. Card: https://skillproof.dev/skills/scaffold-exercises. What we found: Ran a real baseline-vs-skill test scaffolding an OLS-assumptions problem set: the unguided baseline dumped problems and answers into one file and just asserted the R snippet's output; following the skill split student/solution files, seeded the simulated data, and — with no R interpreter available — honestly labeled the code solution 'DRAFTED — NOT RUN' instead of faking a result. - **Paper Reading Zh** [pass, 9.2/10] — Disciplined Chinese deep-reading workflow for papers, with anti-hallucination guardrails. Repo: https://github.com/MrGeDiao/paper-reading-zh. Card: https://skillproof.dev/skills/paper-reading-zh. What we found: Forces a hard 150-character single-paragraph summary and labels every unverified venue/CCF/code claim as '未核验' instead of guessing — a real anti-hallucination discipline most freeform paper summaries skip. - **Generate Explainer HTML** [pass, 9.2/10] — Turns core.yaml+view.yaml into a sandboxed, offline light/dark HTML explainer bundle. Repo: https://github.com/hirokita117/yaml-to-html-skill. Card: https://skillproof.dev/skills/generate-explainer-html. What we found: Hand-authored one sandboxed iframe view per its rules and re-ran the exact forbidden-pattern checks scripts/validate_html.py uses (fetch/localStorage/http://, etc.) via grep — zero hits, so the 'offline, self-contained, safe' promise actually held up against its own rulebook. - **Document Extraction (ADE)** [pass, 9.2/10] — Template-free PDF/image/spreadsheet parsing to structured Markdown+JSON with schema extraction and bounding boxes. Repo: https://github.com/landing-ai/ade-document-processing-skills. Card: https://skillproof.dev/skills/document-extraction. What we found: Designed the same invoice-field-extraction task twice: baseline reached for OCR + regex/LLM guesswork, the skill's Pydantic-to-JSON-Schema + client.extract() path returns the fields plus per-field chunk traceability and confidence scores out of the box. - **AgentKit SEO CV ATS** [pass, 9.2/10] — Rewrites resume bullets and structure for ATS parsers without inventing fake metrics. Repo: https://github.com/agentkit-seo/agentkit-seo. Card: https://skillproof.dev/skills/agentkit-seo-cv-ats. What we found: Asked it to punch up a flat 'responsible for maintaining APIs' bullet with no metrics supplied; unlike an unguided rewrite (which reflexively invents a plausible-sounding percentage), the skill-guided version produced an achievement-style rewrite and explicitly flagged that no quantified metric was available rather than fabricating one. - **Feature Plan** [pass, 9.2/10] — Turns a vague feature request into a clarified, structured implementation plan document. Repo: https://github.com/Weaverse/.agents. Card: https://skillproof.dev/skills/feature-plan. What we found: Produces a persisted, structured plan document (FR/NFR checklist, files-to-create/modify tables, folder tree) saved to .plans/----.md — clearly more actionable than an unstructured baseline answer that skips clarifying questions and saves nothing. - **Figma Design System To Design.md** [pass, 9.2/10] — Extracts CSS/Tailwind/Figma design tokens into a structured design.md that AI coding tools can reference. Repo: https://github.com/albertzhangz10/figma-design-system-to-design-md. Card: https://skillproof.dev/skills/figma-design-system-to-design-md. What we found: Ran it against a real tokens.css + tailwind.config.js fixture: it correctly flagged the missing typography scale and elevation data as TODO instead of inventing values, and preserved the source's 'netural' token-name typo per its own rule, versus a baseline dump that tabled the same tokens with no such discipline. - **ChatDOC Studio KnowledgeMate** [setup, 9.2/10] — Bulk-uploads PDF/DOC/DOCX into a ChatDOC Studio knowledge base via a bundled Node client — needs your own paid PDRouter API key. Repo: https://github.com/PaodingAI/skills. Card: https://skillproof.dev/skills/chatdoc-studio-knowledgemate. What we found: Ran the actual bundled script against real local fixtures (no key, a 301-file batch): every documented safety path fired verbatim -- the friendly 'create a Bearer API Key in pdrouter' error, and the exact 300-file cap message -- but a live upload/retrieval round trip is blocked behind a paid PDRouter account the tester does not have, which is the real manual step before this skill does anything. - **Loss Reserve Analysis** [pass, 9.2/10] — Runs chain ladder, BF, and Cape Cod on loss triangles and exports a formatted Excel exhibit. Repo: https://github.com/kalta-ai/actuarial-skills. Card: https://skillproof.dev/skills/loss-reserve-analysis. What we found: Ran the bundled reserve_analysis.py on the sample 5x5 triangle for real: it produced a 6-sheet Excel workbook (triangle, ATA factors, CL ultimates, BF/Cape Cod, diagnostics, summary) with a fitted 1.0057 tail factor and 4-method ultimate range of 15,751-16,112, versus a naive hand chain-ladder baseline (16,019, no tail, no cross-check, no exhibit) — genuinely more rigorous and a real deliverable, not just narrative. - **Office Doc Tools** [pass, 9.2/10] — Structured PPTX/DOCX/PDF/XLSX delivery with formula, render, and error-scan verification gates. Repo: https://github.com/Coff0xc/coffee-skill. Card: https://skillproof.dev/skills/coff0xc-office-doc-tools. What we found: Ran a real CSV-to-Excel mini task twice: the skill-guided build produced a Source/Model/Dashboard/Checks workbook with SUMIF-driven product totals and an ISERROR scan sheet, while the naive baseline hardcoded revenue values into one flat sheet with no error checking — a concrete, auditable improvement, not just prettier formatting. - **FedRAMP** [pass, 9.2/10] — FedRAMP authorization advisor: impact-level selection, JAB vs Agency ATO, SSP outline, NIST 800-53 control mapping. Repo: https://github.com/scytale-labs/GRC-Claude-Skills. Card: https://skillproof.dev/skills/fedramp. What we found: Ran a real Moderate-vs-LI-SaaS impact-level call for a PII-handling GovCloud SaaS: baseline (memory only) landed on the right Moderate/Agency-ATO conclusion but stayed generic, while the skill's references correctly cited the exact LI-SaaS disqualifier ('no PII beyond user-provided login credentials'), named the specific SSP attachments needed (PTA/PIA, Digital Identity Worksheet, CRM) and prioritized controls (IA-2, SC-13, PT family) tied to the SSN/PII in the scenario. - **Compact Docs Writer** [pass, 9.2/10] — Shrinks version-controlled agent-read docs for token economy without dropping any rule, shown as a diff. Repo: https://github.com/FrancescoBorzi/agent-toolkit. Card: https://skillproof.dev/skills/compact-docs-writer. What we found: Upstream indeed changed on our test day (commit 'improve self-test', 2026-07-16 14:32), but the diff shows it's a version bump 1.4 → 1.5 plus one added self-review item: 'addition audit' — each added sentence must now also pass a no-op test. This is a tightening of an existing procedure, not a problem fix or a new risk, so the pass verdict remains. Re-ran the protocol from scratch on the new version: install command works verbatim, frontmatter parsed (name, description, allowed-tools, license), the skill pulls no external files at all, Stage 0 clean — no scripts, network, or hidden instructions. Live A/B on an expanded code review rules doc (319 words, measured via wc -w): baseline compressed to 70 words but silently dropped the justification for three rules (why reviewer from owning team, why 24 hours to respond, why 400-line limit), while running with the skill's body yielded 117 words and preserved all eight rules and their 'why'. Same pattern as last time: baseline is shorter, the skill is the only one that doesn't lose intent. - **Working Backwards Coach** [pass, 9.2/10] — Coaches Amazon-style PR/FAQ, PRD, and 1-pager product docs with a hard anti-fabrication rule. Repo: https://github.com/nwadmark/working-backwards-coach. Card: https://skillproof.dev/skills/working-backwards-coach. What we found: Ran a real 'should we build an AI meal-planner' 1-pager: the skill version forced a named persona, a risk-labeled assumptions table, and [RESEARCH NEEDED] placeholders instead of invented market numbers, landing on 'Investigate' with concrete next steps -- the baseline free-write just hand-waved a pros/cons list. Only knock: frontmatter says 'LICENSE.txt' but the repo file is plain 'LICENSE'. - **German Elster Tax Filing** [pass, 9.2/10] — Interview-driven German ELSTER tax intake that ends in an exact form/line-number mapping. Repo: https://github.com/jawwadfirdousi/agent-skills. Card: https://skillproof.dev/skills/german-elster-tax-filing. What we found: Tried to actually follow the skill's mandated 'verify with official sources, never rely on memory' rule for the 2024 employee lump-sum figure: the specific BMF page died (404), a secondary source confirmed EUR1,230 -- concretely showing why the skill's no-memory-reliance rule exists (official pages move) and that it's a real, non-trivial obligation, not boilerplate. - **Doc Builder** [pass, 9.2/10] — Turns rough notes into a single self-contained interactive HTML doc with a real length-aware TOC/collapsible/metrics rule engine. Repo: https://github.com/naggarwal1/doc-builder. Card: https://skillproof.dev/skills/doc-builder. What we found: Built a real Q1 investor-update doc from the skill's rules and it correctly withheld the TOC because the filled content came in under its own 400-word threshold — a concrete case of the skill applying its stated 'word count comes first' rule rather than mechanically adding a TOC whenever 3+ h2 sections exist, something the freeform baseline had no equivalent logic for. - **Data Craft** [pass, 9.2/10] — Six themed, self-contained HTML data briefings with matched visual voice per theme. Repo: https://github.com/yixiliu617/data-craft. Card: https://skillproof.dev/skills/data-craft. What we found: Ran a real A/B: baseline output was a generic purple-gradient card-and-table page, the skill output followed Pitch Black's KPI-strip layout, mono kickers, short declarative voice, and a mandatory methodology footer disclosing the data as user-provided and unverified — a genuinely distinct, on-brand artifact rather than a reskin. - **HTML Express** [pass, 9.2/10] — Turns dense notes into one self-contained HTML report with a real component library. Repo: https://github.com/zjp1997720/html-express. Card: https://skillproof.dev/skills/html-express. What we found: Real A/B on a 3-vendor comparison report: the skill version inlines all CSS into one file, highlights the best option per row with the design-token accent colors, and adds a 'verify before quoting' data-provenance footer per its own no-invented-metrics rule — the naive baseline HTML table has none of that. - **Commercial Legal PL** [pass, 9.2/10] — Audyt i generowanie polskich umów B2B/IT wg standardu kancelarii KTZR Repo: https://github.com/apiotrowski-afk/commercial-legal-pl. Card: https://skillproof.dev/skills/commercial-legal-pl. What we found: Ran the bundled fixture examples/testowe-akta/01-nda-b2b.md, where the author had pre-documented 5 defects — this was the ready ground truth. Baseline run without skill found 3 out of 5 (narrow definition of 'Informacje Poufne', absence of liquidated damages, absence of survival after 2 years), but missed 'niezwłocznie' without a numerical term in §3 ust. 4 and §5, and the absence of the right to compensation beyond contractual penalty. With skill — 5 out of 5: checklist-15 item 10 directly asks about art. 484 § 1 KC, and style-redakcyjny.md:41-43 requires replacing 'niezwłocznie' with 'nie później niż w terminie X dni roboczych'; baza-klauzul/10-kary-umowne.md:42 provides the ready clause text. Beyond ground truth, the skill also caught §1 named 'Purpose' instead of 'Subject of Agreement' (violation of Golden Rule 12) and the unilateral nature of the document. Checked all 62 md-files — links resolve; practice-profile.md is intentionally absent (in .gitignore, generated by configuration workflow). Minus for documentation: SKILL.md suggests MCP via `uvx legal-cite`, but the package is not on PyPI (HTTP 404) — however, the body honestly marks this as 'after publication on PyPI' and sets a fallback `[UNVERIFIED]`, so the core works without MCP. - **Math Modeling Paper** [pass, 9.2/10] — CUMCM/MCM-ICM math modeling papers: structure, abstract, self-audit Repo: https://github.com/Lupynow/math-modeling-skills. Card: https://skillproof.dev/skills/math-modeling-paper. What we found: Gave the same task to both runs: write an abstract (摘要) for a CUMCM paper on bicycle rental optimization, with all numbers provided directly in the prompt (MAE=3.12, R²=0.912, 1842→1276 km, −30.7%, deficit 14.6%→4.3%). Baseline run without skill produced zero out of thirteen possible numbers — a pure retelling of methods ('significantly improved', 'good accuracy'), 0 out of 3 subtasks with quantitative results, no keywords, 7 empty evaluative phrases. Skill run: 13 numbers, 3 out of 3 subtasks with specifics, 6 keywords, a model verification paragraph with numbers (±20% → fluctuation ≤5.8%), 0 empty phrases — meaning '红线1: 每问必有一数' actually works. Measured by script according to the skill's own rules: skill text length 447 characters, slightly below the stated 500–800 window, so the lower bound was not automatically met. All 11 reference files referenced by the body exist. - **Hands On Deck** [pass, 9.2/10] — Agent-native .pptx editing via atomic, validated JSON patches Repo: https://github.com/EveryInc/hands-on-deck. Card: https://skillproof.dev/skills/hands-on-deck. What we found: Task: end-to-end rebranding of a real 18-slide deck (two-world-reskin-input.pptx from repository) — replace 'hands-on-deck' with 'slide-forge' throughout the deck. Baseline script using bare python-pptx (tf.text = tf.text.replace(...)) formally succeeded: 0 occurrences remained in raw XML — but measurement by runs showed it silently destroyed formatting in 24 out of 24 affected shapes, losing font/size/color in 26 runs; slide 0 footer changed from 'JetBrains Mono 5.6pt' to font=None, size=None. Patch via deck.py yielded 0 remnants and exactly 0 damaged shapes — 'JetBrains Mono 5.6pt' preserved. Significantly, deck.py diff for both versions prints an IDENTICAL text changelog: text diff does not catch font loss, it's only visible at the runs level. Atomicity confirmed in practice: a patch with an extra 'master' scope operation was rejected entirely with 'PATCH FAILED at op[1] ... Nothing was saved'. Stage 0 clean: SKILL.md, designing-slides.md, and all 7 python scripts (~268 KB) read; subprocess is called only with hardcoded argument lists (soffice, pdftoppm), without shell=True, network, or secret reading. Minus: render/thumbnail require LibreOffice, which was not present — it crashes with unhandled FileNotFoundError: 'soffice', although the dependency is specified in SKILL.md. - **Bruce Doc Converter** [pass, 9.2/10] — Convert Word/Excel/PowerPoint/PDF to clean Markdown, and Markdown back to Word Repo: https://github.com/bruc3van/bruce-doc-converter. Card: https://skillproof.dev/skills/bruce-doc-converter. What we found: Installed the bdc CLI (v0.2.1) and converted a real .docx and .xlsx live: got clean Markdown with proper heading levels, GFM tables and bullet lists in one command. The no-skill baseline on the same .docx returns binary ZIP garbage on a direct read, or forces you to unzip and hand-parse verbose word/document.xml where the table structure and list markers are lost. The SKILL.md's --help-json check, JSON output contract and supported-formats table all matched observed behavior. - **Results to Slides** [pass, 9.2/10] — Turns experiment folders and git history into an editable, styled research PPTX Repo: https://github.com/saidwivedi/research-skills. Card: https://skillproof.dev/skills/results-to-slides. What we found: Ran the bundled md_to_pptx.py converter live on a 3-slide sample (title with chips, an image slide, and a table slide) and it emitted a valid 57KB editable PPTX with the light background, a real embedded PNG, and a rendered table. Without the skill, the baseline for 'turn my experiments into slides' is raw markdown or a text outline and no themed deck. The skill's strict style rules also ban editorializing words like 'breakthrough' and 'key insight' and force every slide to carry a visual. python-pptx 1.0.2 was already present; the converter, theme.css, and backgrounds are all self-contained after copy. - **Resume Skill** [pass, 9.2/10] — Turns raw career info into a print-ready, ATS-safe one-page HTML resume Repo: https://github.com/yanliudesign/resume-builder-skill. Card: https://skillproof.dev/skills/resume-skill. What we found: The 13 bundled templates are genuine production-grade HTML: classic-ats.html ships a real letter-size @page layout, single-column serif type and machine-parseable section headings, so the rendered resume clearly beats a no-skill baseline that returns generic markdown. The skill enforces a no-fabrication rule, marking any unverified number as to-confirm rather than inventing metrics, and routes cleanly between beautify, LinkedIn-import and interview flows. Install ran verbatim from a bare HOME and every referenced prompt, schema and template file was present. - **Mindmap (Markmap) Viewer** [pass, 9.2/10] — Turn Markdown outlines into a self-contained offline interactive mind map (HTML) Repo: https://github.com/Jaderson-bit/mindmap-markmap-viewer. Card: https://skillproof.dev/skills/mindmap-markmap-viewer. What we found: Ran the bundled render_markmap.py on a sample outline: it emitted a 661 KB single HTML file with all six script blocks inlined and zero external