[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71K7R88RM8ENVCRZHZSMM5T":3,"skill-same:01M71K7R88RM8ENVCRZHZSMM5T":93},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":56,"install":57,"resources":70},"01M71K7R88RM8ENVCRZHZSMM5T","test-matrix",null,"Use when a project needs testing BEYOND unit tests — fuzzing, property-based, load, E2E, or mutation. Five-phase hub-and-spoke pipeline composes the right mix per language × critical path × CI target, scaffolds configs + corpus + fixtures, wires CI jobs, and defines the crash\u002Fregression triage workflow. Pure-click: every decision except intake is an AskUserQuestion.","KeiSeiLab\u002FKeiSeiKit","KeiSeiLab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F283315582?v=4","01M71K2EW81JRFHSGF0T844B32","KeiSei Lab","01M71K2EWXTB52KWC65E55S6M2",7,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Ftest-matrix\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"matrix","test matrix","test","fuzzing","load","use","mutation","e2e","tests","ci","decision","testing","intake","mix","pipeline","regression","project","click","target","unit","2026-11-10 10:12:30",false,"---\nname: test-matrix\ndescription: \"Use when a project needs testing BEYOND unit tests — fuzzing, property-based, load, E2E, or mutation. Five-phase hub-and-spoke pipeline composes the right mix per language × critical path × CI target, scaffolds configs + corpus + fixtures, wires CI jobs, and defines the crash\u002Fregression triage workflow. Pure-click: every decision except intake is an AskUserQuestion.\"\nargument-hint: \u003Cfree-text description of what needs testing and why>\n---\n\n# \u002Ftest-matrix — Testing beyond unit tests (index)\n\n## When to use\n\n- A project needs testing beyond unit tests: fuzzing, property-based, load, E2E, or mutation testing.\n- At project kickoff or when coverage gaps span multiple test paradigms across the stack.\n- Use `\u002Ftest-matrix` for project-wide strategy; use `\u002Ftest-gen` for per-function unit tests.\n\nYou are designing a **testing matrix** for a project that already has (or\nshould have) unit-test coverage via `\u002Ftest-gen`. This skill owns the\northogonal axes:\n\n- **Fuzzing** — input-space exploration at boundaries (parsers, deserializers, crypto)\n- **Property-based** — invariants verified over generated inputs (pure functions, data structures)\n- **Load** — SLO assertion under traffic (`k6`\u002F`vegeta`\u002F`oha`, baseline→profile→fix)\n- **E2E** — browser-driven critical journeys (Playwright, page objects, trace viewer)\n- **Mutation** — test-suite quality verification (mutmut \u002F cargo-mutants \u002F StrykerJS)\n\n**Not duplicated here:** happy-path \u002F edge \u002F error unit tests (`\u002Ftest-gen`\nowns those). This skill links rather than re-implements.\n\nThis `SKILL.md` is the INDEX. Each phase lives in its own file, executed in\norder. Never skip, never re-order.\n\n---\n\n## Pipeline overview (5 phases + final report)\n\n| Phase | File | Purpose | AskUserQuestion count |\n|---|---|---|---:|\n| 1 | [phase-1-intake.md](phase-1-intake.md) | Language(s), coverage baseline, critical paths, CI target | 1× (multi-part) |\n| 2 | [phase-2-matrix.md](phase-2-matrix.md) | Select test types × languages matrix | 1× multi-select |\n| 3 | [phase-3-scaffold.md](phase-3-scaffold.md) | Generate config + corpus + fixtures per selected cell | 1× per cell |\n| 4 | [phase-4-ci-wire.md](phase-4-ci-wire.md) | CI job per test type; artifacts; failure policy | 1× multi-select |\n| 5 | [phase-5-triage.md](phase-5-triage.md) | Crash + regression triage workflow | 1× |\n\nMinimum AskUserQuestion count across a full session: **5** (one per phase).\nHigher when Phase 3 expands per selected cell. This is the pure-click\ncontract.\n\n---\n\n## Variables the pipeline produces\n\n| Name | Set in | Meaning |\n|---|---|---|\n| `LANGS` | Phase 1 | Languages in scope (Rust \u002F Python \u002F JS-TS \u002F Go \u002F Swift \u002F Flutter — multi) |\n| `COVERAGE` | Phase 1 | Baseline unit-test coverage % (or \"unknown\") |\n| `CRITICAL` | Phase 1 | Critical paths: auth \u002F payment \u002F data-integrity \u002F perf \u002F untrusted-input |\n| `CI` | Phase 1 | github-actions \u002F forgejo-actions \u002F self-hosted \u002F none |\n| `MATRIX` | Phase 2 | Set of (test-type × language) cells to scaffold |\n| `SCAFFOLDED` | Phase 3 | Files written per cell (paths + corpus seeds) |\n| `CI_JOBS` | Phase 4 | CI workflow entries added per cell |\n| `TRIAGE_DOC` | Phase 5 | Path to `docs\u002Ftesting\u002Ftriage.md` (or project-local equivalent) |\n\n---\n\n## Final report (emit after Phase 5)\n\n```\n=== TEST-MATRIX REPORT ===\nLanguages:        \u003CLANGS>\nCoverage (unit):  \u003CCOVERAGE>\nCritical paths:   \u003CCRITICAL>\nMatrix cells:     \u003Ccount> — \u003Clist (type × lang)>\nFiles written:    \u003Ccount> (configs + corpus + fixtures)\nCI jobs added:    \u003Ccount> (\u003Cper-type failure policy>)\nTriage doc:       \u003CTRIAGE_DOC>\nNext action:      Run \u003Ccmd> locally to verify the scaffold, then commit.\n```\n\n---\n\n## Rules (apply throughout)\n\n- **Pure-click contract.** Only the Phase 1 intake paragraph is free text.\n  Everything else is `AskUserQuestion`. Count in the final report.\n- **NO DOWNGRADE (RULE -1).** If a language × type cell has no good tool,\n  return 2-3 constructive paths, never \"not supported\".\n- **NO HALLUCINATION (RULE 0.4).** Every tool \u002F library cited must exist\n  and be current. When in doubt, mark `[UNVERIFIED — verify release page]`\n  and surface in the report.\n- **Plan Mode First (RULE 0.5).** This skill IS the plan; no writes before\n  the corresponding phase's confirm click.\n- **Constructor Pattern (RULE ZERO).** Block files (`_blocks\u002Ftest-*.md`)\n  stay ≤ 60 LOC. This SKILL.md ≤ 200 LOC; phase files ≤ 150 LOC each.\n- **Surgical Changes.** Writes only to:\n  - `\u003Crepo>\u002Ftests\u002F`, `\u003Crepo>\u002Ffuzz\u002F`, `\u003Crepo>\u002Fe2e\u002F`, `\u003Crepo>\u002Fload\u002F`\n  - `\u003Crepo>\u002F.github\u002Fworkflows\u002F` or `\u003Crepo>\u002F.forgejo\u002Fworkflows\u002F`\n  - `\u003Crepo>\u002Fdocs\u002Ftesting\u002Ftriage.md`\n  - No writes to `_blocks\u002F` here (that's `compose-solution`'s Phase 6).\n- **No duplication with `\u002Ftest-gen`.** If the user really wants unit-test\n  generation, Phase 1 detects it and hands off immediately.\n\n---\n\n## References\n\n- [phase-1-intake.md](phase-1-intake.md) · [phase-2-matrix.md](phase-2-matrix.md) · [phase-3-scaffold.md](phase-3-scaffold.md) · [phase-4-ci-wire.md](phase-4-ci-wire.md) · [phase-5-triage.md](phase-5-triage.md)\n- `skills\u002Ftest-gen\u002FSKILL.md` — unit-test generation (happy \u002F edge \u002F error).\n  Phase 1 hands off there if intake reveals unit-test gap, not matrix gap.\n- `_blocks\u002Ftest-fuzz.md` · `_blocks\u002Ftest-property.md` · `_blocks\u002Ftest-load.md` · `_blocks\u002Ftest-e2e.md` — per-paradigm reference blocks, composable into manifests.\n- `_blocks\u002Frule-test-first.md` — TDD \u002F tests-with-code discipline (inherited).\n- `skills\u002Fcompose-solution\u002FSKILL.md` — if you need a NEW block (e.g. mutation-specific), hand off there (Phase 6 block-augment).\n","# \u002Ftest-matrix — Testing beyond unit tests (index)\n\n## When to use\n\n- A project needs testing beyond unit tests: fuzzing, property-based, load, E2E, or mutation testing.\n- At project kickoff or when coverage gaps span multiple test paradigms across the stack.\n- Use `\u002Ftest-matrix` for project-wide strategy; use `\u002Ftest-gen` for per-function unit tests.\n\nYou are designing a **testing matrix** for a project that already has (or\nshould have) unit-test coverage via `\u002Ftest-gen`. This skill owns the\northogonal axes:\n\n- **Fuzzing** — input-space exploration at boundaries (parsers, deserializers, crypto)\n- **Property-based** — invariants verified over generated inputs (pure functions, data structures)\n- **Load** — SLO assertion under traffic (`k6`\u002F`vegeta`\u002F`oha`, baseline→profile→fix)\n- **E2E** — browser-driven critical journeys (Playwright, page objects, trace viewer)\n- **Mutation** — test-suite quality verification (mutmut \u002F cargo-mutants \u002F StrykerJS)\n\n**Not duplicated here:** happy-path \u002F edge \u002F error unit tests (`\u002Ftest-gen`\nowns those). This skill links rather than re-implements.\n\nThis `SKILL.md` is the INDEX. Each phase lives in its own file, executed in\norder. Never skip, never re-order.\n\n---\n\n## Pipeline overview (5 phases + final report)\n\n| Phase | File | Purpose | AskUserQuestion count |\n|---|---|---|---:|\n| 1 | [phase-1-intake.md](phase-1-intake.md) | Language(s), coverage baseline, critical paths, CI target | 1× (multi-part) |\n| 2 | [phase-2-matrix.md](phase-2-matrix.md) | Select test types × languages matrix | 1× multi-select |\n| 3 | [phase-3-scaffold.md](phase-3-scaffold.md) | Generate config + corpus + fixtures per selected cell | 1× per cell |\n| 4 | [phase-4-ci-wire.md](phase-4-ci-wire.md) | CI job per test type; artifacts; failure policy | 1× multi-select |\n| 5 | [phase-5-triage.md](phase-5-triage.md) | Crash + regression triage workflow | 1× |\n\nMinimum AskUserQuestion count across a full session: **5** (one per phase).\nHigher when Phase 3 expands per selected cell. This is the pure-click\ncontract.\n\n---\n\n## Variables the pipeline produces\n\n| Name | Set in | Meaning |\n|---|---|---|\n| `LANGS` | Phase 1 | Languages in scope (Rust \u002F Python \u002F JS-TS \u002F Go \u002F Swift \u002F Flutter — multi) |\n| `COVERAGE` | Phase 1 | Baseline unit-test coverage % (or \"unknown\") |\n| `CRITICAL` | Phase 1 | Critical paths: auth \u002F payment \u002F data-integrity \u002F perf \u002F untrusted-input |\n| `CI` | Phase 1 | github-actions \u002F forgejo-actions \u002F self-hosted \u002F none |\n| `MATRIX` | Phase 2 | Set of (test-type × language) cells to scaffold |\n| `SCAFFOLDED` | Phase 3 | Files written per cell (paths + corpus seeds) |\n| `CI_JOBS` | Phase 4 | CI workflow entries added per cell |\n| `TRIAGE_DOC` | Phase 5 | Path to `docs\u002Ftesting\u002Ftriage.md` (or project-local equivalent) |\n\n---\n\n## Final report (emit after Phase 5)\n\n```\n=== TEST-MATRIX REPORT ===\nLanguages:        \u003CLANGS>\nCoverage (unit):  \u003CCOVERAGE>\nCritical paths:   \u003CCRITICAL>\nMatrix cells:     \u003Ccount> — \u003Clist (type × lang)>\nFiles written:    \u003Ccount> (configs + corpus + fixtures)\nCI jobs added:    \u003Ccount> (\u003Cper-type failure policy>)\nTriage doc:       \u003CTRIAGE_DOC>\nNext action:      Run \u003Ccmd> locally to verify the scaffold, then commit.\n```\n\n---\n\n## Rules (apply throughout)\n\n- **Pure-click contract.** Only the Phase 1 intake paragraph is free text.\n  Everything else is `AskUserQuestion`. Count in the final report.\n- **NO DOWNGRADE (RULE -1).** If a language × type cell has no good tool,\n  return 2-3 constructive paths, never \"not supported\".\n- **NO HALLUCINATION (RULE 0.4).** Every tool \u002F library cited must exist\n  and be current. When in doubt, mark `[UNVERIFIED — verify release page]`\n  and surface in the report.\n- **Plan Mode First (RULE 0.5).** This skill IS the plan; no writes before\n  the corresponding phase's confirm click.\n- **Constructor Pattern (RULE ZERO).** Block files (`_blocks\u002Ftest-*.md`)\n  stay ≤ 60 LOC. This SKILL.md ≤ 200 LOC; phase files ≤ 150 LOC each.\n- **Surgical Changes.** Writes only to:\n  - `\u003Crepo>\u002Ftests\u002F`, `\u003Crepo>\u002Ffuzz\u002F`, `\u003Crepo>\u002Fe2e\u002F`, `\u003Crepo>\u002Fload\u002F`\n  - `\u003Crepo>\u002F.github\u002Fworkflows\u002F` or `\u003Crepo>\u002F.forgejo\u002Fworkflows\u002F`\n  - `\u003Crepo>\u002Fdocs\u002Ftesting\u002Ftriage.md`\n  - No writes to `_blocks\u002F` here (that's `compose-solution`'s Phase 6).\n- **No duplication with `\u002Ftest-gen`.** If the user really wants unit-test\n  generation, Phase 1 detects it and hands off immediately.\n\n---\n\n## References\n\n- [phase-1-intake.md](phase-1-intake.md) · [phase-2-matrix.md](phase-2-matrix.md) · [phase-3-scaffold.md](phase-3-scaffold.md) · [phase-4-ci-wire.md](phase-4-ci-wire.md) · [phase-5-triage.md](phase-5-triage.md)\n- `skills\u002Ftest-gen\u002FSKILL.md` — unit-test generation (happy \u002F edge \u002F error).\n  Phase 1 hands off there if intake reveals unit-test gap, not matrix gap.\n- `_blocks\u002Ftest-fuzz.md` · `_blocks\u002Ftest-property.md` · `_blocks\u002Ftest-load.md` · `_blocks\u002Ftest-e2e.md` — per-paradigm reference blocks, composable into manifests.\n- `_blocks\u002Frule-test-first.md` — TDD \u002F tests-with-code discipline (inherited).\n- `skills\u002Fcompose-solution\u002FSKILL.md` — if you need a NEW block (e.g. mutation-specific), hand off there (Phase 6 block-augment).\n",{"name":5,"description":7,"argument-hint":49},"\u003Cfree-text description of what needs testing and why>","main","32e85218a997294f68da27ff3dfd638196186ae5","skills\u002Ftest-matrix",8,"https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit","https:\u002F\u002Fgithub.com\u002FKeiSeiLab","2026-10-11 11:17:46",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add KeiSeiLab\u002FKeiSeiKit --skill test-matrix",{"tool":63,"command":64},"bunx","bunx skills add KeiSeiLab\u002FKeiSeiKit --skill test-matrix",{"tool":66,"command":67},"pnpm","pnpm dlx skills add KeiSeiLab\u002FKeiSeiKit --skill test-matrix","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Ftest-matrix\u002FSKILL.md",true,[71,77,81,85,89],{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"phase-1-intake.md","REFERENCE","参考文档",4091,"https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Ftest-matrix\u002Fphase-1-intake.md",{"path":78,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":79,"sourceHtmlUrl":80},"phase-2-matrix.md",3364,"https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Ftest-matrix\u002Fphase-2-matrix.md",{"path":82,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":83,"sourceHtmlUrl":84},"phase-3-scaffold.md",3557,"https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Ftest-matrix\u002Fphase-3-scaffold.md",{"path":86,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":87,"sourceHtmlUrl":88},"phase-4-ci-wire.md",4158,"https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Ftest-matrix\u002Fphase-4-ci-wire.md",{"path":90,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":91,"sourceHtmlUrl":92},"phase-5-triage.md",2601,"https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Ftest-matrix\u002Fphase-5-triage.md",[94,124,148,181,208,224],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":103,"publishedAt":44},"01M71K887N78V089XR5BWT0JAV","wave-audit","3-wave parallel audit — Wave 1 discovery (4 agents), Wave 2 verification (4 agents), Wave 3 cross-optimization (1 synthesizer). Each wave runs agents in parallel. Combines security review, runtime analysis, quality check, and constructor pattern into one unified workflow with evidence grading and Go\u002FNo-Go verdict.","https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Fwave-audit\u002FSKILL.md",[100],{"categoryNo":101,"categoryName":102,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123],"wave audit","audit","unified workflow","workflow","analysis","review","verification","security review","pattern","grading","go","security","parallel","evidence","runtime","quality check","discovery","Optimization","one","check",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":44},"01M71K85100JQS4Y10EGCTWQXW","vm-provision","End-to-end VPS provisioning — select provider → plan → provision → harden → verify (ssh-check + firewall-diff hard-gate) → handoff. 6 phases, ≥6 AskUserQuestion calls, defensive-only. Stops if either verification primitive fails.","https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Fvm-provision\u002FSKILL.md",[],[131,132,133,134,135,136,137,138,139,140,122,141,142,123,110,143,144,145,146,147],"vm","vm provision","firewall","diff","provider","select","end","calls","only","either","api","hetzner","plan","defensive","verify","intent","line",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":152,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":163,"publishedAt":44},"01M71K80ZRH2H5ES83QS97BB91","visual-explainer","Generate beautiful, self-contained HTML pages that visually explain systems, code changes, plans, and data. Use when the user asks for a diagram, architecture overview, diff review, plan review, project recap, comparison table, or any visual explanation of technical concepts. Also use proactively when you are about to render a complex ASCII table (4+ rows or 3+ columns) — present it as a styled HTML page instead.","MIT","https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Fvisual-explainer\u002FSKILL.md",[155,158],{"categoryNo":156,"categoryName":157,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":159,"categoryName":160,"taxonomyType":161,"taxonomyTypeDesc":162},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[164,165,166,40,167,168,169,170,143,171,172,173,174,175,176,177,178,179,180,29],"visual","visual explainer","explainer","files","image","you","architecture","generate","present","concepts","table","as","view","for","ascii table","ascii","surf",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":190,"publishedAt":44},"01M71K7VSD5ZWN26QJEC4T0770","video-gen","Use when generating video from frame sequences — FFmpeg extraction, WebP\u002FAVIF conversion, sprite sheets, scroll-synced playback, video encoding\u002Ftranscoding. Covers the full pipeline from video source to web-ready frame sequence or optimized video.","https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Fvideo-gen\u002FSKILL.md",[187],{"categoryNo":188,"categoryName":189,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[191,192,193,194,38,195,196,197,198,199,168,200,201,202,203,204,205,206,207,42],"Video","gen","video gen","ready","default","generated","synced","false","when","conversion","directory","sequences","sequence","source","full","path","webp",{"skillNo":209,"name":210,"nameZh":6,"description":211,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":212,"categories":213,"keywords":215,"publishedAt":44},"01M71K7N3ZY9FMMH3CSE1H8K5J","test-gen","Use when generating tests for untested code — happy path, edge cases, error handling","https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Ftest-gen\u002FSKILL.md",[214],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[216,192,26,217,42,177,218,32,219,29,199,220,221,222,223,206],"test gen","error","true","edge","file","code","error handling","name",{"skillNo":225,"name":226,"nameZh":6,"description":227,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":228,"categories":229,"keywords":231,"publishedAt":44},"01M71K7JZ57GFDT6PA0H1Z1X84","spawn-agent","Prepare a composed Agent-tool invocation via kei-spawn. Click-only wizard — pick role, describe task, set scope. Emits ready-to-paste prompt + subagent_type + isolation + DNA.","https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Fspawn-agent\u002FSKILL.md",[230],{"categoryNo":101,"categoryName":102,"taxonomyType":21,"taxonomyTypeDesc":22},[232,233,234,194,41,235,236,237,238,139,239,240,241,242,243,244,245,246,247,248],"spawn agent","spawn","SET","scope","tool","pick","wizard","prompt","subagent","task","type","DNA","via","paste","describe","role","prepare"]