[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JJ4RWG2ZXZWZWDH2P0M66F":3,"skill-same:01M6JJ4RWG2ZXZWZWDH2P0M66F":77},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":27,"publishedAt":48,"linkOnly":49,"markdownContent":50,"markdownBody":51,"frontMatter":52,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":58,"ownerHtmlUrl":59,"ownerBlogUrl":60,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M6JJ4RWG2ZXZWZWDH2P0M66F","review-docs",null,"Review the README or a documentation page from several real reader points of view at once. Fans out one parallel reviewer per audience — Claude Code newcomer, power user, plugin\u002Fskill author, skeptical senior engineer, non-running decision-maker — each scoring it x\u002F5 and naming concrete, line-level fixes. Use when asked to review, critique, grade, or \"get to N\u002F5\" the README or any front-door doc, or to check how a doc reads for real users. Not for code review (use \u002Fcode-review for that).","zernie\u002Fvigiles","zernie","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1765991?v=4","01M6JJ2Z99JQ4JRCMD45T5VJXZ","01M6JJ2ZDM1H6B9QVRBZFAN009",15,"MIT","https:\u002F\u002Fgithub.com\u002Fzernie\u002Fvigiles\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Freview-docs\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"review","docs","review docs","at","code review","line","get","maker","scoring","engineer","power","reviewer","decision","parallel","how","critique","doc","code-review","code","documentation","2026-11-10 10:12:30",false,"---\nname: review-docs\ndescription: Review the README or a documentation page from several real reader points of view at once. Fans out one parallel reviewer per audience — Claude Code newcomer, power user, plugin\u002Fskill author, skeptical senior engineer, non-running decision-maker — each scoring it x\u002F5 and naming concrete, line-level fixes. Use when asked to review, critique, grade, or \"get to N\u002F5\" the README or any front-door doc, or to check how a doc reads for real users. Not for code review (use \u002Fcode-review for that).\n---\n\nReview a front-door doc (default `README.md`; honor a path the user names) the way\nreal readers would — not the way the author does. The author knows what every line\nmeans; a first-time reader does not. The job is to surface where a specific audience\ngets confused, under-served, or bounces, score it, and propose concrete fixes.\n\nThe method is **fan-out**: spawn one subagent PER PERSONA, all in parallel, each doing\na cold read as that reader. Different readers catch different things; running them\nconcurrently is faster and keeps each read uncontaminated by the others.\n\n## How to run it\n\n### 1. Read the target doc yourself first\n\nRead the doc in full and skim the docs it links to (so \"promises depth the linked doc\ndoesn't deliver\" is checkable). You need this to judge the personas' findings and to\napply fixes later.\n\n### 2. Fan out one subagent per persona — in parallel\n\nSpawn the personas below as subagents **in a single message** (multiple Agent\u002FTask\ncalls at once) so they run concurrently. Use a fast, cheap model (Sonnet or Haiku) —\nthis is a reading\u002Fjudgment task, not heavy synthesis — and say so in one line when you\nlaunch them.\n\nGive EACH subagent the same rubric, only the persona changes:\n\n> You are **\\\u003CPERSONA\\>**. Read `\u003Cpath>` (ignore any HTML comment block at the top —\n> that's internal authoring notes, not user-facing copy). Do a COLD read as this\n> reader: adopt their goals, vocabulary, and patience. Be a harsh grader — most\n> READMEs are a 3; 5\u002F5 means you'd genuinely act on it and it's crisp end to end.\n> Return ONLY:\n>\n> 1. **SCORE: x\u002F5**\n> 2. **30-second test:** after the first screen only, in one sentence, what do you\n>    think this tool does — and is that right\u002Fwrong\u002Ffuzzy?\n> 3. **Top 3 concrete problems** — each quotes the exact line\u002Fphrase and gives a\n>    specific suggested rewrite (confusing jargon, sentences carrying too many ideas,\n>    anything that doesn't sell, formatting that hurts scanning, hype that costs\n>    trust).\n> 4. **Jargon check:** every word you had to stop on (harness, spec, eval, subagent,\n>    rings, recall\u002Fprecision…) — is it defined in context or left guessing?\n> 5. **What works** — keep these, so revisions don't lose them.\n> 6. **The one change** that would move the score most.\n>    Quote exact text. Be useful, not polite.\n\n### 3. The personas (the fan-out set)\n\nRun all of these unless the user scopes to a subset. Edit the set freely for a given\ndoc — these are the default readers of vigiles's front door.\n\n1. **Claude Code newcomer** — new to agentic tooling, bounces on undefined terms.\n   Needs a clear \"what do I do first,\" not theory. Catches jargon used before it's\n   defined.\n2. **Claude Code power user** — lives in CC, skimming on a phone between tasks. Wants\n   the WOW in the first screen and a copy-paste install in seconds; allergic to fluff.\n3. **Plugin \u002F skill author** — mid-level dev, comfortable with TS but not a\n   rule-enforcer\u002Ftypes nerd. Found this because it claims to test their skills. Cares about\n   \"does it work on MY repo without learning a new theory?\"\n4. **Skeptical senior \u002F staff engineer** — scans for substance in ~20s, mentally\n   compares to promptfoo \u002F ESLint \u002F ast-grep. Anything hand-wavy or overclaimed costs\n   trust; every load-bearing claim should link proof.\n5. **Decision-maker (won't run a command)** — deciding whether the team adopts. Cares\n   about cost, risk, effort; needs the \"free deterministic vs. metered per-token\"\n   story and the low-risk incremental on-ramp to be legible without running anything.\n6. **Codex user (optional)** — uses `AGENTS.md`, not Claude Code. Skeptical this is \"a\n   Claude-only thing.\" Is Codex support visible early or buried\u002Ffootnoted?\n\n### 4. Synthesize\n\nCollect the scores and reports. Then:\n\n- **Cross-cutting issues first.** The 2–4 problems that hurt MULTIPLE personas are the\n  highest-leverage fixes — lead with those.\n- **Lowest score is the ceiling.** The doc is only as good as its weakest reader's\n  read; name what's blocking that persona.\n- Produce a **ranked fix list** — highest reader-impact first, each a one-line action\n  quoting the line and the fix.\n\n### 5. Iterate to a target (only when asked)\n\nIf the user asks to \"get it to N\u002F5\" (or \"until 5\u002F5\"): apply the highest-leverage fixes\nyourself, then **re-fan-out** (resume the same subagents with the change list, or spawn\nfresh) and collect new scores. Repeat until every persona is at the target or scores\nstop moving. **Bound it** — if a round produces no improvement, or after ~3 rounds, stop\nand report what's blocking the last point rather than churning. By default this skill\nREPORTS; only enter the apply-and-iterate loop on an explicit \"fix it \u002F get it to N\u002F5\".\n\n## Output format\n\n```\n# Doc review — \u003Cfile>\n\n## Scores\n\u003Cpersona> — x\u002F5   (one-line verdict each)\n\n## Cross-cutting issues (highest leverage)\nThe 2–4 problems hitting multiple personas, each with the line + the fix.\n\n## Per-persona highlights\nThe sharpest single finding from each reader (don't dump the full reports).\n\n## Ranked fixes\nOrdered, highest reader-impact first — each a one-line action.\n```\n\nKeep the synthesis scannable and ACTIONABLE: every finding names a line and a fix. Hold\nthe doc to its own standards while reviewing — for the README that's the front-door\nbrevity bar (lead with benefits, one idea per sentence, define jargon at first use,\npush depth into linked docs). Don't rewrite the doc in place unless the user asks for\nthe iterate loop — this skill REPORTS by default.\n","Review a front-door doc (default `README.md`; honor a path the user names) the way\nreal readers would — not the way the author does. The author knows what every line\nmeans; a first-time reader does not. The job is to surface where a specific audience\ngets confused, under-served, or bounces, score it, and propose concrete fixes.\n\nThe method is **fan-out**: spawn one subagent PER PERSONA, all in parallel, each doing\na cold read as that reader. Different readers catch different things; running them\nconcurrently is faster and keeps each read uncontaminated by the others.\n\n## How to run it\n\n### 1. Read the target doc yourself first\n\nRead the doc in full and skim the docs it links to (so \"promises depth the linked doc\ndoesn't deliver\" is checkable). You need this to judge the personas' findings and to\napply fixes later.\n\n### 2. Fan out one subagent per persona — in parallel\n\nSpawn the personas below as subagents **in a single message** (multiple Agent\u002FTask\ncalls at once) so they run concurrently. Use a fast, cheap model (Sonnet or Haiku) —\nthis is a reading\u002Fjudgment task, not heavy synthesis — and say so in one line when you\nlaunch them.\n\nGive EACH subagent the same rubric, only the persona changes:\n\n> You are **\\\u003CPERSONA\\>**. Read `\u003Cpath>` (ignore any HTML comment block at the top —\n> that's internal authoring notes, not user-facing copy). Do a COLD read as this\n> reader: adopt their goals, vocabulary, and patience. Be a harsh grader — most\n> READMEs are a 3; 5\u002F5 means you'd genuinely act on it and it's crisp end to end.\n> Return ONLY:\n>\n> 1. **SCORE: x\u002F5**\n> 2. **30-second test:** after the first screen only, in one sentence, what do you\n>    think this tool does — and is that right\u002Fwrong\u002Ffuzzy?\n> 3. **Top 3 concrete problems** — each quotes the exact line\u002Fphrase and gives a\n>    specific suggested rewrite (confusing jargon, sentences carrying too many ideas,\n>    anything that doesn't sell, formatting that hurts scanning, hype that costs\n>    trust).\n> 4. **Jargon check:** every word you had to stop on (harness, spec, eval, subagent,\n>    rings, recall\u002Fprecision…) — is it defined in context or left guessing?\n> 5. **What works** — keep these, so revisions don't lose them.\n> 6. **The one change** that would move the score most.\n>    Quote exact text. Be useful, not polite.\n\n### 3. The personas (the fan-out set)\n\nRun all of these unless the user scopes to a subset. Edit the set freely for a given\ndoc — these are the default readers of vigiles's front door.\n\n1. **Claude Code newcomer** — new to agentic tooling, bounces on undefined terms.\n   Needs a clear \"what do I do first,\" not theory. Catches jargon used before it's\n   defined.\n2. **Claude Code power user** — lives in CC, skimming on a phone between tasks. Wants\n   the WOW in the first screen and a copy-paste install in seconds; allergic to fluff.\n3. **Plugin \u002F skill author** — mid-level dev, comfortable with TS but not a\n   rule-enforcer\u002Ftypes nerd. Found this because it claims to test their skills. Cares about\n   \"does it work on MY repo without learning a new theory?\"\n4. **Skeptical senior \u002F staff engineer** — scans for substance in ~20s, mentally\n   compares to promptfoo \u002F ESLint \u002F ast-grep. Anything hand-wavy or overclaimed costs\n   trust; every load-bearing claim should link proof.\n5. **Decision-maker (won't run a command)** — deciding whether the team adopts. Cares\n   about cost, risk, effort; needs the \"free deterministic vs. metered per-token\"\n   story and the low-risk incremental on-ramp to be legible without running anything.\n6. **Codex user (optional)** — uses `AGENTS.md`, not Claude Code. Skeptical this is \"a\n   Claude-only thing.\" Is Codex support visible early or buried\u002Ffootnoted?\n\n### 4. Synthesize\n\nCollect the scores and reports. Then:\n\n- **Cross-cutting issues first.** The 2–4 problems that hurt MULTIPLE personas are the\n  highest-leverage fixes — lead with those.\n- **Lowest score is the ceiling.** The doc is only as good as its weakest reader's\n  read; name what's blocking that persona.\n- Produce a **ranked fix list** — highest reader-impact first, each a one-line action\n  quoting the line and the fix.\n\n### 5. Iterate to a target (only when asked)\n\nIf the user asks to \"get it to N\u002F5\" (or \"until 5\u002F5\"): apply the highest-leverage fixes\nyourself, then **re-fan-out** (resume the same subagents with the change list, or spawn\nfresh) and collect new scores. Repeat until every persona is at the target or scores\nstop moving. **Bound it** — if a round produces no improvement, or after ~3 rounds, stop\nand report what's blocking the last point rather than churning. By default this skill\nREPORTS; only enter the apply-and-iterate loop on an explicit \"fix it \u002F get it to N\u002F5\".\n\n## Output format\n\n```\n# Doc review — \u003Cfile>\n\n## Scores\n\u003Cpersona> — x\u002F5   (one-line verdict each)\n\n## Cross-cutting issues (highest leverage)\nThe 2–4 problems hitting multiple personas, each with the line + the fix.\n\n## Per-persona highlights\nThe sharpest single finding from each reader (don't dump the full reports).\n\n## Ranked fixes\nOrdered, highest reader-impact first — each a one-line action.\n```\n\nKeep the synthesis scannable and ACTIONABLE: every finding names a line and a fix. Hold\nthe doc to its own standards while reviewing — for the README that's the front-door\nbrevity bar (lead with benefits, one idea per sentence, define jargon at first use,\npush depth into linked docs). Don't rewrite the doc in place unless the user asks for\nthe iterate loop — this skill REPORTS by default.\n",{"name":5,"description":7},"main","1a1de50f62f5c1093a46455488dcf6e8157c6182",".claude\u002Fskills\u002Freview-docs",4,"https:\u002F\u002Fgithub.com\u002Fzernie\u002Fvigiles","https:\u002F\u002Fvigiles.sh","https:\u002F\u002Fgithub.com\u002Fzernie","https:\u002F\u002Fzernie.com?utm_source=github","Senior Fullstack Software Developer.\r\n\r\nRuby on Rails, React.JS\u002FRedux, TypeScript, Next.js.","2026-11-02 22:19:44",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add zernie\u002Fvigiles --skill review-docs",{"tool":69,"command":70},"bunx","bunx skills add zernie\u002Fvigiles --skill review-docs",{"tool":72,"command":73},"pnpm","pnpm dlx skills add zernie\u002Fvigiles --skill review-docs","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzernie\u002Fvigiles\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Freview-docs\u002FSKILL.md",true,[],[78,106,127,158,187,210],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":87,"publishedAt":48},"01M6JJE6A64FF49TKDQ6F4JD0Q","wcag-audit-patterns","Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance. Use when auditing websites for accessibility, fixing WCAG violations, or implementing accessible design patterns.","https:\u002F\u002Fgithub.com\u002Fzernie\u002Fvigiles\u002Fblob\u002Fmain\u002Ftest\u002Fdogfood\u002Fwshobson-accessibility@cf6059d\u002Fskills\u002Fwcag-audit-patterns\u002FSKILL.md",[84],{"categoryNo":85,"categoryName":86,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",[88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105],"audit","WCAG","wcag audit patterns","patterns","wcag audit","testing","design","accessibility","verification","remediation","use","design patterns","guidance","automated testing","with","manual","implementing","for",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":113,"publishedAt":48},"01M6JJE24VZ3K0PRFHRJA4SNWG","screen-reader-testing","Test web applications with screen readers including VoiceOver, NVDA, and JAWS. Use when validating screen reader compatibility, debugging accessibility issues, or ensuring assistive technology support.","https:\u002F\u002Fgithub.com\u002Fzernie\u002Fvigiles\u002Fblob\u002Fmain\u002Ftest\u002Fdogfood\u002Fwshobson-accessibility@cf6059d\u002Fskills\u002Fscreen-reader-testing\u002FSKILL.md",[112],{"categoryNo":85,"categoryName":86,"taxonomyType":20,"taxonomyTypeDesc":21},[93,114,115,116,117,118,119,95,120,121,122,98,123,124,125,126,102],"reader","screen reader testing","screen","support","test","web","debugging","issues","applications","test web","voiceover","compatibility","technology",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":137,"publishedAt":48},"01M6JJDXJEEGWDJH531TH50Z2X","x-research","Searches X\u002FTwitter for real-time perspectives, dev discussions, product feedback, breaking news, and expert opinions using the X API v2. Provides search with engagement sorting, user profiles, thread fetching, watchlists, and result caching. Use when: (1) user says \"x research\", \"search x for\", \"search twitter for\", \"what are people saying about\", \"what's twitter saying\", \"check x for\", \"x search\", (2) user needs recent X discourse on a topic (library releases, API changes, product launches, industry events), (3) user wants to find what devs\u002Fexperts\u002Fcommunity thinks about a topic. NOT for: posting tweets or account management.","https:\u002F\u002Fgithub.com\u002Fzernie\u002Fvigiles\u002Fblob\u002Fmain\u002Ftest\u002Fdogfood\u002Ftrailofbits-skills-curated@6d05be4\u002Fplugins\u002Fx-research\u002Fskills\u002Fx-research\u002FSKILL.md",[133,136],{"categoryNo":134,"categoryName":135,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157],"research","x research","api changes","product","search","api","Bash","x api","perspectives","read","write","releases","expert","community","search x","time","caching","people","sorting","experts",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":170,"publishedAt":48},"01M6JJDQQJE9RZWEN0E3FKB5KF","wooyun-legacy","Provides web vulnerability testing methodology distilled from 88,636 real-world cases from the WooYun vulnerability database (2010-2016). Use when performing penetration testing, security audits, code reviews for security flaws, or vulnerability research. Covers SQL injection, XSS, command execution, file upload, path traversal, unauthorized access, information disclosure, and business logic flaws.","https:\u002F\u002Fgithub.com\u002Fzernie\u002Fvigiles\u002Fblob\u002Fmain\u002Ftest\u002Fdogfood\u002Ftrailofbits-skills-curated@6d05be4\u002Fplugins\u002Fwooyun-legacy\u002Fskills\u002Fwooyun-legacy\u002FSKILL.md",[164,165,168,169],{"categoryNo":85,"categoryName":86,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":166,"categoryName":167,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":134,"categoryName":135,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[171,172,93,173,174,46,175,176,177,178,144,179,180,147,181,182,183,184,185,186],"Legacy","wooyun legacy","security","sql","database","injection","xss","vulnerability","access","command","Performing Penetration Testing","world","penetration","information","reviews","path",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":191,"categories":192,"keywords":196,"publishedAt":48},"01M6JJDJRQ8D4VEVYB2YS0ZG7G","skill-extractor","Extracts reusable skills from work sessions. Use when: (1) a non-obvious problem was solved worth preserving, (2) a pattern was discovered that would help future sessions, (3) a workaround or debugging technique needs documentation. Manual invocation only via \u002Fskill-extractor command - no automatic triggers or hooks.","https:\u002F\u002Fgithub.com\u002Fzernie\u002Fvigiles\u002Fblob\u002Fmain\u002Ftest\u002Fdogfood\u002Ftrailofbits-skills-curated@6d05be4\u002Fplugins\u002Fskill-extractor\u002Fskills\u002Fskill-extractor\u002FSKILL.md",[193],{"categoryNo":194,"categoryName":195,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[197,198,47,120,199,200,201,180,147,148,98,202,203,204,205,206,207,208,103,209],"skill extractor","sessions","help","grep","work","only","hooks","reusable","pattern","triggers","problem","via","websearch",{"skillNo":211,"name":212,"nameZh":6,"description":213,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":214,"categories":215,"keywords":216,"publishedAt":48},"01M6JJDE8FBAP7YD2Y3ES050JQ","security-awareness","Teaches agents to recognize and avoid security threats during normal activity. Covers phishing detection, credential protection, domain verification, and social engineering defense. Use when building or operating agents that access email, credential vaults, web browsers, or sensitive data.","https:\u002F\u002Fgithub.com\u002Fzernie\u002Fvigiles\u002Fblob\u002Fmain\u002Ftest\u002Fdogfood\u002Ftrailofbits-skills-curated@6d05be4\u002Fplugins\u002Fsecurity-awareness\u002Fskills\u002Fsecurity-awareness\u002FSKILL.md",[],[173,217,218,119,96,219,220,179,200,147,221,98,222,223,224,225,226,227,228,229],"awareness","security awareness","email","phishing","webfetch","protection","social","social engineering","domain","vaults","operating","activity","phishing detection"]