[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JGTQ2R4T3EWSDYE41AMJFR":3,"skill-same:01M6JGTQ2R4T3EWSDYE41AMJFR":67},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6JGTQ2R4T3EWSDYE41AMJFR","gate-guardian",null,"Run the full pre-push gate, then classify every failure as ENVIRONMENT_ROT,\nCODE_REGRESSION, PRE_EXISTING, or UNKNOWN by matching against\n.claude\u002Frules\u002Fgate-playbook.md. Auto-applies the playbook remedy for\nenvironment rot and re-runs only the affected task; bisects and reports code\nregressions without reverting; root-causes unknowns from scratch and appends a\nnew playbook entry so the fix becomes permanent knowledge.\nUse when the gate is red, before a release, when CI fails but local passes (or\nvice versa), or when the user asks to \"keep the repo green\", \"run the\nguardian\", or \"triage the gate\".","ancyloce\u002Fanvilkit-studio","ancyloce","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F103255835?v=4","01M6JGS0GSF9KTQE3VS6HA5FZ2","Ancyloce","01M6JGS0NK83XM8EJYT39C39CD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fancyloce\u002Fanvilkit-studio\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgate-guardian\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"gate guardian","guardian","gate","auto","Existing","for","re","as","local","green","only","push","use","environment","fix","repo","Rules","regression","knowledge","ci","2026-11-10 10:12:30",false,"---\nname: gate-guardian\ndescription: |\n  Run the full pre-push gate, then classify every failure as ENVIRONMENT_ROT,\n  CODE_REGRESSION, PRE_EXISTING, or UNKNOWN by matching against\n  .claude\u002Frules\u002Fgate-playbook.md. Auto-applies the playbook remedy for\n  environment rot and re-runs only the affected task; bisects and reports code\n  regressions without reverting; root-causes unknowns from scratch and appends a\n  new playbook entry so the fix becomes permanent knowledge.\n  Use when the gate is red, before a release, when CI fails but local passes (or\n  vice versa), or when the user asks to \"keep the repo green\", \"run the\n  guardian\", or \"triage the gate\".\n---\n\n# Gate Guardian\n\nKeeps the repo green and **learns from every failure**. The playbook\n(`.claude\u002Frules\u002Fgate-playbook.md`) is the memory; this skill is the loop.\n\nRead the playbook first, every run. It is the classifier's only ruleset.\n\n---\n\n## Hard rules — violating any of these is a failed run\n\n1. **Never delete `.next` or any `dist\u002F` while a dev server or watcher is live.**\n   Check first, every time:\n   ```sh\n   ss -tlnp | grep -E ':(3000|3100|4000)' || echo \"no dev server\"\n   ps -eo pid,etimes,args --no-headers | grep -E \"next dev|rslib.*watch|vitest --watch\" | grep -v grep\n   ```\n   If anything is alive, stop and report. Deleting a cache under a running server\n   produces a *worse*, more confusing failure than the one being fixed.\n2. **Never regenerate a lockfile without diffing it.**\n   `pnpm install --lockfile-only && git diff pnpm-lock.yaml` — review before\n   accepting. Never `rm pnpm-lock.yaml`.\n3. **Never run workspace-wide codegen when the task is package-scoped.**\n   `apps\u002Fdocs` `generate:api` has no per-package scope and sweeps the whole\n   workspace. If a tool produces out-of-scope diffs anyway, revert them and say so.\n4. **Never auto-revert the user's work.** `CODE_REGRESSION` is reported, never\n   \"fixed\" by discarding changes. Bisecting is read-only.\n5. **Never commit or push.** Hook-enforced; leave everything in the working tree.\n6. **Never claim a stage passed without executing it.** Empty or ambiguous output\n   is a failure, not a pass — re-run and read the summary line.\n7. **Never write a playbook remedy you have not actually run.**\n\n---\n\n## Step 1 — Baseline the environment (before touching anything)\n\nCheap, and it prevents the most common misdiagnosis. Record and report all five:\n\n```sh\ngit status --porcelain          # dirty tree? concurrent-session churn? (GP-012)\ngit log --oneline -5            # foreign commits during this session?\ngit submodule status            # gitlink drift? (GP-009)\npnpm why typescript             # install-order clobber? (GP-005\u002FGP-006)\nss -tlnp | grep -E ':(3000|3100)' || echo \"no dev server\"   # safe to clear caches?\n```\n\nSnapshot `git log --oneline -1` now and re-check it at the end. If it changed,\nanother session committed mid-run — re-baseline before believing any result.\n\n## Step 2 — Run the gate, capture per-task output\n\n```sh\npnpm gate:full > \u002Ftmp\u002Fgate-guardian.log 2>&1; echo \"EXIT=$?\" >> \u002Ftmp\u002Fgate-guardian.log\n```\n\n**Never pipe the gate through `tail`\u002F`head`\u002F`grep`** — the pipeline's exit code\nreplaces pnpm's and a red run reports green. Redirect to a file, then read it.\n\nExtract the per-task verdict:\n\n```sh\ntr -d '\\000' \u003C \u002Ftmp\u002Fgate-guardian.log | grep -aE \"Tasks:.*(successful|total)|Failed:|EXIT=\"\n```\n\nIf `gate:full` is too slow for the situation, `pnpm gate:quick`\n(`typecheck → lint → test`) is the fast path; say which one you ran.\n\n## Step 3 — Classify every failure\n\nFor each failing task, in this order:\n\n1. **Cascade check.** Per GP-006, some failures cascade — only the first is real\n   and the rest are SIGINT noise. Identify the first genuine failure before\n   triaging the tail.\n2. **Match the playbook.** Test the task's error output against each entry's\n   signature regex. First match wins; record the entry ID.\n3. **Check `PRE_EXISTING`** (GP-013) — if it is on that list, confirm it still\n   reproduces, then stop. Not yours.\n4. **No match → `UNKNOWN`.** Go to Step 6.\n\nDistinguishing `ENVIRONMENT_ROT` from `CODE_REGRESSION` when nothing matches:\n\n| Ask | Environment rot | Code regression |\n| --- | --- | --- |\n| Do the failing files appear in `git status`? | no | usually yes |\n| Does the package pass **in isolation**? | yes (GP-010) | no |\n| Is the failure timing-shaped (~5 s, exit 134, EADDRINUSE)? | yes | no |\n| Does it reproduce on a clean, stashless tree? | yes | no |\n\nThe isolation re-run is the single highest-value probe — run it before theorising.\n\n## Step 4 — ENVIRONMENT_ROT → auto-remedy, then re-run only that task\n\nApply the entry's remedy verbatim, honouring the hard rules (especially the\nlive-process check before any cache deletion). Then re-run **only** the affected\ntask, not the whole gate:\n\n```sh\npnpm --filter \u003Cpkg> \u003Ctask>\n```\n\nIf it goes green, record `remedied`. If the same remedy fails **twice**, stop\nauto-applying and escalate to `UNKNOWN` — a remedy that does not work means the\nsignature matched the wrong cause.\n\n## Step 5 — CODE_REGRESSION → bisect, report, do not fix\n\nRead-only. Identify the smallest change that introduces it:\n\n```sh\ngit log --oneline -20 -- \u003Cfailing path>\ngit diff HEAD -- \u003Cfailing path>\n```\n\nIf the working tree is dirty, the suspect is almost certainly uncommitted work —\nname the file and the hunk. Only use `git bisect` when the regression is already\ncommitted and the range is non-trivial; never bisect across a dirty tree.\n\nReport: the failing task, the offending change, the evidence, and a proposed fix.\nThen stop. The user decides.\n\n## Step 6 — UNKNOWN → root-cause, then teach the playbook\n\n1. Reproduce in isolation (`pnpm --filter \u003Cpkg> \u003Ctask>`). Does it still fail?\n2. Front-load environment triage — work `## Environment Hygiene` in `CLAUDE.md`\n   before reading application code. In this repo the root cause is environmental\n   more often than not.\n3. Form one hypothesis, test it, discard it if wrong. Do not stack theories.\n4. Once solved and the remedy is **actually run and verified**, append a new entry\n   to `.claude\u002Frules\u002Fgate-playbook.md` using the template at the bottom of that\n   file: next free `GP-0NN`, class, confidence, regex-matchable signature, root\n   cause, remedy commands, verification command, date, observed instance.\n\nAn `UNKNOWN` that is solved but not written down is a failed run — the next\nsession pays for it again.\n\n## Step 7 — Report\n\nEmit one table, most severe first:\n\n| Task | Verdict | Playbook | Action taken | Now |\n| --- | --- | --- | --- | --- |\n| `pkg#task` | ENVIRONMENT_ROT | GP-001 | cleared `.next`, re-ran | green |\n\nThen state, explicitly:\n\n- The exact gate command run and its **real** exit code.\n- The pass\u002Ffail count **from this run's output** — never carried over from a\n  previous run. Turbo's totals vary with which packages changed.\n- Every playbook entry added or amended.\n- Anything left red, and why it was not fixed.\n- Any file touched outside the requested scope.\n\nIf nothing was red: say the gate is green, give the counts, and stop. Do not\ninvent work.\n","# Gate Guardian\n\nKeeps the repo green and **learns from every failure**. The playbook\n(`.claude\u002Frules\u002Fgate-playbook.md`) is the memory; this skill is the loop.\n\nRead the playbook first, every run. It is the classifier's only ruleset.\n\n---\n\n## Hard rules — violating any of these is a failed run\n\n1. **Never delete `.next` or any `dist\u002F` while a dev server or watcher is live.**\n   Check first, every time:\n   ```sh\n   ss -tlnp | grep -E ':(3000|3100|4000)' || echo \"no dev server\"\n   ps -eo pid,etimes,args --no-headers | grep -E \"next dev|rslib.*watch|vitest --watch\" | grep -v grep\n   ```\n   If anything is alive, stop and report. Deleting a cache under a running server\n   produces a *worse*, more confusing failure than the one being fixed.\n2. **Never regenerate a lockfile without diffing it.**\n   `pnpm install --lockfile-only && git diff pnpm-lock.yaml` — review before\n   accepting. Never `rm pnpm-lock.yaml`.\n3. **Never run workspace-wide codegen when the task is package-scoped.**\n   `apps\u002Fdocs` `generate:api` has no per-package scope and sweeps the whole\n   workspace. If a tool produces out-of-scope diffs anyway, revert them and say so.\n4. **Never auto-revert the user's work.** `CODE_REGRESSION` is reported, never\n   \"fixed\" by discarding changes. Bisecting is read-only.\n5. **Never commit or push.** Hook-enforced; leave everything in the working tree.\n6. **Never claim a stage passed without executing it.** Empty or ambiguous output\n   is a failure, not a pass — re-run and read the summary line.\n7. **Never write a playbook remedy you have not actually run.**\n\n---\n\n## Step 1 — Baseline the environment (before touching anything)\n\nCheap, and it prevents the most common misdiagnosis. Record and report all five:\n\n```sh\ngit status --porcelain          # dirty tree? concurrent-session churn? (GP-012)\ngit log --oneline -5            # foreign commits during this session?\ngit submodule status            # gitlink drift? (GP-009)\npnpm why typescript             # install-order clobber? (GP-005\u002FGP-006)\nss -tlnp | grep -E ':(3000|3100)' || echo \"no dev server\"   # safe to clear caches?\n```\n\nSnapshot `git log --oneline -1` now and re-check it at the end. If it changed,\nanother session committed mid-run — re-baseline before believing any result.\n\n## Step 2 — Run the gate, capture per-task output\n\n```sh\npnpm gate:full > \u002Ftmp\u002Fgate-guardian.log 2>&1; echo \"EXIT=$?\" >> \u002Ftmp\u002Fgate-guardian.log\n```\n\n**Never pipe the gate through `tail`\u002F`head`\u002F`grep`** — the pipeline's exit code\nreplaces pnpm's and a red run reports green. Redirect to a file, then read it.\n\nExtract the per-task verdict:\n\n```sh\ntr -d '\\000' \u003C \u002Ftmp\u002Fgate-guardian.log | grep -aE \"Tasks:.*(successful|total)|Failed:|EXIT=\"\n```\n\nIf `gate:full` is too slow for the situation, `pnpm gate:quick`\n(`typecheck → lint → test`) is the fast path; say which one you ran.\n\n## Step 3 — Classify every failure\n\nFor each failing task, in this order:\n\n1. **Cascade check.** Per GP-006, some failures cascade — only the first is real\n   and the rest are SIGINT noise. Identify the first genuine failure before\n   triaging the tail.\n2. **Match the playbook.** Test the task's error output against each entry's\n   signature regex. First match wins; record the entry ID.\n3. **Check `PRE_EXISTING`** (GP-013) — if it is on that list, confirm it still\n   reproduces, then stop. Not yours.\n4. **No match → `UNKNOWN`.** Go to Step 6.\n\nDistinguishing `ENVIRONMENT_ROT` from `CODE_REGRESSION` when nothing matches:\n\n| Ask | Environment rot | Code regression |\n| --- | --- | --- |\n| Do the failing files appear in `git status`? | no | usually yes |\n| Does the package pass **in isolation**? | yes (GP-010) | no |\n| Is the failure timing-shaped (~5 s, exit 134, EADDRINUSE)? | yes | no |\n| Does it reproduce on a clean, stashless tree? | yes | no |\n\nThe isolation re-run is the single highest-value probe — run it before theorising.\n\n## Step 4 — ENVIRONMENT_ROT → auto-remedy, then re-run only that task\n\nApply the entry's remedy verbatim, honouring the hard rules (especially the\nlive-process check before any cache deletion). Then re-run **only** the affected\ntask, not the whole gate:\n\n```sh\npnpm --filter \u003Cpkg> \u003Ctask>\n```\n\nIf it goes green, record `remedied`. If the same remedy fails **twice**, stop\nauto-applying and escalate to `UNKNOWN` — a remedy that does not work means the\nsignature matched the wrong cause.\n\n## Step 5 — CODE_REGRESSION → bisect, report, do not fix\n\nRead-only. Identify the smallest change that introduces it:\n\n```sh\ngit log --oneline -20 -- \u003Cfailing path>\ngit diff HEAD -- \u003Cfailing path>\n```\n\nIf the working tree is dirty, the suspect is almost certainly uncommitted work —\nname the file and the hunk. Only use `git bisect` when the regression is already\ncommitted and the range is non-trivial; never bisect across a dirty tree.\n\nReport: the failing task, the offending change, the evidence, and a proposed fix.\nThen stop. The user decides.\n\n## Step 6 — UNKNOWN → root-cause, then teach the playbook\n\n1. Reproduce in isolation (`pnpm --filter \u003Cpkg> \u003Ctask>`). Does it still fail?\n2. Front-load environment triage — work `## Environment Hygiene` in `CLAUDE.md`\n   before reading application code. In this repo the root cause is environmental\n   more often than not.\n3. Form one hypothesis, test it, discard it if wrong. Do not stack theories.\n4. Once solved and the remedy is **actually run and verified**, append a new entry\n   to `.claude\u002Frules\u002Fgate-playbook.md` using the template at the bottom of that\n   file: next free `GP-0NN`, class, confidence, regex-matchable signature, root\n   cause, remedy commands, verification command, date, observed instance.\n\nAn `UNKNOWN` that is solved but not written down is a failed run — the next\nsession pays for it again.\n\n## Step 7 — Report\n\nEmit one table, most severe first:\n\n| Task | Verdict | Playbook | Action taken | Now |\n| --- | --- | --- | --- | --- |\n| `pkg#task` | ENVIRONMENT_ROT | GP-001 | cleared `.next`, re-ran | green |\n\nThen state, explicitly:\n\n- The exact gate command run and its **real** exit code.\n- The pass\u002Ffail count **from this run's output** — never carried over from a\n  previous run. Turbo's totals vary with which packages changed.\n- Every playbook entry added or amended.\n- Anything left red, and why it was not fixed.\n- Any file touched outside the requested scope.\n\nIf nothing was red: say the gate is green, give the counts, and stop. Do not\ninvent work.\n",{"name":5,"description":7},"main","e4eeaefbd56226a251b228f1beb87a293ab3140a",".claude\u002Fskills\u002Fgate-guardian",1,"https:\u002F\u002Fgithub.com\u002Fancyloce\u002Fanvilkit-studio","http:\u002F\u002Fanvilkit.aiiua.com\u002F","https:\u002F\u002Fgithub.com\u002Fancyloce","🧙‍♂️  Front-end mage with a secret back-end talent. \r\n🔮  Fluent in React, Vue, Go, and Rust.\r\n📚  Book addict and  🎵  music lover. Let's create some  ✨ magic","2026-11-01 10:38:50",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add ancyloce\u002Fanvilkit-studio --skill gate-guardian",{"tool":59,"command":60},"bunx","bunx skills add ancyloce\u002Fanvilkit-studio --skill gate-guardian",{"tool":62,"command":63},"pnpm","pnpm dlx skills add ancyloce\u002Fanvilkit-studio --skill gate-guardian","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fancyloce\u002Fanvilkit-studio\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgate-guardian\u002FSKILL.md",true,[],[68,97,117,137,159,165],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":79,"publishedAt":39},"01M6JGVQAQWDRDT2CAQ2VH7D9V","react-doctor","Use when finishing a feature, fixing a bug, before committing React code, or when the user types `\u002Fdoctor`, asks to scan, triage, or clean up React diagnostics. Covers lint, accessibility, bundle size, architecture. Includes a regression check and a full local-triage workflow that fetches the canonical playbook.","https:\u002F\u002Fgithub.com\u002Fancyloce\u002Fanvilkit-studio\u002Fblob\u002Fmain\u002Fpackages\u002Fruntime\u002Fcore\u002F.claude\u002Fskills\u002Freact-doctor\u002FSKILL.md",[74],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",[80,81,82,83,84,85,86,87,36,88,89,31,90,91,92,93,27,94,95,96],"react","doctor","react doctor","workflow","architecture","lint","code","playbook","bundle size","check","regression check","up","clean","scan","feature","types","size",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":39},"01M6JGVJ7H21GFHTJ57RBWC6C1","review-remediate","Use for the review-then-fix-everything loop on a package or diff — deliver a grounded review report immediately (no scoping questions, no plan-approval), then remediate every finding as tracked numbered items, gating each batch on typecheck\u002Flint\u002Ftest\u002Fbuild plus an independent Codex pass until clean. Trigger on \"review and fix \u003Cpackage>\", \"remediate the review\", \"review-fix-verify\", or when the user wants a deep review followed by autonomous remediation. Distinct from gstack `review` (pre-landing PR review) and `code-review` (diff only) — this reviews from scratch AND fixes to green.","https:\u002F\u002Fgithub.com\u002Fancyloce\u002Fanvilkit-studio\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Freview-remediate\u002FSKILL.md",[],[104,105,106,107,108,109,33,110,31,111,29,92,28,112,26,113,114,24,115,116],"review","review remediate","pr review","pr","package","autonomous","landing","diff","deep","trigger","reviews","fixes","review report",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":39},"01M6JGVDZD39P3Q97XGQPTTKQN","review-fixes","Close out an EXISTING code-review findings report — one subagent per finding, each with a regression test — then regenerate EN\u002Fzh\u002Fja\u002Fko docs, run all gates, and verify no stale or unexported symbols remain. Trigger on \"\u002Freview-fixes\", \"fix all N review findings\", \"close the review findings\", or when the user hands over a findings report to remediate. Distinct from review-remediate, which produces the review itself first — this skill starts from a report that already exists.","https:\u002F\u002Fgithub.com\u002Fancyloce\u002Fanvilkit-studio\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Freview-fixes\u002FSKILL.md",[],[104,115,124,125,86,126,127,128,129,36,33,130,131,132,133,113,134,135,136,23],"review fixes","test","code-review","first","verify","subagent","regression test","en","zh","gates","with","review findings","which",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":39},"01M6JGV8J3ZRFGCXR2W3Q9ZWYK","release-prep","Pre-release verification + go\u002Fno-go checklist for publishing @anvilkit packages. Detects the release surface (main workspace fixed-group vs components submodule), runs changeset status and the check:all release gates, enforces this repo's publish gotchas (version.ts drift, ui peer ranges, never-publish canvas-templates, bundle\u002Fapi-snapshot), then hands the exact publish command to the user. Use when asked to \"prep a release\", \"check release readiness\", \"\u002Frelease-prep\", or before cutting a version. Does NOT commit or publish.","https:\u002F\u002Fgithub.com\u002Fancyloce\u002Fanvilkit-studio\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Frelease-prep\u002FSKILL.md",[],[144,145,146,147,148,149,150,151,152,34,31,153,154,155,156,44,157,133,158,24],"release","prep","release prep","canvas","components","commit","api","Bash","changeset","version","never","publishing","peer","drift","true",{"skillNo":160,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":164,"publishedAt":39},"01M6JGV33MBTTHMZ1SNJZHAA6H","https:\u002F\u002Fgithub.com\u002Fancyloce\u002Fanvilkit-studio\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Freact-doctor\u002FSKILL.md",[163],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},[80,81,82,83,84,85,86,87,36,88,89,31,90,91,92,93,27,94,95,96],{"skillNo":166,"name":167,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":173,"publishedAt":39},"01M6JGV1KQAFYH6ZQ864ZBCVVH","pre-refactor","https:\u002F\u002Fgithub.com\u002Fancyloce\u002Fanvilkit-studio\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fpre-refactor\u002FSKILL.md",[170],{"categoryNo":171,"categoryName":172,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000007","代码审查",[174,175],"refactor","pre refactor"]