chore(tasks): close [hermes-converter-mvp]

Shipped in 6b36b31. Coverage check walked the 5 acceptance criteria
inline (mapping schema, build script, 4 universals through converter,
dist-hermes/ committed, security infra ready). Smoke-tests: idempotency,
replace-rule application, strict-mapping fail-fast — all verified.
Unblocks [hermes-flavour-mcp-setups], [hermes-installer-skill],
[hermes-mvp-coverage].

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-07 00:00:55 +03:00
parent 6b36b312fa
commit 0cc7757d83
2 changed files with 60 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
# Task Board
_Updated: 2026-05-06 (using-tasks v1.1.0 — coverage gate + local-first recs)_
_Updated: 2026-05-07 (hermes-converter-mvp shipped — 4 universals through converter)_
<!--
Canonical layout. One block per task. Per-task deep context lives in
@@ -222,13 +222,13 @@ version: 0.1.0
---
## [hermes-converter-mvp] — Build conversion infrastructure для Hermes-rollout: создать `hermes/mapping.yaml` (схема: per-skill `mode: auto|manual|skip`, `category`, `replace-rules`, `skip-list` + `reason`), написать `scripts/build-hermes.{sh,py}` (читает `skills/<name>/SKILL.md` или `hermes/skills/<name>/` для manual, применяет mapping, пишет `dist-hermes/<category>/<name>/`, генерит `dist-hermes/SKIPPED.md` с per-skip reason'ами). Прогнать через 4 universal: `pulling-before-work`, `active-platform`, `project-discipline`, `using-markitdown`. Закоммитить `dist-hermes/` для этих 4 в репу. Дизайн: `.wiki/concepts/hermes-skills-rollout-design.md`. Pre-encode security уроки (extraheader-pattern, POSIX-absolute paths, version-bump per Rule 3) на этапе шаблонов конвертера.
## 🟢 [hermes-converter-mvp] — Build conversion infrastructure для Hermes-rollout: создать `hermes/mapping.yaml` (схема: per-skill `mode: auto|manual|skip`, `category`, `replace-rules`, `skip-list` + `reason`), написать `scripts/build-hermes.{sh,py}` (читает `skills/<name>/SKILL.md` или `hermes/skills/<name>/` для manual, применяет mapping, пишет `dist-hermes/<category>/<name>/`, генерит `dist-hermes/SKIPPED.md` с per-skip reason'ами). Прогнать через 4 universal: `pulling-before-work`, `active-platform`, `project-discipline`, `using-markitdown`. Закоммитить `dist-hermes/` для этих 4 в репу. Дизайн: `.wiki/concepts/hermes-skills-rollout-design.md`. Pre-encode security уроки (extraheader-pattern, POSIX-absolute paths, version-bump per Rule 3) на этапе шаблонов конвертера.
**Status:** ready
**Where I stopped:** (not started)
**Next action:** Спроектировать YAML-schema для `hermes/mapping.yaml` (черновик в дизайн-доке); написать `scripts/build-hermes.py` (Python предпочтительнее bash для YAML-парсинга и template-логики); прогнать через `pulling-before-work` как single-skill smoke; зашить остальные 3 universal'а; commit.
**Status:** done
**Where I stopped:** Shipped в `6b36b31 feat(hermes): MVP converter + 4 universal skills converted`. (1) `hermes/mapping.yaml` — 4-mode schema (`auto`/`manual`/`skip`/`pending`); 22 skills mapped explicitly; build fails on unmapped (verified on synthetic `fake-skill` → exit 1). (2) `scripts/build-hermes.py` — Python (PyYAML 6.0.3); replace-rules ordered string-substitution on SKILL.md only; manual mode copies `hermes/skills/<source>/` verbatim; SKIPPED.md auto-generated с pending intended-mode preserved. (3) 4 universal через converter в `dist-hermes/`: `pulling-before-work` + `project-discipline` (with READMEs) → `software-development/`; `active-platform` (replace-rules `**Windows + PowerShell.**``**Linux + bash.**` + reasoning sentence) → `software-development/`; `using-markitdown``productivity/`. (4) `dist-hermes/` committed (8 файлов: 4 SKILL.md + 2 README.md + SKIPPED.md). (5) Security infra: replace-rules + manual mode ready; concrete extraheader / POSIX / version-bump templates land в `hermes-flavour-mcp-setups` (per design separation `.wiki/concepts/hermes-skills-rollout-design.md` § Связанные таски). README.md updated (новая секция `### Build for Hermes` + Layout). Per-task file `.tasks/hermes-converter-mvp.md`. **Smoke:** idempotent re-run no diff; replace-rules verified via grep on `dist-hermes/.../active-platform/SKILL.md`; strict-mapping fail-fast verified.
**Next action:** (none — kept until merged); unblocks `[hermes-flavour-mcp-setups]`, `[hermes-installer-skill]`, `[hermes-mvp-coverage]`
**Branch:** master
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T20:21:21.315Z -->
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T20:21:21.315Z; closed: 2026-05-07 from claude-skills -->
---

View File

@@ -0,0 +1,54 @@
# hermes-converter-mvp
## Goal
Conversion infrastructure для Hermes-rollout (Nous Research). Источник истины
остаётся `claude-skills/skills/`; converter читает `hermes/mapping.yaml` и пишет
`dist-hermes/<category>/<name>/` в Hermes-formate. MVP: 4 universal-скила
(`pulling-before-work`, `active-platform`, `project-discipline`,
`using-markitdown`) проходят через converter и оседают в `dist-hermes/`.
Остальные 18 скилов имеют `mode: skip` или `mode: pending` (deferred to
`hermes-mvp-coverage` / `hermes-flavour-mcp-setups`).
## Key files
- `.wiki/concepts/hermes-skills-rollout-design.md` — design, audit-table, Q1-Q8
- `hermes/mapping.yaml` — schema + per-skill mode/category/replace-rules (NEW)
- `scripts/build-hermes.py` — converter (NEW)
- `dist-hermes/<cat>/<name>/SKILL.md` — output (NEW, committed)
- `dist-hermes/SKIPPED.md` — skip-log (NEW)
## Decisions log
- 2026-05-06: Python only — `build-hermes.py`. Bash variant out-of-scope (task
block writes `{sh,py}` but next_action says "Python предпочтительнее"; YAML
+ template logic clearer in Python).
- 2026-05-06: mapping uses 4 modes — `auto` / `manual` / `skip` / `pending`.
`pending` = listed but not built yet, lands in SKIPPED.md with rationale.
Forces every `skills/<name>/` to have an explicit mapping entry — no silent
drops.
- 2026-05-06: replace-rules applied as ordered string-substitutions on SKILL.md
before write. For Linux-default platform-switch on `active-platform`.
## Open questions
- [ ] Hermes `~/.hermes/skills/` exact category names — `software-development`,
`productivity`, `mcp`, `research` per design doc; verify against Hermes
docs in `hermes-mvp-coverage`.
## Completed steps
- [x] mapping.yaml schema (22 skills mapped, 4-mode: auto/manual/skip/pending)
- [x] build-hermes.py (PyYAML; replace-rules; strict-mapping)
- [x] dist-hermes/ for 4 universals (software-development/×3 + productivity/×1)
- [x] SKIPPED.md auto-generated (8 skip + 10 pending with intended-mode)
- [x] README.md "Build for Hermes" section + Layout update
- [x] commit `6b36b31 feat(hermes): MVP converter + 4 universal skills converted`
- [x] task closed via post-commit prompt + coverage check (using-tasks v1.1.0 self-applied)
- [ ] push (next step)
## Closing notes (2026-05-07)
- Acceptance criteria 5 (security templates) — infrastructure shipped; content
deferred to `[hermes-flavour-mcp-setups]` (manual-mode files in
`hermes/skills/setup-projects-meta/`, `hermes/skills/setup-context7/`).
- Coverage check used `[using-tasks-close-coverage-gate]` v1.1.0 rule —
acceptance walked criterion-by-criterion before flipping to 🟢.
## Notes
- Per-task started under «давай без меня все» grant — autonomous push allowed
for this task.