Without an entry, scripts/build-hermes.py fails ("unmapped skill" — every
skill in skills/ must appear in mapping exactly once). Registered under
the pending block alongside using-yt-tools and using-vds-ops because the
skill has bidirectional file-system side effects (read/write
.tasks/NEXT_SESSION.md) and warrants a behavioral audit before promotion.
intended.category = productivity (mirrors using-tasks/setup-tasks —
workflow-state continuity primitive, not engineering toolchain).
Build now reports 28 skills (14 auto / 2 manual / 9 skip / 3 pending).
SKIPPED.md gains an entry under "Pending" with the intended block
preserved across MVP iterations.
Closes [session-handoff-hermes-mapping].
Promotion to mode: auto deferred to a separate post-audit task.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drift fix from d84a0d3 — mapping для using-vds-ops был добавлен но
build-hermes.py не перепрогонялся, оставив dist-hermes/SKIPPED.md
без записи. Регенерил, SKIPPED.md теперь reflects current mapping
(pending block содержит и using-yt-tools, и using-vds-ops).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- using-yt-tools-install: ffmpeg 8.1.1 on PATH, venv populated,
yt-tools 0.1.0 editable, 4 CLIs respond, 67/67 unit tests pass
on this Windows host.
- using-yt-tools-hermes-mapping: registered as `pending` with
intended:{mode:auto, category:research}; build-hermes.py emits
26 skills (1 pending) and SKIPPED.md lists the entry. Promotion
to `auto` gated on using-yt-tools-test-trigger 🟢.
NB: triggers/url_pattern from the task block's yaml sketch don't
match the mapping schema — they live in SKILL.md description and
Hermes picks them up automatically. Build script only consumes
mode/category/reason/intended/replace-rules.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds the conversion infrastructure for the Hermes-rollout (Nous Research):
- hermes/mapping.yaml — per-skill schema (mode: auto|manual|skip|pending,
category, replace-rules, source override). Every skills/<name>/ has an
explicit entry; the build fails on unmapped skills.
- scripts/build-hermes.py — Python converter. Reads mapping.yaml; for auto
applies replace-rules to SKILL.md and copies the rest verbatim; for manual
copies hermes/skills/<source>/ as-is; for skip / pending records to
dist-hermes/SKIPPED.md.
- dist-hermes/ — pre-converted Hermes-flavour tree (committed; consumed by
the recursive installer in [hermes-installer-skill]). Includes 4 universal
skills: pulling-before-work, active-platform (with Linux+bash replacement
rule), project-discipline, using-markitdown. Plus SKIPPED.md listing
8 skip + 10 pending entries.
- README.md — adds "Build for Hermes" section, updates layout, mentions
hermes/, dist-hermes/, build-hermes.py.
Mapping is the source of truth for the audit table from
.wiki/concepts/hermes-skills-rollout-design.md (Q1-Q8). Pending entries
preserve the audit decision (intended mode/category) for the follow-up
tasks: hermes-flavour-mcp-setups, hermes-installer-skill,
hermes-mvp-coverage. Security carry-forward (extraheader-pattern,
POSIX-absolute paths, semver bumps) — infrastructure ready (replace-rules +
manual mode); concrete content lands in hermes-flavour-mcp-setups.
Smoke-tests: idempotent re-run produces no diff; replace-rules verified on
active-platform (Linux+bash); strict-mapping fail-fast verified on a
synthetic unmapped skill (exit 1).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>