[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CARYHC2M5YD2F22CHWQGFD":3,"skill-same:01M6CARYHC2M5YD2F22CHWQGFD":102},{"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":28,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":64,"repositoryHtmlUrl":65,"repositoryHomepageUrl":6,"ownerHtmlUrl":66,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":67,"install":68,"resources":81},"01M6CARYHC2M5YD2F22CHWQGFD","simplify-code",null,"Parallel 3-agent cleanup of recent code changes.","adnichols\u002Fai-configs","adnichols","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F493746?v=4","01M6C33VRY9WF6XWYPT1AFA7JJ","Aaron Nichols","01M6C33VWTNKGRM92E9G643V4W",5,"MIT","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fprofiles\u002Fwriting\u002Fskills\u002Fsoftware-development\u002Fsimplify-code\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"simplify code","code","simplify","code-review","hermes agent","hermes","parallel","subagent","plan","refactor","macos","delegation","cleanup","development","windows","test","linux","review","2026-11-10 10:12:30",false,"---\nname: simplify-code\ndescription: \"Parallel 3-agent cleanup of recent code changes.\"\nversion: 1.0.0\nauthor: Hermes Agent (inspired by Claude Code \u002Fsimplify)\nlicense: MIT\nplatforms: [linux, macos, windows]\nmetadata:\n  hermes:\n    tags: [code-review, cleanup, refactor, delegation, subagent, parallel, simplify]\n    related_skills: [requesting-code-review, test-driven-development, plan]\n---\n\n# Simplify Code — Parallel Review & Cleanup\n\nReview your recent code changes with three focused reviewers running in\nparallel, aggregate their findings, and apply the fixes worth applying.\n\n**Core principle:** Three narrow reviewers beat one broad reviewer. Each one\ndeeply searches the codebase for a single class of problem — reuse, quality,\nefficiency — without diluting its attention across all three. They run\nconcurrently, so you pay the latency of one review, not three.\n\n## When to Use\n\nTrigger this skill when the user says any of:\n\n- \"simplify\" \u002F \"simplify my changes\" \u002F \"simplify these changes\"\n- \"review my code\" \u002F \"review my recent changes\" \u002F \"clean up my changes\"\n- \"\u002Fsimplify\" (if they're carrying the Claude Code habit over)\n\nOptional modifiers the user may add — honor them:\n\n- **Focus:** \"simplify focus on efficiency\" → run only the efficiency reviewer\n  (or weight the aggregation toward it). Recognized focuses: `reuse`,\n  `quality`, `efficiency`.\n- **Dry run:** \"simplify but don't change anything\" \u002F \"just report\" → run the\n  three reviewers, present findings, apply NOTHING. Ask before applying.\n- **Scope:** \"simplify the last commit\" \u002F \"simplify staged\" \u002F \"simplify\n  src\u002Ffoo.py\" → narrow the diff source accordingly (see Phase 1).\n\nDo NOT auto-run this after every edit. It costs three subagents' worth of\ntokens — invoke it only when the user explicitly asks.\n\n## The Process\n\n### Phase 1 — Identify the changes\n\nCapture the diff to review. Pick the source by what the user asked for, in\nthis default order:\n\n```bash\n# 1. Default: uncommitted working-tree changes (tracked files)\ngit diff\n\n# 2. If that's empty, include staged changes\ngit diff HEAD\n\n# 3. Scoped variants the user may request:\ngit diff --staged                 # \"staged changes\"\ngit diff HEAD~1                    # \"the last commit\"\ngit diff main...HEAD              # \"this branch\" \u002F \"my PR\"\ngit diff -- src\u002Ffoo.py            # specific file(s)\n```\n\nIf `git diff` and `git diff HEAD` are both empty and there's no git repo or no\nchanges, fall back to the files the user explicitly named or that were\nrecently created\u002Fedited in this session. If you genuinely can't find any\nchanged code, say so and stop — there's nothing to simplify.\n\nCapture the full diff text. Note its size: if it's very large (say >2000\nchanged lines), warn the user that three subagents each carrying the full diff\nwill be token-heavy, and offer to scope it down (per-directory, per-commit)\nbefore proceeding.\n\n### Phase 2 — Launch three reviewers in parallel\n\nUse `delegate_task` **batch mode** — pass all three tasks in one `tasks`\narray so they run concurrently. Three is the right fan-out for this pattern;\nit's well within the `delegation.max_concurrent_children` budget on any\ndefault install.\n\nGive **every** reviewer the **complete diff** (not fragments — cross-file\nissues hide in the gaps) plus the absolute repo path so they can search the\nwider codebase. Each reviewer gets `terminal`, `file`, and `search`\ntoolsets (so they can `git`, `read_file`, and `search_files`\u002Fgrep).\n\nTell each reviewer to:\n- Search the existing codebase for evidence (don't reason from the diff alone).\n- **Apply Chesterton's Fence:** before flagging anything for removal, run\n  `git blame` on the line to understand why it exists. If you can't determine\n  the original purpose, mark it `confidence: low` — don't guess.\n- Report findings as structured output with confidence and risk:\n  ```\n  file:line → problem → suggested fix | confidence: high\u002Fmedium\u002Flow | risk: SAFE\u002FCAREFUL\u002FRISKY\n  ```\n  - **SAFE** = proven not to affect behavior (unused imports, commented-out\n    code, pass-through wrappers). Auto-apply these.\n  - **CAREFUL** = improves without changing semantics (rename local variable,\n    flatten nested ternary, extract helper). Apply with test verification.\n  - **RISKY** = may change behavior or breaks public contracts (N+1\n    restructuring, public API rename, memory lifecycle change). Flag for\n    human review — do NOT auto-apply.\n- Skip nits and style-only churn. Only flag things that materially improve\n  the code.\n\nPass these three goals (drop any the user's focus excludes):\n\n**Reviewer 1 — Code Reuse**\n> Review this diff for code that duplicates functionality already in the\n> codebase. Search utility modules, shared helpers, and adjacent files\n> (use search_files \u002F grep) for existing functions, constants, or patterns\n> the new code could call instead of reimplementing. Flag: new functions\n> that duplicate existing ones; hand-rolled logic that an existing utility\n> already does (manual string\u002Fpath manipulation, custom env checks, ad-hoc\n> type guards, re-implemented parsing). For each, name the existing thing to\n> use and where it lives.\n\n**Reviewer 2 — Code Quality**\n> Review this diff for quality problems. Look for: redundant state (values\n> that duplicate or could be derived from existing state; caches that don't\n> need to exist); parameter sprawl (new params bolted on where the function\n> should have been restructured); copy-paste-with-variation (near-duplicate\n> blocks that should share an abstraction); leaky abstractions (exposing\n> internals, breaking an existing encapsulation boundary); stringly-typed\n> code (raw strings where a constant\u002Fenum\u002Fregistry already exists — check the\n> canonical registries before flagging); AI-generated slop patterns (extra\n> comments restating obvious code like `\u002F\u002F increment counter` above `count++`;\n> unnecessary defensive null-checks on already-validated inputs; `as any`\n> casts that bypass the type system; patterns inconsistent with the rest of\n> the file). For each, give the concrete refactor.\n\n**Reviewer 3 — Efficiency**\n> Review this diff for efficiency problems. Look for: unnecessary work\n> (redundant computation, repeated file reads, duplicate API calls, N+1\n> access patterns); missed concurrency (independent ops run sequentially);\n> hot-path bloat (heavy\u002Fblocking work on startup or per-request paths);\n> TOCTOU anti-patterns (existence pre-checks before an op instead of doing\n> the op and handling the error); memory issues (unbounded growth, missing\n> cleanup, listener\u002Fhandle leaks); overly broad reads (loading whole files\n> when a slice would do); silent failures (empty catch blocks, ignored error\n> returns, `except: pass`, `.catch(() => {})` with no handling, error\n> propagation gaps — these hide bugs and should at minimum log before\n> swallowing). For each, give the concrete fix and why it's faster or safer.\n\n### Phase 3 — Aggregate and apply\n\nWait for all three to return (batch mode returns them together).\n\n1. **Merge** the findings into one list, deduping where reviewers overlap.\n2. **Discard false positives** — you have the most context; you don't have to\n   argue with a reviewer, just drop weak or wrong suggestions silently.\n3. **Resolve conflicts.** Reviewers can disagree (Reviewer 1: \"use existing\n   util X\"; Reviewer 3: \"X is slow, inline it\"). Default resolution order:\n   **correctness > the user's stated focus > readability\u002Freuse > micro-perf.**\n   Don't apply a perf \"fix\" that hurts clarity unless the path is genuinely\n   hot. When two suggestions are mutually exclusive and both defensible, pick\n   the one that touches less code and note the alternative.\n4. **Apply in risk-tier order:**\n   - **SAFE first** (auto-apply): unused imports, commented-out code,\n     pass-through wrappers, redundant type assertions. Run tests after.\n   - **CAREFUL next** (apply with verification, one file at a time): rename\n     locals, flatten ternaries, extract helpers, consolidate dupes. Run tests\n     after each file. Revert any that break.\n   - **RISKY last** (flag for review — do NOT auto-apply): N+1 restructuring,\n     public API changes, concurrency fixes, error-handling changes. Present\n     each with risk description and test coverage status.\n   If the user opted for a dry run, present all three tiers and apply nothing.\n5. **Verify** you didn't break anything: run the project's targeted tests for\n   the touched files (not the full suite), and re-run any linter\u002Ftype check the\n   repo uses. If a fix breaks a test, revert that one fix and report it.\n6. **Summarize** what you changed: a short list of applied fixes grouped by\n   reviewer category and risk tier, plus any findings you deliberately skipped\n   and why.\n\n## Pitfalls\n\n- **Don't fan out wider than ~3.** More reviewers means more cost and more\n  conflicting suggestions to reconcile, not better coverage. Three categories\n  cover the space.\n- **Give the WHOLE diff to each reviewer.** Splitting the diff across reviewers\n  defeats the design — cross-file duplication and N+1s only show up with the\n  full picture.\n- **Reviewers search, they don't guess.** A reuse finding with no pointer to\n  the existing utility (\"there's probably a helper for this\") is noise. Require\n  `file:line` evidence; drop findings that lack it.\n- **Apply ≠ rewrite.** This is cleanup of the user's recent changes, not a\n  license to refactor the whole module. Keep edits scoped to what the diff\n  touched plus the minimal surrounding change a fix requires.\n- **Respect project conventions.** If the repo has AGENTS.md \u002F CLAUDE.md \u002F\n  HERMES.md or a linter config, fold those rules into the reviewer prompts so\n  suggestions match house style instead of fighting it.\n- **Large diffs blow context.** If the diff is huge, scope it down before\n  delegating — three subagents each carrying a 5000-line diff is expensive and\n  may truncate.\n- **Over-trusting dead code tools.** `knip`, `ts-prune`, and `depcheck` flag\n  exports that ARE used dynamically (string-based imports, reflection). Always\n  grep for the symbol name before removing — a clean tool report is not proof.\n- **Renaming without checking public contracts.** Export names, API route\n  paths, DB column names, and config keys are contracts — even if the name is\n  bad, renaming breaks consumers. Tag public-contract changes as RISKY; never\n  auto-rename them.\n- **Removing \"unnecessary\" error handling.** An empty catch block or ignored\n  error might be intentional — the error is expected and benign in that\n  context. Flag it, don't remove it; let the human decide.\n\n## Related\n\nThis skill is an optional *after-the-fact* cleanup pass. Keep implementation and any accepted cleanup edits in the driving session. Use `requesting-code-review` for the pre-commit security\u002Fquality gate.\n","# Simplify Code — Parallel Review & Cleanup\n\nReview your recent code changes with three focused reviewers running in\nparallel, aggregate their findings, and apply the fixes worth applying.\n\n**Core principle:** Three narrow reviewers beat one broad reviewer. Each one\ndeeply searches the codebase for a single class of problem — reuse, quality,\nefficiency — without diluting its attention across all three. They run\nconcurrently, so you pay the latency of one review, not three.\n\n## When to Use\n\nTrigger this skill when the user says any of:\n\n- \"simplify\" \u002F \"simplify my changes\" \u002F \"simplify these changes\"\n- \"review my code\" \u002F \"review my recent changes\" \u002F \"clean up my changes\"\n- \"\u002Fsimplify\" (if they're carrying the Claude Code habit over)\n\nOptional modifiers the user may add — honor them:\n\n- **Focus:** \"simplify focus on efficiency\" → run only the efficiency reviewer\n  (or weight the aggregation toward it). Recognized focuses: `reuse`,\n  `quality`, `efficiency`.\n- **Dry run:** \"simplify but don't change anything\" \u002F \"just report\" → run the\n  three reviewers, present findings, apply NOTHING. Ask before applying.\n- **Scope:** \"simplify the last commit\" \u002F \"simplify staged\" \u002F \"simplify\n  src\u002Ffoo.py\" → narrow the diff source accordingly (see Phase 1).\n\nDo NOT auto-run this after every edit. It costs three subagents' worth of\ntokens — invoke it only when the user explicitly asks.\n\n## The Process\n\n### Phase 1 — Identify the changes\n\nCapture the diff to review. Pick the source by what the user asked for, in\nthis default order:\n\n```bash\n# 1. Default: uncommitted working-tree changes (tracked files)\ngit diff\n\n# 2. If that's empty, include staged changes\ngit diff HEAD\n\n# 3. Scoped variants the user may request:\ngit diff --staged                 # \"staged changes\"\ngit diff HEAD~1                    # \"the last commit\"\ngit diff main...HEAD              # \"this branch\" \u002F \"my PR\"\ngit diff -- src\u002Ffoo.py            # specific file(s)\n```\n\nIf `git diff` and `git diff HEAD` are both empty and there's no git repo or no\nchanges, fall back to the files the user explicitly named or that were\nrecently created\u002Fedited in this session. If you genuinely can't find any\nchanged code, say so and stop — there's nothing to simplify.\n\nCapture the full diff text. Note its size: if it's very large (say >2000\nchanged lines), warn the user that three subagents each carrying the full diff\nwill be token-heavy, and offer to scope it down (per-directory, per-commit)\nbefore proceeding.\n\n### Phase 2 — Launch three reviewers in parallel\n\nUse `delegate_task` **batch mode** — pass all three tasks in one `tasks`\narray so they run concurrently. Three is the right fan-out for this pattern;\nit's well within the `delegation.max_concurrent_children` budget on any\ndefault install.\n\nGive **every** reviewer the **complete diff** (not fragments — cross-file\nissues hide in the gaps) plus the absolute repo path so they can search the\nwider codebase. Each reviewer gets `terminal`, `file`, and `search`\ntoolsets (so they can `git`, `read_file`, and `search_files`\u002Fgrep).\n\nTell each reviewer to:\n- Search the existing codebase for evidence (don't reason from the diff alone).\n- **Apply Chesterton's Fence:** before flagging anything for removal, run\n  `git blame` on the line to understand why it exists. If you can't determine\n  the original purpose, mark it `confidence: low` — don't guess.\n- Report findings as structured output with confidence and risk:\n  ```\n  file:line → problem → suggested fix | confidence: high\u002Fmedium\u002Flow | risk: SAFE\u002FCAREFUL\u002FRISKY\n  ```\n  - **SAFE** = proven not to affect behavior (unused imports, commented-out\n    code, pass-through wrappers). Auto-apply these.\n  - **CAREFUL** = improves without changing semantics (rename local variable,\n    flatten nested ternary, extract helper). Apply with test verification.\n  - **RISKY** = may change behavior or breaks public contracts (N+1\n    restructuring, public API rename, memory lifecycle change). Flag for\n    human review — do NOT auto-apply.\n- Skip nits and style-only churn. Only flag things that materially improve\n  the code.\n\nPass these three goals (drop any the user's focus excludes):\n\n**Reviewer 1 — Code Reuse**\n> Review this diff for code that duplicates functionality already in the\n> codebase. Search utility modules, shared helpers, and adjacent files\n> (use search_files \u002F grep) for existing functions, constants, or patterns\n> the new code could call instead of reimplementing. Flag: new functions\n> that duplicate existing ones; hand-rolled logic that an existing utility\n> already does (manual string\u002Fpath manipulation, custom env checks, ad-hoc\n> type guards, re-implemented parsing). For each, name the existing thing to\n> use and where it lives.\n\n**Reviewer 2 — Code Quality**\n> Review this diff for quality problems. Look for: redundant state (values\n> that duplicate or could be derived from existing state; caches that don't\n> need to exist); parameter sprawl (new params bolted on where the function\n> should have been restructured); copy-paste-with-variation (near-duplicate\n> blocks that should share an abstraction); leaky abstractions (exposing\n> internals, breaking an existing encapsulation boundary); stringly-typed\n> code (raw strings where a constant\u002Fenum\u002Fregistry already exists — check the\n> canonical registries before flagging); AI-generated slop patterns (extra\n> comments restating obvious code like `\u002F\u002F increment counter` above `count++`;\n> unnecessary defensive null-checks on already-validated inputs; `as any`\n> casts that bypass the type system; patterns inconsistent with the rest of\n> the file). For each, give the concrete refactor.\n\n**Reviewer 3 — Efficiency**\n> Review this diff for efficiency problems. Look for: unnecessary work\n> (redundant computation, repeated file reads, duplicate API calls, N+1\n> access patterns); missed concurrency (independent ops run sequentially);\n> hot-path bloat (heavy\u002Fblocking work on startup or per-request paths);\n> TOCTOU anti-patterns (existence pre-checks before an op instead of doing\n> the op and handling the error); memory issues (unbounded growth, missing\n> cleanup, listener\u002Fhandle leaks); overly broad reads (loading whole files\n> when a slice would do); silent failures (empty catch blocks, ignored error\n> returns, `except: pass`, `.catch(() => {})` with no handling, error\n> propagation gaps — these hide bugs and should at minimum log before\n> swallowing). For each, give the concrete fix and why it's faster or safer.\n\n### Phase 3 — Aggregate and apply\n\nWait for all three to return (batch mode returns them together).\n\n1. **Merge** the findings into one list, deduping where reviewers overlap.\n2. **Discard false positives** — you have the most context; you don't have to\n   argue with a reviewer, just drop weak or wrong suggestions silently.\n3. **Resolve conflicts.** Reviewers can disagree (Reviewer 1: \"use existing\n   util X\"; Reviewer 3: \"X is slow, inline it\"). Default resolution order:\n   **correctness > the user's stated focus > readability\u002Freuse > micro-perf.**\n   Don't apply a perf \"fix\" that hurts clarity unless the path is genuinely\n   hot. When two suggestions are mutually exclusive and both defensible, pick\n   the one that touches less code and note the alternative.\n4. **Apply in risk-tier order:**\n   - **SAFE first** (auto-apply): unused imports, commented-out code,\n     pass-through wrappers, redundant type assertions. Run tests after.\n   - **CAREFUL next** (apply with verification, one file at a time): rename\n     locals, flatten ternaries, extract helpers, consolidate dupes. Run tests\n     after each file. Revert any that break.\n   - **RISKY last** (flag for review — do NOT auto-apply): N+1 restructuring,\n     public API changes, concurrency fixes, error-handling changes. Present\n     each with risk description and test coverage status.\n   If the user opted for a dry run, present all three tiers and apply nothing.\n5. **Verify** you didn't break anything: run the project's targeted tests for\n   the touched files (not the full suite), and re-run any linter\u002Ftype check the\n   repo uses. If a fix breaks a test, revert that one fix and report it.\n6. **Summarize** what you changed: a short list of applied fixes grouped by\n   reviewer category and risk tier, plus any findings you deliberately skipped\n   and why.\n\n## Pitfalls\n\n- **Don't fan out wider than ~3.** More reviewers means more cost and more\n  conflicting suggestions to reconcile, not better coverage. Three categories\n  cover the space.\n- **Give the WHOLE diff to each reviewer.** Splitting the diff across reviewers\n  defeats the design — cross-file duplication and N+1s only show up with the\n  full picture.\n- **Reviewers search, they don't guess.** A reuse finding with no pointer to\n  the existing utility (\"there's probably a helper for this\") is noise. Require\n  `file:line` evidence; drop findings that lack it.\n- **Apply ≠ rewrite.** This is cleanup of the user's recent changes, not a\n  license to refactor the whole module. Keep edits scoped to what the diff\n  touched plus the minimal surrounding change a fix requires.\n- **Respect project conventions.** If the repo has AGENTS.md \u002F CLAUDE.md \u002F\n  HERMES.md or a linter config, fold those rules into the reviewer prompts so\n  suggestions match house style instead of fighting it.\n- **Large diffs blow context.** If the diff is huge, scope it down before\n  delegating — three subagents each carrying a 5000-line diff is expensive and\n  may truncate.\n- **Over-trusting dead code tools.** `knip`, `ts-prune`, and `depcheck` flag\n  exports that ARE used dynamically (string-based imports, reflection). Always\n  grep for the symbol name before removing — a clean tool report is not proof.\n- **Renaming without checking public contracts.** Export names, API route\n  paths, DB column names, and config keys are contracts — even if the name is\n  bad, renaming breaks consumers. Tag public-contract changes as RISKY; never\n  auto-rename them.\n- **Removing \"unnecessary\" error handling.** An empty catch block or ignored\n  error might be intentional — the error is expected and benign in that\n  context. Flag it, don't remove it; let the human decide.\n\n## Related\n\nThis skill is an optional *after-the-fact* cleanup pass. Keep implementation and any accepted cleanup edits in the driving session. Use `requesting-code-review` for the pre-commit security\u002Fquality gate.\n",{"name":5,"author":52,"license":15,"version":53,"metadata":54,"platforms":60,"description":7},"Hermes Agent (inspired by Claude Code \u002Fsimplify)","1.0.0",{"hermes":55},{"tags":56,"related_skills":57},[32,41,38,40,36,35,31],[58,59,37],"requesting-code-review","test-driven-development",[45,39,43],"main","64e2fc9afa7bb3da1138eb73399144d0e7e73e9d","_hermes\u002Fdefault\u002Fprofiles\u002Fwriting\u002Fskills\u002Fsoftware-development\u002Fsimplify-code",4,"https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs","https:\u002F\u002Fgithub.com\u002Fadnichols","2026-11-06 00:28:38",{"source":8,"skillName":5,"commands":69,"prompt":79,"zipAvailable":80},[70,73,76],{"tool":71,"command":72},"npx","npx skills add adnichols\u002Fai-configs --skill simplify-code",{"tool":74,"command":75},"bunx","bunx skills add adnichols\u002Fai-configs --skill simplify-code",{"tool":77,"command":78},"pnpm","pnpm dlx skills add adnichols\u002Fai-configs --skill simplify-code","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fprofiles\u002Fwriting\u002Fskills\u002Fsoftware-development\u002Fsimplify-code\u002FSKILL.md",true,[82,88,92,98],{"path":83,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":86,"sourceHtmlUrl":87},"README.md","REFERENCE","参考文档",8085,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fbrunoasm-biogeobears\u002FREADME.md",{"path":89,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fbiogeobears_details.md",9721,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fbrunoasm-biogeobears\u002Freferences\u002Fbiogeobears_details.md",{"path":93,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":96,"sourceHtmlUrl":97},"scripts\u002Fbiogeobears_analysis_template.Rmd","SCRIPT","脚本",12398,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fbrunoasm-biogeobears\u002Fscripts\u002Fbiogeobears_analysis_template.Rmd",{"path":99,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":100,"sourceHtmlUrl":101},"scripts\u002Fvalidate_geography_file.py",10872,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fbrunoasm-biogeobears\u002Fscripts\u002Fvalidate_geography_file.py",[103,120,145,167,178,194],{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":47},"01M6CB7RN791P5RRRCJWWC7DAR","blocked-page-recovery","Use when a fetch fails: 403\u002F429, paywall, WAF, bot wall.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fweb\u002Fblocked-page-recovery\u002FSKILL.md",[],[110,111,112,113,114,115,116,33,34,117,118,43,119,45,39],"recovery","page","blocked page recovery","bot","fallback","use","fetch","Citations","waf","research",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":133,"publishedAt":47},"01M6CB7NQY2VVYCQJ1QBXACQF4","writing-plans","Use when creating or updating executable software plans. Keep plans as local files unless the user explicitly asks to register them in Doct.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[126,129,130],{"categoryNo":127,"categoryName":128,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":131,"categoryName":132,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者",[134,135,136,44,137,138,139,42,140,141,142,143,115,144,33,34,37],"writing","writing plans","documentation","workflow","design","user","planning","files","implementation","html","ops",{"skillNo":146,"name":59,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":159,"publishedAt":47},"01M6CB7JME246KZQHP73Z2STDF","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[150,153,156],{"categoryNo":151,"categoryName":152,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":154,"categoryName":155,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":157,"categoryName":158,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000037","律师与法务",[44,42,160,161,162,33,34,163,37,38,30,164,39,165,45,166,43],"test driven development","red-green-refactor","superpowers","quality","debugging","tdd","testing",{"skillNo":168,"name":169,"nameZh":6,"description":170,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":171,"categories":172,"keywords":174,"publishedAt":47},"01M6CB7FQ407KQTD4Z9VAWKY54","systematic-debugging","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[173],{"categoryNo":154,"categoryName":155,"taxonomyType":21,"taxonomyTypeDesc":22},[164,175,42,162,33,34,176,37,177,43,44,45,39],"systematic debugging","troubleshooting","investigation",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":187,"publishedAt":47},"01M6CB7D57MK88HE5YPZHKH68Q","spike","Throwaway experiments to validate an idea before build.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fspike\u002FSKILL.md",[184],{"categoryNo":185,"categoryName":186,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[180,43,188,189,119,190,45,39,191,192,193,33,34,37,140],"validate","experiments","prototype","feasibility","sketch","experiment",{"skillNo":195,"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":196,"categories":197,"keywords":200,"publishedAt":47},"01M6CB7APAQ37YE5YE1MAAFT42","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fsimplify-code\u002FSKILL.md",[198,199],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[29,31,30,36,33,34,35,37,38,32,40,41,42,43,44,45,46,39]]