[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7E45KP9HEC0DPSWPVPF613B":3,"skill-same:01M7E45KP9HEC0DPSWPVPF613B":220},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":14,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":30,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M7E45KP9HEC0DPSWPVPF613B","docs-style",null,"Write and review READMEs and docs pages in the Agent IX house style. Use when writing a README or docs page. Use it when asked to review docs for filler, \"Claude-ish\" wording, sprawl, indirect framing or implementation status. Use it when a README or docs folder must be brought to the agent-ix standard. Gives a page-type guide, a rule catalog, a Vale style and a structure checker. Figures are made with docs-figures.","agent-ix\u002Fdev-tools","agent-ix","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F145821095?v=4","01M7E4526WF8Z68B9YYXN4SQDP","Agent IX","01M7E4527XCPGPR5HK7ZY9PG03",0,"MIT","https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: docs-style\ndescription: Write and review READMEs and docs pages in the Agent IX house style. Use when writing a README or docs page. Use it when asked to review docs for filler, \"Claude-ish\" wording, sprawl, indirect framing or implementation status. Use it when a README or docs folder must be brought to the agent-ix standard. Gives a page-type guide, a rule catalog, a Vale style and a structure checker. Figures are made with docs-figures.\ncompatibility: Python 3.9+ for scripts\u002Fdocs_lint.py. Vale 3 for the prose rules (MDX also needs mdx2vast).\n---\n\n# Docs Style\n\nIf this plugin is not initialized or an Agent IX command fails, read [the dev-tools setup guide](https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fsetup.md).\n\nOne rule covers most of this: **say what the thing does and what it helps the\nreader do.** Everything else needs a reason to be there.\n\nThe reader is a software engineer who is new to the field. Pages are short,\ndirect and literal. Figures are made with the `docs-figures` skill; this skill\ncovers the words, the page types and the structure.\n\n`\u003Cskill>` below is this skill's base directory. Every rule has a stable id in\n[rules\u002Fcatalog.yaml](rules\u002Fcatalog.yaml); reviews and lint output cite those ids.\n\n## Workflow\n\n1. **Pick the page type.** A page is one of concept, tutorial, how-to, reference\n   or status. A README has its own layout. Put `type:` in the frontmatter.\n   [page-types.md](references\u002Fpage-types.md), [readme.md](references\u002Freadme.md).\n2. **Write to the guide.** Framing first (reader, task, one idea, one running\n   example), then phrasing, tables, and what stays out.\n   [framing.md](references\u002Fframing.md), [phrasing.md](references\u002Fphrasing.md),\n   [tables.md](references\u002Ftables.md),\n   [status-and-internals.md](references\u002Fstatus-and-internals.md),\n   [navigation.md](references\u002Fnavigation.md).\n3. **Run the checks.**\n   - Prose: `vale --config=\u003Cini> \u003Cpaths>`. Copy both `AgentIX\u002F` and `config\u002F` from\n     `\u003Cskill>\u002Fvale\u002F` into your Vale `StylesPath` (the script rules need `config\u002F`),\n     and start from [vale\u002F.vale.ini](vale\u002F.vale.ini). MDX needs `mdx2vast` on `PATH`.\n     Vale applies a rule to every page; the sample ini shows per-path sections for\n     `applies_to`, for the `trust-words` and contrast rules, and for status pages.\n   - Structure: `python3 \u003Cskill>\u002Fscripts\u002Fdocs_lint.py --check \u003Cpaths>`. It reads the\n     page type from frontmatter and runs the page-self-reference, lead-in,\n     contrast and sentence-length rules over the frontmatter `description`. `--type T` fills it in for files without one.\n     `--level suggestion` shows everything; `--ignore ids` skips rules.\n4. **Judge the `review` rules** in the catalog (`check: review`). No tool checks\n   them. Read the page as someone who has never heard of the project.\n5. **Report** findings, then fix them.\n\n## Review procedure\n\n1. Read the page as the target reader. For each sentence ask: does this help me\n   understand or use the thing? If not, cut it.\n2. Run Vale and `docs_lint.py`. Keep a hit unless the sentence states a plain\n   fact the reader needs (for example, \"does not allocate\"). To suppress a rule for\n   a block, write `\u003C!-- vale AgentIX.LeadIns = NO -->` before it and\n   `\u003C!-- vale AgentIX.LeadIns = YES -->` after it (MDX: `{\u002F* vale AgentIX.LeadIns = NO *\u002F}`).\n3. Go through the `review` rules for the page's type: lede, one idea per\n   section, running example, repetition, two-dimensional tables, navigation.\n4. Check that fenced code blocks are unchanged, every relative link resolves,\n   and doctest READMEs (`include_str!`) still pass `cargo test --doc`.\n5. Report one line per finding, keyed by rule id:\n\n       path:line: rule-id: what is wrong -> the rewrite\n\n   Give a before and after for each cut and a rewritten lede. Do not apply edits\n   until asked, unless the task is to apply them.\n\n## The rules in short\n\n- Concept, reference and README pages open with `\u003Cname> is \u003Cwhat it is>.` A\n  how-to opens with the task, a tutorial with the result, a status page with what\n  it lists. The second paragraph says what the reader can do, with no sourcing,\n  version or release state.\n- Examples run: taken from tests, executed in CI, output generated. A teaching\n  page shows the command and a short result, with no shell plumbing, and never\n  presents a tool gap as a rule.\n- One vocabulary for results per page set; every term in shown output is defined\n  or cut.\n- A learning track introduces terms in order; each page says what to know first.\n- One fact per sentence, under 30 words. Literal headings. US spelling.\n- No figurative words, no contrast framing, no lead-ins, no page self-reference.\n- Tables only for two-dimensional data: 4 columns at most, cells of 12 words at\n  most, one introducing sentence.\n- No requirement ids, crate or module names, test names, issue numbers, branch\n  or version pins in prose. Status lives on the generated status page.\n- No lists of what the thing does not do, unconnected systems, disclaimers,\n  maintainer process or history.\n\nFull text and examples are in the references. Every rule is in the catalog.\n\n## Layout\n\n- `references\u002F`: the guide (page types, framing, phrasing, tables, status and\n  internals, navigation, README layout).\n- `rules\u002Fcatalog.yaml`: every rule, with severity, check kind, examples.\n- `vale\u002F`: the `AgentIX` Vale style, `config\u002Fscripts\u002F` (rules that skip fenced\n  code), and a sample `.vale.ini`.\n- `scripts\u002Fdocs_lint.py`: the structure checker. `scripts\u002Fgen_vale_scripts.py`\n  generates the Tengo scripts from one template (`--check` finds stale ones).\n\nRun `python3 -m pytest tests\u002Fdocs-style` for the tests.\n","# Docs Style\n\nIf this plugin is not initialized or an Agent IX command fails, read [the dev-tools setup guide](https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fsetup.md).\n\nOne rule covers most of this: **say what the thing does and what it helps the\nreader do.** Everything else needs a reason to be there.\n\nThe reader is a software engineer who is new to the field. Pages are short,\ndirect and literal. Figures are made with the `docs-figures` skill; this skill\ncovers the words, the page types and the structure.\n\n`\u003Cskill>` below is this skill's base directory. Every rule has a stable id in\n[rules\u002Fcatalog.yaml](rules\u002Fcatalog.yaml); reviews and lint output cite those ids.\n\n## Workflow\n\n1. **Pick the page type.** A page is one of concept, tutorial, how-to, reference\n   or status. A README has its own layout. Put `type:` in the frontmatter.\n   [page-types.md](references\u002Fpage-types.md), [readme.md](references\u002Freadme.md).\n2. **Write to the guide.** Framing first (reader, task, one idea, one running\n   example), then phrasing, tables, and what stays out.\n   [framing.md](references\u002Fframing.md), [phrasing.md](references\u002Fphrasing.md),\n   [tables.md](references\u002Ftables.md),\n   [status-and-internals.md](references\u002Fstatus-and-internals.md),\n   [navigation.md](references\u002Fnavigation.md).\n3. **Run the checks.**\n   - Prose: `vale --config=\u003Cini> \u003Cpaths>`. Copy both `AgentIX\u002F` and `config\u002F` from\n     `\u003Cskill>\u002Fvale\u002F` into your Vale `StylesPath` (the script rules need `config\u002F`),\n     and start from [vale\u002F.vale.ini](vale\u002F.vale.ini). MDX needs `mdx2vast` on `PATH`.\n     Vale applies a rule to every page; the sample ini shows per-path sections for\n     `applies_to`, for the `trust-words` and contrast rules, and for status pages.\n   - Structure: `python3 \u003Cskill>\u002Fscripts\u002Fdocs_lint.py --check \u003Cpaths>`. It reads the\n     page type from frontmatter and runs the page-self-reference, lead-in,\n     contrast and sentence-length rules over the frontmatter `description`. `--type T` fills it in for files without one.\n     `--level suggestion` shows everything; `--ignore ids` skips rules.\n4. **Judge the `review` rules** in the catalog (`check: review`). No tool checks\n   them. Read the page as someone who has never heard of the project.\n5. **Report** findings, then fix them.\n\n## Review procedure\n\n1. Read the page as the target reader. For each sentence ask: does this help me\n   understand or use the thing? If not, cut it.\n2. Run Vale and `docs_lint.py`. Keep a hit unless the sentence states a plain\n   fact the reader needs (for example, \"does not allocate\"). To suppress a rule for\n   a block, write `\u003C!-- vale AgentIX.LeadIns = NO -->` before it and\n   `\u003C!-- vale AgentIX.LeadIns = YES -->` after it (MDX: `{\u002F* vale AgentIX.LeadIns = NO *\u002F}`).\n3. Go through the `review` rules for the page's type: lede, one idea per\n   section, running example, repetition, two-dimensional tables, navigation.\n4. Check that fenced code blocks are unchanged, every relative link resolves,\n   and doctest READMEs (`include_str!`) still pass `cargo test --doc`.\n5. Report one line per finding, keyed by rule id:\n\n       path:line: rule-id: what is wrong -> the rewrite\n\n   Give a before and after for each cut and a rewritten lede. Do not apply edits\n   until asked, unless the task is to apply them.\n\n## The rules in short\n\n- Concept, reference and README pages open with `\u003Cname> is \u003Cwhat it is>.` A\n  how-to opens with the task, a tutorial with the result, a status page with what\n  it lists. The second paragraph says what the reader can do, with no sourcing,\n  version or release state.\n- Examples run: taken from tests, executed in CI, output generated. A teaching\n  page shows the command and a short result, with no shell plumbing, and never\n  presents a tool gap as a rule.\n- One vocabulary for results per page set; every term in shown output is defined\n  or cut.\n- A learning track introduces terms in order; each page says what to know first.\n- One fact per sentence, under 30 words. Literal headings. US spelling.\n- No figurative words, no contrast framing, no lead-ins, no page self-reference.\n- Tables only for two-dimensional data: 4 columns at most, cells of 12 words at\n  most, one introducing sentence.\n- No requirement ids, crate or module names, test names, issue numbers, branch\n  or version pins in prose. Status lives on the generated status page.\n- No lists of what the thing does not do, unconnected systems, disclaimers,\n  maintainer process or history.\n\nFull text and examples are in the references. Every rule is in the catalog.\n\n## Layout\n\n- `references\u002F`: the guide (page types, framing, phrasing, tables, status and\n  internals, navigation, README layout).\n- `rules\u002Fcatalog.yaml`: every rule, with severity, check kind, examples.\n- `vale\u002F`: the `AgentIX` Vale style, `config\u002Fscripts\u002F` (rules that skip fenced\n  code), and a sample `.vale.ini`.\n- `scripts\u002Fdocs_lint.py`: the structure checker. `scripts\u002Fgen_vale_scripts.py`\n  generates the Tengo scripts from one template (`--check` finds stale ones).\n\nRun `python3 -m pytest tests\u002Fdocs-style` for the tests.\n",{"name":5,"description":7,"compatibility":24},"Python 3.9+ for scripts\u002Fdocs_lint.py. Vale 3 for the prose rules (MDX also needs mdx2vast).","main","85e048be7fde15074feb0ddd1233b5b720ad9113","skills\u002Fdocs-style","https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools","https:\u002F\u002Fgithub.com\u002Fagent-ix","http:\u002F\u002Fagent-ix.ai","Agent IX - Agentic engineering tools","2026-11-15 03:01:01",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add agent-ix\u002Fdev-tools --skill docs-style",{"tool":39,"command":40},"bunx","bunx skills add agent-ix\u002Fdev-tools --skill docs-style",{"tool":42,"command":43},"pnpm","pnpm dlx skills add agent-ix\u002Fdev-tools --skill docs-style","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002FSKILL.md",true,[47,53,57,61,65,69,73,77,81,87,91,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,168,172,176,180,184,188,192,196,200,204,208,212,216],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},"references\u002Fframing.md","REFERENCE","参考文档",5817,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Freferences\u002Fframing.md",{"path":54,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":55,"sourceHtmlUrl":56},"references\u002Fnavigation.md",1450,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Freferences\u002Fnavigation.md",{"path":58,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":59,"sourceHtmlUrl":60},"references\u002Fpage-types.md",10276,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Freferences\u002Fpage-types.md",{"path":62,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":63,"sourceHtmlUrl":64},"references\u002Fphrasing.md",4437,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Freferences\u002Fphrasing.md",{"path":66,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":67,"sourceHtmlUrl":68},"references\u002Freadme.md",1737,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Freferences\u002Freadme.md",{"path":70,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":71,"sourceHtmlUrl":72},"references\u002Fstatus-and-internals.md",3551,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Freferences\u002Fstatus-and-internals.md",{"path":74,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Ftables.md",3039,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Freferences\u002Ftables.md",{"path":78,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":79,"sourceHtmlUrl":80},"rules\u002Fcatalog.yaml",22283,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Frules\u002Fcatalog.yaml",{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"scripts\u002Fdocs_lint.py","SCRIPT","脚本",25503,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fscripts\u002Fdocs_lint.py",{"path":88,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":89,"sourceHtmlUrl":90},"scripts\u002Fgen_vale_scripts.py",5485,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fscripts\u002Fgen_vale_scripts.py",{"path":92,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":95,"sourceHtmlUrl":96},"vale\u002F.vale.ini","OTHER","其他",1761,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002F.vale.ini",{"path":98,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":99,"sourceHtmlUrl":100},"vale\u002FAgentIX\u002FBannedHeading.yml",383,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FBannedHeading.yml",{"path":102,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":103,"sourceHtmlUrl":104},"vale\u002FAgentIX\u002FContrastFraming.yml",466,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FContrastFraming.yml",{"path":106,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":107,"sourceHtmlUrl":108},"vale\u002FAgentIX\u002FCrateNameInProse.yml",382,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FCrateNameInProse.yml",{"path":110,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":111,"sourceHtmlUrl":112},"vale\u002FAgentIX\u002FFigurativeWords.yml",473,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FFigurativeWords.yml",{"path":114,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":115,"sourceHtmlUrl":116},"vale\u002FAgentIX\u002FHedgingStack.yml",540,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FHedgingStack.yml",{"path":118,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":119,"sourceHtmlUrl":120},"vale\u002FAgentIX\u002FIssueRefInProse.yml",321,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FIssueRefInProse.yml",{"path":122,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":123,"sourceHtmlUrl":124},"vale\u002FAgentIX\u002FLeadIns.yml",537,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FLeadIns.yml",{"path":126,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":127,"sourceHtmlUrl":128},"vale\u002FAgentIX\u002FMaintainerProcess.yml",503,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FMaintainerProcess.yml",{"path":130,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":131,"sourceHtmlUrl":132},"vale\u002FAgentIX\u002FNoCommandRuns.yml",355,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FNoCommandRuns.yml",{"path":134,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":135,"sourceHtmlUrl":136},"vale\u002FAgentIX\u002FOnMainBranch.yml",429,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FOnMainBranch.yml",{"path":138,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":139,"sourceHtmlUrl":140},"vale\u002FAgentIX\u002FPageSelfReference.yml",596,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FPageSelfReference.yml",{"path":142,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":143,"sourceHtmlUrl":144},"vale\u002FAgentIX\u002FQuestionHeading.yml",282,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FQuestionHeading.yml",{"path":146,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":147,"sourceHtmlUrl":148},"vale\u002FAgentIX\u002FRequirementIdInProse.yml",696,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FRequirementIdInProse.yml",{"path":150,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":151,"sourceHtmlUrl":152},"vale\u002FAgentIX\u002FRustPathInProse.yml",324,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FRustPathInProse.yml",{"path":154,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":155,"sourceHtmlUrl":156},"vale\u002FAgentIX\u002FSentenceTooLong.yml",229,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FSentenceTooLong.yml",{"path":158,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":159,"sourceHtmlUrl":160},"vale\u002FAgentIX\u002FSourcePathInProse.yml",394,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FSourcePathInProse.yml",{"path":162,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":163,"sourceHtmlUrl":164},"vale\u002FAgentIX\u002FStatusInProse.yml",644,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FStatusInProse.yml",{"path":166,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":107,"sourceHtmlUrl":167},"vale\u002FAgentIX\u002FTableCodeCellLong.yml","https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FTableCodeCellLong.yml",{"path":169,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":170,"sourceHtmlUrl":171},"vale\u002FAgentIX\u002FTableTooWide.yml",344,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FTableTooWide.yml",{"path":173,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":174,"sourceHtmlUrl":175},"vale\u002FAgentIX\u002FTestNameInProse.yml",359,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FTestNameInProse.yml",{"path":177,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":178,"sourceHtmlUrl":179},"vale\u002FAgentIX\u002FTrustWords.yml",521,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FTrustWords.yml",{"path":181,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":182,"sourceHtmlUrl":183},"vale\u002FAgentIX\u002FUnconnectedSystems.yml",479,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FUnconnectedSystems.yml",{"path":185,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":186,"sourceHtmlUrl":187},"vale\u002FAgentIX\u002FUndefinedAcronym.yml",920,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FUndefinedAcronym.yml",{"path":189,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":190,"sourceHtmlUrl":191},"vale\u002FAgentIX\u002FUsSpelling.yml",791,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FUsSpelling.yml",{"path":193,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":194,"sourceHtmlUrl":195},"vale\u002FAgentIX\u002FVersionPin.yml",435,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002FAgentIX\u002FVersionPin.yml",{"path":197,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":198,"sourceHtmlUrl":199},"vale\u002Fconfig\u002Fscripts\u002Fcrate-name-in-prose.tengo",2620,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002Fconfig\u002Fscripts\u002Fcrate-name-in-prose.tengo",{"path":201,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":202,"sourceHtmlUrl":203},"vale\u002Fconfig\u002Fscripts\u002Fno-command-runs.tengo",2737,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002Fconfig\u002Fscripts\u002Fno-command-runs.tengo",{"path":205,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":206,"sourceHtmlUrl":207},"vale\u002Fconfig\u002Fscripts\u002Fsource-path-in-prose.tengo",2684,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002Fconfig\u002Fscripts\u002Fsource-path-in-prose.tengo",{"path":209,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":210,"sourceHtmlUrl":211},"vale\u002Fconfig\u002Fscripts\u002Ftable-code-cell-long.tengo",2678,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002Fconfig\u002Fscripts\u002Ftable-code-cell-long.tengo",{"path":213,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":214,"sourceHtmlUrl":215},"vale\u002Fconfig\u002Fscripts\u002Ftable-too-wide.tengo",2694,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002Fconfig\u002Fscripts\u002Ftable-too-wide.tengo",{"path":217,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":218,"sourceHtmlUrl":219},"vale\u002Fconfig\u002Fscripts\u002Ftest-name-in-prose.tengo",2725,"https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-style\u002Fvale\u002Fconfig\u002Fscripts\u002Ftest-name-in-prose.tengo",[221,228,235,242,249,256],{"skillNo":222,"name":223,"nameZh":6,"description":224,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":225,"categories":226,"keywords":227,"publishedAt":19},"01M7E471SM5GZ57TV0ZTVYDJJS","assurance-onboarding","Capture a generic handoff in the fixture host.","https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Ftests\u002Fnew-project\u002Ffixtures\u002Fengineering-assurance\u002Fskills\u002Fassurance-onboarding\u002FSKILL.md",[],[],{"skillNo":229,"name":230,"nameZh":6,"description":231,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":232,"categories":233,"keywords":234,"publishedAt":19},"01M7E46XFTX3A7X3HM5EYYWG7B","writing-tests-typescript","Instructions for writing TypeScript tests (Jest), including typed mocks and testing patterns.","https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-tests-typescript\u002FSKILL.md",[],[],{"skillNo":236,"name":237,"nameZh":6,"description":238,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":239,"categories":240,"keywords":241,"publishedAt":19},"01M7E46RVDSBTKABHD03PS3JNZ","writing-tests-react","Index to React component testing guides.","https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-tests-react\u002FSKILL.md",[],[],{"skillNo":243,"name":244,"nameZh":6,"description":245,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":246,"categories":247,"keywords":248,"publishedAt":19},"01M7E46M1TM645NGNVQ0V3HHHG","writing-tests-python","Instructions for writing Python tests (pytest), including mocking, fixtures, and golden path standards.","https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-tests-python\u002FSKILL.md",[],[],{"skillNo":250,"name":251,"nameZh":6,"description":252,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":253,"categories":254,"keywords":255,"publishedAt":19},"01M7E46FPPV73DABJH7M9QP399","writing-tests-pg-data","Instructions for writing tests for PG Data services, likely involving database fixtures and integration tests.","https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-tests-pg-data\u002FSKILL.md",[],[],{"skillNo":257,"name":258,"nameZh":6,"description":259,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":260,"categories":261,"keywords":262,"publishedAt":19},"01M7E46ACWS94570P6SCTS5856","security-deepsec","Run a generic DeepSec-backed security review and remediation burndown for one or more target repositories. Use when asked to audit a repo, app area, service family, frontend\u002Fbackend\u002Fclient\u002FSDK surface, infrastructure, or security-sensitive workflow with DeepSec; when asked to create local audit artifacts, GitHub security issues, checksite coverage, finding reports, spec\u002FAC\u002Ftest traceability, or a repeatable security burndown process.","https:\u002F\u002Fgithub.com\u002Fagent-ix\u002Fdev-tools\u002Fblob\u002Fmain\u002Fskills\u002Fsecurity-deepsec\u002FSKILL.md",[],[]]