From d4b61650186d5eaf4eea2d5e44d976e405cb458a Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Thu, 23 Jul 2026 18:19:54 -0700 Subject: [PATCH] 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. --- hermes_cli/commands.py | 2 +- skills/{ => software-development}/dogfood/SKILL.md | 0 .../dogfood/references/issue-taxonomy.md | 0 .../dogfood/templates/dogfood-report-template.md | 0 .../hermes-agent-skill-authoring/SKILL.md | 2 +- tests/tools/test_browser_console.py | 2 +- website/docs/reference/skills-catalog.md | 7 +------ .../software-development-dogfood.md} | 2 +- ...oftware-development-hermes-agent-skill-authoring.md | 2 +- .../optional/dogfood/dogfood-adversarial-ux-test.md | 2 +- .../current/reference/skills-catalog.md | 7 +------ .../software-development-dogfood.md} | 2 +- ...oftware-development-hermes-agent-skill-authoring.md | 2 +- .../optional/dogfood/dogfood-adversarial-ux-test.md | 2 +- website/scripts/generate-skill-docs.py | 2 +- website/sidebars.ts | 10 +--------- 16 files changed, 13 insertions(+), 31 deletions(-) rename skills/{ => software-development}/dogfood/SKILL.md (100%) rename skills/{ => software-development}/dogfood/references/issue-taxonomy.md (100%) rename skills/{ => software-development}/dogfood/templates/dogfood-report-template.md (100%) rename website/docs/user-guide/skills/bundled/{dogfood/dogfood-dogfood.md => software-development/software-development-dogfood.md} (99%) rename website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/bundled/{dogfood/dogfood-dogfood.md => software-development/software-development-dogfood.md} (99%) diff --git a/hermes_cli/commands.py b/hermes_cli/commands.py index d5973e51eab0..6be8638527e2 100644 --- a/hermes_cli/commands.py +++ b/hermes_cli/commands.py @@ -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 diff --git a/skills/dogfood/SKILL.md b/skills/software-development/dogfood/SKILL.md similarity index 100% rename from skills/dogfood/SKILL.md rename to skills/software-development/dogfood/SKILL.md diff --git a/skills/dogfood/references/issue-taxonomy.md b/skills/software-development/dogfood/references/issue-taxonomy.md similarity index 100% rename from skills/dogfood/references/issue-taxonomy.md rename to skills/software-development/dogfood/references/issue-taxonomy.md diff --git a/skills/dogfood/templates/dogfood-report-template.md b/skills/software-development/dogfood/templates/dogfood-report-template.md similarity index 100% rename from skills/dogfood/templates/dogfood-report-template.md rename to skills/software-development/dogfood/templates/dogfood-report-template.md diff --git a/skills/software-development/hermes-agent-skill-authoring/SKILL.md b/skills/software-development/hermes-agent-skill-authoring/SKILL.md index 2feed79f9401..ffa14408fb08 100644 --- a/skills/software-development/hermes-agent-skill-authoring/SKILL.md +++ b/skills/software-development/hermes-agent-skill-authoring/SKILL.md @@ -121,7 +121,7 @@ Not every section is mandatory, but `Overview` + `When to Use` + actionable body skills///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. diff --git a/tests/tools/test_browser_console.py b/tests/tools/test_browser_console.py index 08e851da28ad..2316035e868d 100644 --- a/tests/tools/test_browser_console.py +++ b/tests/tools/test_browser_console.py @@ -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): diff --git a/website/docs/reference/skills-catalog.md b/website/docs/reference/skills-catalog.md index 6d6eeac5340e..f340bdd3305f 100644 --- a/website/docs/reference/skills-catalog.md +++ b/website/docs/reference/skills-catalog.md @@ -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` | diff --git a/website/docs/user-guide/skills/bundled/dogfood/dogfood-dogfood.md b/website/docs/user-guide/skills/bundled/software-development/software-development-dogfood.md similarity index 99% rename from website/docs/user-guide/skills/bundled/dogfood/dogfood-dogfood.md rename to website/docs/user-guide/skills/bundled/software-development/software-development-dogfood.md index ff076d55f5bc..5849bff96bc6 100644 --- a/website/docs/user-guide/skills/bundled/dogfood/dogfood-dogfood.md +++ b/website/docs/user-guide/skills/bundled/software-development/software-development-dogfood.md @@ -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` | diff --git a/website/docs/user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring.md b/website/docs/user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring.md index 10183a9a2a66..934c76dfdbb0 100644 --- a/website/docs/user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring.md +++ b/website/docs/user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring.md @@ -116,7 +116,7 @@ Not every section is mandatory, but `Overview` + `When to Use` + actionable body skills///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. diff --git a/website/docs/user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test.md b/website/docs/user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test.md index 159f3631d1bc..ba256e127482 100644 --- a/website/docs/user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test.md +++ b/website/docs/user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test.md @@ -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 diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/reference/skills-catalog.md b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/reference/skills-catalog.md index 7dc18340fb2a..d320c3c2078b 100644 --- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/reference/skills-catalog.md +++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/reference/skills-catalog.md @@ -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.md:frontmatter、验证器、结构规范。 | `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` | diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/bundled/dogfood/dogfood-dogfood.md b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/bundled/software-development/software-development-dogfood.md similarity index 99% rename from website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/bundled/dogfood/dogfood-dogfood.md rename to website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/bundled/software-development/software-development-dogfood.md index df2717531901..2809c0ab1097 100644 --- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/bundled/dogfood/dogfood-dogfood.md +++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/bundled/software-development/software-development-dogfood.md @@ -15,7 +15,7 @@ description: "网页应用探索性 QA:发现缺陷、收集证据、生成报 | | | |---|---| | 来源 | 内置(默认安装) | -| 路径 | `skills/dogfood` | +| 路径 | `skills/software-development/dogfood` | | 版本 | `1.0.0` | | 平台 | linux, macos, windows | | 标签 | `qa`, `testing`, `browser`, `web`, `dogfood` | diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring.md b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring.md index 432122d718d0..3b0feb61e607 100644 --- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring.md +++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring.md @@ -116,7 +116,7 @@ Named scenarios → concrete command sequences. skills///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`。 选择最接近的现有分类。不要随意创建新的顶级分类。 diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test.md b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test.md index 480dc5287af4..fda3e295ac8d 100644 --- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test.md +++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test.md @@ -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 diff --git a/website/scripts/generate-skill-docs.py b/website/scripts/generate-skill-docs.py index af077d786c6e..a5bb45692c1d 100755 --- a/website/scripts/generate-skill-docs.py +++ b/website/scripts/generate-skill-docs.py @@ -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] diff --git a/website/sidebars.ts b/website/sidebars.ts index 33add5e727a2..f306b07a81ee 100644 --- a/website/sidebars.ts +++ b/website/sidebars.ts @@ -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',