fix(skills): move dogfood skill into the software-development category

skills/dogfood/SKILL.md sat at the root of the bundled skills tree,
making it one of the few uncategorized skills (Discord /skill
autocomplete listed it under 'uncategorized'; hermes_cli/commands.py
cited it as the example). Move it to
skills/software-development/dogfood/ alongside the other QA/testing
skills (test-driven-development, systematic-debugging,
requesting-code-review).

- git mv skills/dogfood -> skills/software-development/dogfood
  (history preserved)
- fix test fixture path in tests/tools/test_browser_console.py
- update root-level-skill docstring examples (commands.py,
  generate-skill-docs.py) to cite computer-use, which is still root-level
- drop 'dogfood' from the category list in hermes-agent-skill-authoring
  SKILL.md (en + zh-Hans docs mirrors)
- docs: regenerate/move the bundled page to
  software-development-dogfood (en + zh-Hans), update sidebars.ts,
  skills-catalog.md, and the adversarial-ux-test related-skills link

E2E validated: fresh sync_skills() copies to the new nested path;
existing installs with the old flat copy keep it untouched (manifest is
name-keyed, hash unchanged -> skipped, no duplicate);
_get_category_from_path resolves 'software-development'; docusaurus
build green.
This commit is contained in:
Teknium 2026-07-23 18:19:54 -07:00
parent b55bb2cd10
commit d4b6165018
16 changed files with 13 additions and 31 deletions

View file

@ -967,7 +967,7 @@ def discord_skill_commands_by_category(
Skills whose directory is nested at least 2 levels under a scan root
(e.g. ``creative/ascii-art/SKILL.md``) are grouped by their top-level
category. Root-level skills (e.g. ``dogfood/SKILL.md``) are returned as
category. Root-level skills (e.g. ``computer-use/SKILL.md``) are returned as
*uncategorized*.
Scan roots include the local ``SKILLS_DIR`` **and** any configured

View file

@ -121,7 +121,7 @@ Not every section is mandatory, but `Overview` + `When to Use` + actionable body
skills/<category>/<skill-name>/SKILL.md
```
Categories currently in repo (confirm with `ls skills/`): `autonomous-ai-agents`, `creative`, `data-science`, `devops`, `dogfood`, `email`, `gaming`, `github`, `leisure`, `mcp`, `media`, `mlops/*`, `note-taking`, `productivity`, `red-teaming`, `research`, `smart-home`, `social-media`, `software-development`.
Categories currently in repo (confirm with `ls skills/`): `autonomous-ai-agents`, `creative`, `data-science`, `devops`, `email`, `gaming`, `github`, `leisure`, `mcp`, `media`, `mlops/*`, `note-taking`, `productivity`, `red-teaming`, `research`, `smart-home`, `social-media`, `software-development`.
Pick the closest existing category. Don't invent new top-level categories casually.

View file

@ -566,7 +566,7 @@ class TestDogfoodSkill:
def _skill_dir(self):
# Use the actual repo skills dir (not temp)
self.skill_dir = os.path.join(
os.path.dirname(__file__), "..", "..", "skills", "dogfood"
os.path.dirname(__file__), "..", "..", "skills", "software-development", "dogfood"
)
def test_skill_md_exists(self):

View file

@ -57,12 +57,6 @@ If a skill is missing from this list but present in the repo, the catalog is reg
| [`songwriting-and-ai-music`](/docs/user-guide/skills/bundled/creative/creative-songwriting-and-ai-music) | Songwriting craft and Suno AI music prompts. | `creative/songwriting-and-ai-music` |
| [`touchdesigner-mcp`](/docs/user-guide/skills/bundled/creative/creative-touchdesigner-mcp) | Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools. | `creative/touchdesigner-mcp` |
## dogfood
| Skill | Description | Path |
|-------|-------------|------|
| [`dogfood`](/docs/user-guide/skills/bundled/dogfood/dogfood-dogfood) | Exploratory QA of web apps: find bugs, evidence, reports. | `dogfood` |
## email
| Skill | Description | Path |
@ -156,6 +150,7 @@ If a skill is missing from this list but present in the repo, the catalog is reg
| Skill | Description | Path |
|-------|-------------|------|
| [`dogfood`](/docs/user-guide/skills/bundled/software-development/software-development-dogfood) | Exploratory QA of web apps: find bugs, evidence, reports. | `software-development/dogfood` |
| [`hermes-agent-skill-authoring`](/docs/user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring) | Author in-repo SKILL.md: frontmatter, validator, structure, and writing-quality principles. | `software-development/hermes-agent-skill-authoring` |
| [`node-inspect-debugger`](/docs/user-guide/skills/bundled/software-development/software-development-node-inspect-debugger) | Debug Node.js via --inspect + Chrome DevTools Protocol CLI. | `software-development/node-inspect-debugger` |
| [`plan`](/docs/user-guide/skills/bundled/software-development/software-development-plan) | Plan mode: write an actionable markdown plan to .hermes/plans/, no execution. Bite-sized tasks, exact paths, complete code. | `software-development/plan` |

View file

@ -15,7 +15,7 @@ Exploratory QA of web apps: find bugs, evidence, reports.
| | |
|---|---|
| Source | Bundled (installed by default) |
| Path | `skills/dogfood` |
| Path | `skills/software-development/dogfood` |
| Version | `1.0.0` |
| Platforms | linux, macos, windows |
| Tags | `qa`, `testing`, `browser`, `web`, `dogfood` |

View file

@ -116,7 +116,7 @@ Not every section is mandatory, but `Overview` + `When to Use` + actionable body
skills/<category>/<skill-name>/SKILL.md
```
Categories currently in repo (confirm with `ls skills/`): `autonomous-ai-agents`, `creative`, `data-science`, `devops`, `dogfood`, `email`, `gaming`, `github`, `leisure`, `mcp`, `media`, `mlops/*`, `note-taking`, `productivity`, `red-teaming`, `research`, `smart-home`, `social-media`, `software-development`.
Categories currently in repo (confirm with `ls skills/`): `autonomous-ai-agents`, `creative`, `data-science`, `devops`, `email`, `gaming`, `github`, `leisure`, `mcp`, `media`, `mlops/*`, `note-taking`, `productivity`, `red-teaming`, `research`, `smart-home`, `social-media`, `software-development`.
Pick the closest existing category. Don't invent new top-level categories casually.

View file

@ -21,7 +21,7 @@ Roleplay the most difficult, tech-resistant user for your product. Browse the ap
| License | MIT |
| Platforms | linux, macos, windows |
| Tags | `qa`, `ux`, `testing`, `adversarial`, `dogfood`, `personas`, `user-testing` |
| Related skills | [`dogfood`](/docs/user-guide/skills/bundled/dogfood/dogfood-dogfood) |
| Related skills | [`dogfood`](/docs/user-guide/skills/bundled/software-development/software-development-dogfood) |
## Reference: full SKILL.md

View file

@ -58,12 +58,6 @@ Hermes 在执行 `hermes update` 时也会同步内置技能,但同步清单
|-------|-------------|------|
## dogfood
| 技能 | 描述 | 路径 |
|-------|-------------|------|
| [`dogfood`](/user-guide/skills/bundled/dogfood/dogfood-dogfood) | Web 应用探索性 QA发现 bug、收集证据、生成报告。 | `dogfood` |
## email
| 技能 | 描述 | 路径 |
@ -157,6 +151,7 @@ Hermes 在执行 `hermes update` 时也会同步内置技能,但同步清单
| 技能 | 描述 | 路径 |
|-------|-------------|------|
| [`dogfood`](/user-guide/skills/bundled/software-development/software-development-dogfood) | Web 应用探索性 QA发现 bug、收集证据、生成报告。 | `software-development/dogfood` |
| [`hermes-agent-skill-authoring`](/user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring) | 编写仓库内 SKILL.mdfrontmatter、验证器、结构规范。 | `software-development/hermes-agent-skill-authoring` |
| [`node-inspect-debugger`](/user-guide/skills/bundled/software-development/software-development-node-inspect-debugger) | 通过 --inspect + Chrome DevTools Protocol CLI 调试 Node.js。 | `software-development/node-inspect-debugger` |
| [`plan`](/user-guide/skills/bundled/software-development/software-development-plan) | 计划模式:将 Markdown 计划写入 `.hermes/plans/`,不执行。 | `software-development/plan` |

View file

@ -15,7 +15,7 @@ description: "网页应用探索性 QA发现缺陷、收集证据、生成报
| | |
|---|---|
| 来源 | 内置(默认安装) |
| 路径 | `skills/dogfood` |
| 路径 | `skills/software-development/dogfood` |
| 版本 | `1.0.0` |
| 平台 | linux, macos, windows |
| 标签 | `qa`, `testing`, `browser`, `web`, `dogfood` |

View file

@ -116,7 +116,7 @@ Named scenarios → concrete command sequences.
skills/<category>/<skill-name>/SKILL.md
```
仓库中现有的分类(通过 `ls skills/` 确认):`autonomous-ai-agents``creative``data-science``devops``dogfood`、`email`、`gaming``github``leisure``mcp``media``mlops/*``note-taking``productivity``red-teaming``research``smart-home``social-media``software-development`
仓库中现有的分类(通过 `ls skills/` 确认):`autonomous-ai-agents``creative``data-science``devops``email`、`gaming``github``leisure``mcp``media``mlops/*``note-taking``productivity``red-teaming``research``smart-home``social-media``software-development`
选择最接近的现有分类。不要随意创建新的顶级分类。

View file

@ -21,7 +21,7 @@ description: "扮演产品最难搞的技术抵触用户"
| 许可证 | MIT |
| 平台 | linux, macos, windows |
| 标签 | `qa`, `ux`, `testing`, `adversarial`, `dogfood`, `personas`, `user-testing` |
| 相关 skill | [`dogfood`](/user-guide/skills/bundled/dogfood/dogfood-dogfood) |
| 相关 skill | [`dogfood`](/user-guide/skills/bundled/software-development/software-development-dogfood) |
## 参考:完整 SKILL.md

View file

@ -284,7 +284,7 @@ def derive_skill_meta(skill_path: Path, source_dir: Path, source_kind: str) -> d
rel = skill_path.parent.relative_to(source_dir)
parts = rel.parts
if len(parts) == 1:
# Top-level skill (e.g. skills/dogfood/SKILL.md) -- rare
# Top-level skill (e.g. skills/computer-use/SKILL.md) -- rare
category = parts[0]
sub = None
slug = parts[0]

View file

@ -191,15 +191,6 @@ const sidebars: SidebarsConfig = {
'user-guide/skills/bundled/creative/creative-touchdesigner-mcp',
],
},
{
type: 'category',
label: 'dogfood',
key: 'skills-bundled-dogfood',
collapsed: true,
items: [
'user-guide/skills/bundled/dogfood/dogfood-dogfood',
],
},
{
type: 'category',
label: 'email',
@ -325,6 +316,7 @@ const sidebars: SidebarsConfig = {
key: 'skills-bundled-software-development',
collapsed: true,
items: [
'user-guide/skills/bundled/software-development/software-development-dogfood',
'user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring',
'user-guide/skills/bundled/software-development/software-development-node-inspect-debugger',
'user-guide/skills/bundled/software-development/software-development-plan',