[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GCDF4F3V5WT1E5SRVAY39N":3,"skill-same:01M6GCDF4F3V5WT1E5SRVAY39N":79},{"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":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":6,"ownerHtmlUrl":62,"ownerBlogUrl":6,"ownerDescription":63,"updatedAt":64,"install":65,"resources":78},"01M6GCDF4F3V5WT1E5SRVAY39N","hermes-agent-skill-authoring",null,"Author in-repo SKILL.md files: frontmatter and structure.","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002Fa8\u002Fa86bc27ef9b047a1cb51cd9cf6dda86ed2354b38c24a23bc0377882b4fb57a6a\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"authoring","agent skill","skill authoring","hermes agent skill authoring","hermes","hermes agent","hermes-agent","macos","conventions","structure","files","repo","plan","code-review","code","windows","linux","review","2026-11-10 10:12:30",false,"---\nname: hermes-agent-skill-authoring\ndescription: \"Author in-repo SKILL.md files: frontmatter and structure.\"\nversion: 1.1.0\nauthor: Hermes Agent\nlicense: MIT\nplatforms: [linux, macos, windows]\nmetadata:\n  hermes:\n    tags: [skills, authoring, hermes-agent, conventions, skill-md]\n    related_skills: [plan, requesting-code-review]\n---\n\n# Authoring Hermes-Agent Skills (in-repo)\n\n## Overview\n\nThere are two places a SKILL.md can live:\n\n1. **User-local:** `~\u002F.hermes\u002Fskills\u002F\u003Cmaybe-category>\u002F\u003Cname>\u002FSKILL.md` — personal, not shared. Created via `skill_manage(action='create')`.\n2. **In-repo (this skill is about this case):** `\u002Fhome\u002Fbb\u002Fhermes-agent\u002Fskills\u002F\u003Ccategory>\u002F\u003Cname>\u002FSKILL.md` — committed, shipped with the package. Use `write_file` + `git add`. `skill_manage(action='create')` does NOT target this tree.\n\n## When to Use\n\n- User asks you to add a skill \"in this branch \u002F repo \u002F commit\"\n- You're committing a reusable workflow that should ship with hermes-agent\n- You're editing an existing skill under `\u002Fhome\u002Fbb\u002Fhermes-agent\u002Fskills\u002F` (use `patch` for small edits, `write_file` for rewrites; `skill_manage` still works for patch on in-repo skills, but not for `create`)\n\n## Required Frontmatter\n\nSource of truth: `tools\u002Fskill_manager_tool.py::_validate_frontmatter`. Hard requirements:\n\n- Starts with `---` as the first bytes (no leading blank line).\n- Closes with `\\n---\\n` before the body.\n- Parses as a YAML mapping.\n- `name` field present.\n- `description` field present, ≤ **1024 chars** (`MAX_DESCRIPTION_LENGTH`).\n  **Long descriptions are truncated to 57 chars + \"...\" in the system\n  prompt skill index** (`extract_skill_description` in `agent\u002Fskill_utils.py`);\n  longer text is visible via `skills_list()` and `skill_view()`.\n  Front-load the trigger phrase.\n- Non-empty body after the closing `---`.\n\nPeer-matched shape used by every skill under `skills\u002Fsoftware-development\u002F`:\n\n```yaml\n---\nname: my-skill-name               # lowercase, hyphens, ≤64 chars (MAX_NAME_LENGTH)\ndescription: Use when \u003Ctrigger>. \u003Cone-line behavior>.   # first 57 chars shown in system prompt\nversion: 1.1.0\nauthor: Hermes Agent\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [short, descriptive, tags]\n    related_skills: [other-skill, another-skill]\n---\n```\n\n`version` \u002F `author` \u002F `license` \u002F `metadata` are NOT enforced by the validator, but every peer has them — omit and your skill sticks out.\n\n## Size Limits\n\n- Description: ≤ 1024 chars (enforced). **Long descriptions render as the first 57 chars\n  plus \"...\" in the system prompt skill index;** the rest is visible via `skills_list()`\n  and `skill_view()`.\n- Full SKILL.md: ≤ 100,000 chars (enforced as `MAX_SKILL_CONTENT_CHARS`, ~36k tokens).\n- Peer skills in `software-development\u002F` sit at **8-14k chars**. Aim for that range. If you're pushing past 20k, split into `references\u002F*.md` and reference them from SKILL.md.\n\n## Writing Quality Principles\n\nA skill exists to make the agent's process more predictable. Predictability does **not** mean identical output every run; it means the agent reliably follows the same useful discipline.\n\nUse these quality checks when writing or editing any skill:\n\n1. **Optimize for process predictability.** Ask: what behavior should change when this skill loads? If a line does not change behavior, cut it.\n2. **Choose the right context load.** A model-invoked Hermes skill pays for its description every turn. Keep descriptions focused on trigger classes and the skill's distinctive behavior. Put details in the body or linked references.\n3. **Use an information hierarchy.** Put always-needed steps in `SKILL.md`; put branch-specific or bulky reference material in `references\u002F`, `templates\u002F`, or `scripts\u002F` and point to it only when needed.\n4. **End steps with completion criteria.** Each ordered step should say how the agent knows it is done. Good criteria are checkable and, when it matters, exhaustive: \"every modified file accounted for\" beats \"summarize changes.\"\n5. **Co-locate rules with the concept they govern.** Avoid scattering one idea across the file. Keep definition, caveats, examples, and verification near each other.\n6. **Use strong leading words.** Prefer compact concepts the model already knows — e.g. \"tight loop,\" \"tracer bullet,\" \"root cause,\" \"regression test\" — over long repeated explanations. A good leading word saves tokens and anchors behavior.\n7. **Prune duplication and no-ops.** Keep each meaning in one source of truth. Sentence by sentence, ask whether the sentence changes agent behavior versus the default. If not, delete it rather than polishing it.\n8. **Watch for premature completion.** If agents tend to rush a step, first sharpen that step's completion criterion. Split the sequence only when later steps distract from doing the current step well.\n\nCommon quality failures:\n\n- **Premature completion** — the skill lets the agent move on before the work is genuinely done.\n- **Duplication** — the same rule appears in multiple places and drifts.\n- **Sediment** — stale lines remain because adding felt safer than deleting.\n- **Sprawl** — too much always-visible material; push branch-specific reference behind pointers.\n- **No-op prose** — generic advice the agent would already follow without the skill.\n\n## Peer-Matched Structure\n\nEvery in-repo skill follows roughly:\n\n```\n# \u003CTitle>\n\n## Overview\nOne or two paragraphs: what and why.\n\n## When to Use\n- Bulleted triggers\n- \"Don't use for:\" counter-triggers\n\n## \u003CTopic sections specific to the skill>\n- Quick-reference tables are common\n- Code blocks with exact commands\n- Hermes-specific recipes (tests via scripts\u002Frun_tests.sh, ui-tui paths, etc.)\n\n## Common Pitfalls\nNumbered list of mistakes and their fixes.\n\n## Verification Checklist\n- [ ] Checkbox list of post-action verifications\n\n## One-Shot Recipes (optional)\nNamed scenarios → concrete command sequences.\n```\n\nNot every section is mandatory, but `Overview` + `When to Use` + actionable body + pitfalls are the minimum for the skill to feel like a peer.\n\n## Directory Placement\n\n```\nskills\u002F\u003Ccategory>\u002F\u003Cskill-name>\u002FSKILL.md\n```\n\nCategories currently in repo (confirm with `ls skills\u002F`): `autonomous-ai-agents`, `creative`, `data-science`, `devops`, `email`, `gaming`, `github`, `leisure`, `mcp`, `media`, `mlops\u002F*`, `note-taking`, `productivity`, `red-teaming`, `research`, `smart-home`, `social-media`, `software-development`.\n\nPick the closest existing category. Don't invent new top-level categories casually.\n\n## Workflow\n\n1. **Survey peers** in the target category:\n   ```\n   ls skills\u002F\u003Ccategory>\u002F\n   ```\n   Read 2-3 peer SKILL.md files to match tone and structure.\n2. **Check validator constraints** in `tools\u002Fskill_manager_tool.py` if unsure.\n3. **Draft** with `write_file` to `skills\u002F\u003Ccategory>\u002F\u003Cname>\u002FSKILL.md`.\n4. **Validate locally**:\n   ```python\n   import yaml, re, pathlib\n   content = pathlib.Path(\"skills\u002F\u003Ccategory>\u002F\u003Cname>\u002FSKILL.md\").read_text()\n   assert content.startswith(\"---\")\n   m = re.search(r'\\n---\\s*\\n', content[3:])\n   fm = yaml.safe_load(content[3:m.start()+3])\n   assert \"name\" in fm and \"description\" in fm\n   assert len(fm[\"description\"]) \u003C= 1024\n   assert len(content) \u003C= 100_000\n   ```\n5. **Git add + commit** on the active branch.\n6. **Note:** the CURRENT session's skill loader is cached — `skill_view` \u002F `skills_list` will not see the new skill until a new session. This is expected, not a bug.\n\n## Cross-Referencing Other Skills\n\n`metadata.hermes.related_skills` unions both trees (`skills\u002F` in-repo and `~\u002F.hermes\u002Fskills\u002F`) at load time. You CAN reference a user-local skill from an in-repo skill, but it won't resolve for other users who clone the repo fresh. Prefer referencing only in-repo skills from in-repo skills. If a frequently-referenced skill lives only in `~\u002F.hermes\u002Fskills\u002F`, consider promoting it to the repo.\n\n## Editing Existing In-Repo Skills\n\n- **Small fix (typo, added pitfall, tightened trigger):** `skill_manage(action='patch', name=..., old_string=..., new_string=...)` works fine on in-repo skills.\n- **Major rewrite:** `write_file` the whole SKILL.md. `skill_manage(action='edit')` also works but requires supplying the full new content.\n- **Adding supporting files:** `write_file` to `skills\u002F\u003Ccategory>\u002F\u003Cname>\u002Freferences\u002F\u003Cfile>.md`, `templates\u002F\u003Cfile>`, or `scripts\u002F\u003Cfile>`. `skill_manage(action='write_file')` also works and enforces the references\u002Ftemplates\u002Fscripts\u002Fassets subdir allowlist.\n- **Always commit** the edit — in-repo skills are source, not runtime state.\n\n## Common Pitfalls\n\n1. **Using `skill_manage(action='create')` for an in-repo skill.** It writes to `~\u002F.hermes\u002Fskills\u002F`, not the repo tree. Use `write_file` for in-repo creation.\n\n2. **Leading whitespace before `---`.** The validator checks `content.startswith(\"---\")`; any leading blank line or BOM fails validation.\n\n3. **Description too generic or trigger buried past char 57.** The system prompt\n   skill index truncates long descriptions at 57 chars. Peer descriptions start\n   with \"Use when ...\" and complete the trigger class within that window.\n   - Good: `Use when debugging Hermes skill discovery failures.`\n   - Bad: `This skill contains detailed guidance for agents working on Hermes skill discovery failures.`\n\n4. **Forgetting the author\u002Flicense\u002Fmetadata block.** Not validator-enforced, but every peer has it; omitting makes the skill look half-finished.\n\n5. **Writing a skill that duplicates a peer.** Before creating, `ls skills\u002F\u003Ccategory>\u002F` and open 2-3 peers. Prefer extending an existing skill to creating a narrow sibling.\n\n6. **Expecting the current session to see the new skill.** It won't. The skill loader is initialized at session start. Verify in a fresh session or via `skill_view` using the exact path.\n\n7. **Letting skills accumulate sediment.** A skill should get shorter or sharper over time. When adding a rule, remove the old wording it replaces; don't layer advice forever.\n\n8. **Writing no-op prose.** \"Be careful,\" \"be thorough,\" and \"use best practices\" rarely change model behavior. Replace with a checkable completion criterion or a stronger leading word.\n\n9. **Linking to skills that don't exist in-repo.** `related_skills: [some-user-local-skill]` works for you but breaks for other clones. Prefer only in-repo links.\n\n## Verification Checklist\n\n- [ ] File is at `skills\u002F\u003Ccategory>\u002F\u003Cname>\u002FSKILL.md` (not in `~\u002F.hermes\u002Fskills\u002F`)\n- [ ] Frontmatter starts at byte 0 with `---`, closes with `\\n---\\n`\n- [ ] `name`, `description`, `version`, `author`, `license`, `metadata.hermes.{tags, related_skills}` all present\n- [ ] Name ≤ 64 chars, lowercase + hyphens\n- [ ] Description ≤ 1024 chars, trigger phrase self-contained within first 57 chars,\n      and starts with \"Use when ...\"\n- [ ] Total file ≤ 100,000 chars (aim for 8-15k)\n- [ ] Structure: `# Title` → `## Overview` → `## When to Use` → body → `## Common Pitfalls` → `## Verification Checklist`\n- [ ] Each ordered step has a checkable completion criterion\n- [ ] Description is trigger-focused and avoids duplicated body content\n- [ ] Bulky or branch-specific reference is progressively disclosed in linked files\n- [ ] No-op prose and duplicated rules removed\n- [ ] `related_skills` references resolve in-repo (or are explicitly OK to be user-local)\n- [ ] `git add skills\u002F\u003Ccategory>\u002F\u003Cname>\u002F && git commit` completed on the intended branch\n","# Authoring Hermes-Agent Skills (in-repo)\n\n## Overview\n\nThere are two places a SKILL.md can live:\n\n1. **User-local:** `~\u002F.hermes\u002Fskills\u002F\u003Cmaybe-category>\u002F\u003Cname>\u002FSKILL.md` — personal, not shared. Created via `skill_manage(action='create')`.\n2. **In-repo (this skill is about this case):** `\u002Fhome\u002Fbb\u002Fhermes-agent\u002Fskills\u002F\u003Ccategory>\u002F\u003Cname>\u002FSKILL.md` — committed, shipped with the package. Use `write_file` + `git add`. `skill_manage(action='create')` does NOT target this tree.\n\n## When to Use\n\n- User asks you to add a skill \"in this branch \u002F repo \u002F commit\"\n- You're committing a reusable workflow that should ship with hermes-agent\n- You're editing an existing skill under `\u002Fhome\u002Fbb\u002Fhermes-agent\u002Fskills\u002F` (use `patch` for small edits, `write_file` for rewrites; `skill_manage` still works for patch on in-repo skills, but not for `create`)\n\n## Required Frontmatter\n\nSource of truth: `tools\u002Fskill_manager_tool.py::_validate_frontmatter`. Hard requirements:\n\n- Starts with `---` as the first bytes (no leading blank line).\n- Closes with `\\n---\\n` before the body.\n- Parses as a YAML mapping.\n- `name` field present.\n- `description` field present, ≤ **1024 chars** (`MAX_DESCRIPTION_LENGTH`).\n  **Long descriptions are truncated to 57 chars + \"...\" in the system\n  prompt skill index** (`extract_skill_description` in `agent\u002Fskill_utils.py`);\n  longer text is visible via `skills_list()` and `skill_view()`.\n  Front-load the trigger phrase.\n- Non-empty body after the closing `---`.\n\nPeer-matched shape used by every skill under `skills\u002Fsoftware-development\u002F`:\n\n```yaml\n---\nname: my-skill-name               # lowercase, hyphens, ≤64 chars (MAX_NAME_LENGTH)\ndescription: Use when \u003Ctrigger>. \u003Cone-line behavior>.   # first 57 chars shown in system prompt\nversion: 1.1.0\nauthor: Hermes Agent\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [short, descriptive, tags]\n    related_skills: [other-skill, another-skill]\n---\n```\n\n`version` \u002F `author` \u002F `license` \u002F `metadata` are NOT enforced by the validator, but every peer has them — omit and your skill sticks out.\n\n## Size Limits\n\n- Description: ≤ 1024 chars (enforced). **Long descriptions render as the first 57 chars\n  plus \"...\" in the system prompt skill index;** the rest is visible via `skills_list()`\n  and `skill_view()`.\n- Full SKILL.md: ≤ 100,000 chars (enforced as `MAX_SKILL_CONTENT_CHARS`, ~36k tokens).\n- Peer skills in `software-development\u002F` sit at **8-14k chars**. Aim for that range. If you're pushing past 20k, split into `references\u002F*.md` and reference them from SKILL.md.\n\n## Writing Quality Principles\n\nA skill exists to make the agent's process more predictable. Predictability does **not** mean identical output every run; it means the agent reliably follows the same useful discipline.\n\nUse these quality checks when writing or editing any skill:\n\n1. **Optimize for process predictability.** Ask: what behavior should change when this skill loads? If a line does not change behavior, cut it.\n2. **Choose the right context load.** A model-invoked Hermes skill pays for its description every turn. Keep descriptions focused on trigger classes and the skill's distinctive behavior. Put details in the body or linked references.\n3. **Use an information hierarchy.** Put always-needed steps in `SKILL.md`; put branch-specific or bulky reference material in `references\u002F`, `templates\u002F`, or `scripts\u002F` and point to it only when needed.\n4. **End steps with completion criteria.** Each ordered step should say how the agent knows it is done. Good criteria are checkable and, when it matters, exhaustive: \"every modified file accounted for\" beats \"summarize changes.\"\n5. **Co-locate rules with the concept they govern.** Avoid scattering one idea across the file. Keep definition, caveats, examples, and verification near each other.\n6. **Use strong leading words.** Prefer compact concepts the model already knows — e.g. \"tight loop,\" \"tracer bullet,\" \"root cause,\" \"regression test\" — over long repeated explanations. A good leading word saves tokens and anchors behavior.\n7. **Prune duplication and no-ops.** Keep each meaning in one source of truth. Sentence by sentence, ask whether the sentence changes agent behavior versus the default. If not, delete it rather than polishing it.\n8. **Watch for premature completion.** If agents tend to rush a step, first sharpen that step's completion criterion. Split the sequence only when later steps distract from doing the current step well.\n\nCommon quality failures:\n\n- **Premature completion** — the skill lets the agent move on before the work is genuinely done.\n- **Duplication** — the same rule appears in multiple places and drifts.\n- **Sediment** — stale lines remain because adding felt safer than deleting.\n- **Sprawl** — too much always-visible material; push branch-specific reference behind pointers.\n- **No-op prose** — generic advice the agent would already follow without the skill.\n\n## Peer-Matched Structure\n\nEvery in-repo skill follows roughly:\n\n```\n# \u003CTitle>\n\n## Overview\nOne or two paragraphs: what and why.\n\n## When to Use\n- Bulleted triggers\n- \"Don't use for:\" counter-triggers\n\n## \u003CTopic sections specific to the skill>\n- Quick-reference tables are common\n- Code blocks with exact commands\n- Hermes-specific recipes (tests via scripts\u002Frun_tests.sh, ui-tui paths, etc.)\n\n## Common Pitfalls\nNumbered list of mistakes and their fixes.\n\n## Verification Checklist\n- [ ] Checkbox list of post-action verifications\n\n## One-Shot Recipes (optional)\nNamed scenarios → concrete command sequences.\n```\n\nNot every section is mandatory, but `Overview` + `When to Use` + actionable body + pitfalls are the minimum for the skill to feel like a peer.\n\n## Directory Placement\n\n```\nskills\u002F\u003Ccategory>\u002F\u003Cskill-name>\u002FSKILL.md\n```\n\nCategories currently in repo (confirm with `ls skills\u002F`): `autonomous-ai-agents`, `creative`, `data-science`, `devops`, `email`, `gaming`, `github`, `leisure`, `mcp`, `media`, `mlops\u002F*`, `note-taking`, `productivity`, `red-teaming`, `research`, `smart-home`, `social-media`, `software-development`.\n\nPick the closest existing category. Don't invent new top-level categories casually.\n\n## Workflow\n\n1. **Survey peers** in the target category:\n   ```\n   ls skills\u002F\u003Ccategory>\u002F\n   ```\n   Read 2-3 peer SKILL.md files to match tone and structure.\n2. **Check validator constraints** in `tools\u002Fskill_manager_tool.py` if unsure.\n3. **Draft** with `write_file` to `skills\u002F\u003Ccategory>\u002F\u003Cname>\u002FSKILL.md`.\n4. **Validate locally**:\n   ```python\n   import yaml, re, pathlib\n   content = pathlib.Path(\"skills\u002F\u003Ccategory>\u002F\u003Cname>\u002FSKILL.md\").read_text()\n   assert content.startswith(\"---\")\n   m = re.search(r'\\n---\\s*\\n', content[3:])\n   fm = yaml.safe_load(content[3:m.start()+3])\n   assert \"name\" in fm and \"description\" in fm\n   assert len(fm[\"description\"]) \u003C= 1024\n   assert len(content) \u003C= 100_000\n   ```\n5. **Git add + commit** on the active branch.\n6. **Note:** the CURRENT session's skill loader is cached — `skill_view` \u002F `skills_list` will not see the new skill until a new session. This is expected, not a bug.\n\n## Cross-Referencing Other Skills\n\n`metadata.hermes.related_skills` unions both trees (`skills\u002F` in-repo and `~\u002F.hermes\u002Fskills\u002F`) at load time. You CAN reference a user-local skill from an in-repo skill, but it won't resolve for other users who clone the repo fresh. Prefer referencing only in-repo skills from in-repo skills. If a frequently-referenced skill lives only in `~\u002F.hermes\u002Fskills\u002F`, consider promoting it to the repo.\n\n## Editing Existing In-Repo Skills\n\n- **Small fix (typo, added pitfall, tightened trigger):** `skill_manage(action='patch', name=..., old_string=..., new_string=...)` works fine on in-repo skills.\n- **Major rewrite:** `write_file` the whole SKILL.md. `skill_manage(action='edit')` also works but requires supplying the full new content.\n- **Adding supporting files:** `write_file` to `skills\u002F\u003Ccategory>\u002F\u003Cname>\u002Freferences\u002F\u003Cfile>.md`, `templates\u002F\u003Cfile>`, or `scripts\u002F\u003Cfile>`. `skill_manage(action='write_file')` also works and enforces the references\u002Ftemplates\u002Fscripts\u002Fassets subdir allowlist.\n- **Always commit** the edit — in-repo skills are source, not runtime state.\n\n## Common Pitfalls\n\n1. **Using `skill_manage(action='create')` for an in-repo skill.** It writes to `~\u002F.hermes\u002Fskills\u002F`, not the repo tree. Use `write_file` for in-repo creation.\n\n2. **Leading whitespace before `---`.** The validator checks `content.startswith(\"---\")`; any leading blank line or BOM fails validation.\n\n3. **Description too generic or trigger buried past char 57.** The system prompt\n   skill index truncates long descriptions at 57 chars. Peer descriptions start\n   with \"Use when ...\" and complete the trigger class within that window.\n   - Good: `Use when debugging Hermes skill discovery failures.`\n   - Bad: `This skill contains detailed guidance for agents working on Hermes skill discovery failures.`\n\n4. **Forgetting the author\u002Flicense\u002Fmetadata block.** Not validator-enforced, but every peer has it; omitting makes the skill look half-finished.\n\n5. **Writing a skill that duplicates a peer.** Before creating, `ls skills\u002F\u003Ccategory>\u002F` and open 2-3 peers. Prefer extending an existing skill to creating a narrow sibling.\n\n6. **Expecting the current session to see the new skill.** It won't. The skill loader is initialized at session start. Verify in a fresh session or via `skill_view` using the exact path.\n\n7. **Letting skills accumulate sediment.** A skill should get shorter or sharper over time. When adding a rule, remove the old wording it replaces; don't layer advice forever.\n\n8. **Writing no-op prose.** \"Be careful,\" \"be thorough,\" and \"use best practices\" rarely change model behavior. Replace with a checkable completion criterion or a stronger leading word.\n\n9. **Linking to skills that don't exist in-repo.** `related_skills: [some-user-local-skill]` works for you but breaks for other clones. Prefer only in-repo links.\n\n## Verification Checklist\n\n- [ ] File is at `skills\u002F\u003Ccategory>\u002F\u003Cname>\u002FSKILL.md` (not in `~\u002F.hermes\u002Fskills\u002F`)\n- [ ] Frontmatter starts at byte 0 with `---`, closes with `\\n---\\n`\n- [ ] `name`, `description`, `version`, `author`, `license`, `metadata.hermes.{tags, related_skills}` all present\n- [ ] Name ≤ 64 chars, lowercase + hyphens\n- [ ] Description ≤ 1024 chars, trigger phrase self-contained within first 57 chars,\n      and starts with \"Use when ...\"\n- [ ] Total file ≤ 100,000 chars (aim for 8-15k)\n- [ ] Structure: `# Title` → `## Overview` → `## When to Use` → body → `## Common Pitfalls` → `## Verification Checklist`\n- [ ] Each ordered step has a checkable completion criterion\n- [ ] Description is trigger-focused and avoids duplicated body content\n- [ ] Bulky or branch-specific reference is progressively disclosed in linked files\n- [ ] No-op prose and duplicated rules removed\n- [ ] `related_skills` references resolve in-repo (or are explicitly OK to be user-local)\n- [ ] `git add skills\u002F\u003Ccategory>\u002F\u003Cname>\u002F && git commit` completed on the intended branch\n",{"name":5,"author":47,"license":15,"version":48,"metadata":49,"platforms":56,"description":7},"Hermes Agent","1.1.0",{"hermes":50},{"tags":51,"related_skills":54},[52,24,30,32,53],"skills","skill-md",[36,55],"requesting-code-review",[40,31,39],"main","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002Fa8\u002Fa86bc27ef9b047a1cb51cd9cf6dda86ed2354b38c24a23bc0377882b4fb57a6a",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":66,"prompt":76,"zipAvailable":77},[67,70,73],{"tool":68,"command":69},"npx","npx skills add zapabob\u002FSkills --skill hermes-agent-skill-authoring",{"tool":71,"command":72},"bunx","bunx skills add zapabob\u002FSkills --skill hermes-agent-skill-authoring",{"tool":74,"command":75},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill hermes-agent-skill-authoring","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002Fa8\u002Fa86bc27ef9b047a1cb51cd9cf6dda86ed2354b38c24a23bc0377882b4fb57a6a\u002FSKILL.md",true,[],[80,109,141,168,195,212],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":95,"publishedAt":42},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[86,89,90],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[82,96,31,97,98,40,39,99,100,101,102,103,104,28,29,105,57,106,107,108],"openclaw","cli","github","official","search","https","social-media","api","Media","twitter","social","via","post",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":126,"publishedAt":42},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[115,118,121,122,123],{"categoryNo":116,"categoryName":117,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":119,"categoryName":120,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},{"categoryNo":124,"categoryName":125,"taxonomyType":93,"taxonomyTypeDesc":94},"01JBSEEDCAT000000000000036","内容创作者",[127,128,129,130,31,41,40,131,39,132,133,134,38,135,37,136,137,138,139,140],"writing","writing plans","plans","design","workflow","documentation","tasks","development","planning","subagent","write","superpowers","paths","test-driven-development",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":150,"publishedAt":42},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[147],{"categoryNo":148,"categoryName":149,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[143,31,40,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],"openai","speech","multimodal","Transformers","ASR","Audio","text","model","speech recognition","use","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":177,"publishedAt":42},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[174],{"categoryNo":175,"categoryName":176,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",[178,31,179,180,39,181,182,183,184,185,186,158,187,188,189,190,191,192,193,194],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":202,"publishedAt":42},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[201],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[197,31,203,98,40,204,205,206,207,208,209,28,29,210,211],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":213,"name":214,"nameZh":6,"description":215,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":216,"categories":217,"keywords":220,"publishedAt":42},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[218,219],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},[221,222,223,40,224,151,225,226,227,154,228,103,229,230,231,232,233,234,235,236],"llms","vLLM","serving llms vllm","research","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]