Files
claude-skills/.tasks/session-handoff-install.md
vitya 90c5be7c88 fix(skills): session-handoff yaml desc, double-quote [v0.2.1]
Bare-scalar description contained `: ` (colon-space) inside backticks
(`Триггер-строка CLAUDE.md ` + literal trigger-line containing `: `).
Strict YAML parser treated the inner `: ` as nested mapping → description
field dropped → harness fallback to H1 → skill listing showed
"session-handoff: session-handoff" (trigger phrases non-functional).

Fix: wrap entire description in double-quotes. Shrink 650→462 chars
(865→555 bytes) by moving substantive-commit heuristic, sliding-overwrite
detail, and project-scope clause to body Steps/Side/Failure sections
(already documented there). All 6 session-end triggers + 4 skip phrases
+ trigger-line preserved verbatim.

Bump 0.2.0 → 0.2.1 PATCH (frontmatter wording, no behavior change).
Closes [session-handoff-install]; unblocks [session-handoff-test-trigger].

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 21:56:30 +03:00

3.6 KiB
Raw Permalink Blame History

session-handoff-install

Goal

Установить скил session-handoff в ~/.claude/skills/session-handoff/ через scripts/install.ps1 -Names session-handoff и убедиться что harness видит его + рендерит description в листинге. Анлокает [session-handoff-test-trigger] (нужен установленный + работающий скил для trigger smoke).

Key files

  • scripts/install.ps1 — копирует skills/<name>/~/.claude/skills/<name>/ (replace mode)
  • skills/session-handoff/SKILL.md:1-5 — frontmatter (version: 0.2.1, double-quoted description)
  • ~/.claude/skills/session-handoff/SKILL.md — установленная копия

Decisions log

  • 2026-05-24: исходный description v0.2.0 (650 chars / 865 bytes) renderился как - session-handoff: session-handoff (harness fallback к H1). Сначала подозревал byte-overflow (memory feedback_skill_description_length_limit — лимит ~1024). Прокачав через PowerShell + Python YAML parser, root cause найден: : (colon-space) внутри bare-scalar — конкретно Триггер-строка CLAUDE.md \session handoff: read on start, write on end`— YAML parser в strict mode принималsession handoff:` за nested mapping key. Backticks не спасают, YAML их не интерпретирует.
  • 2026-05-24: fix = wrap description в double-quotes ("..."). Альтернатива (rephrase to remove : ) — слабее, потому что trigger-line literal содержит : by design (это user-facing trigger phrase в формате CLAUDE.md).
  • 2026-05-24: бонусом shrink с 650→462 chars (убрал substantive-commit heuristic, sliding-overwrite detail, project-scope clause — всё уже в body Steps/Side effects/Failure modes). Triggers + skip phrases сохранены 1-в-1.
  • 2026-05-24: bump 0.2.0 → 0.2.1 PATCH (wording-only frontmatter edit, поведение скила не меняется).
  • 2026-05-24: harness auto-discovered после Copy-Item (replace mode install) — /reload-plugins не понадобился, listing внутри текущей сессии обновился. Это противоречит формулировке task'и («Открыть новую CC сессию → /skills»). На этой версии CC re-scan SKILL.md происходит при следующем skill-listing вызове.

Open questions

  • (нет — атомарная install-таска)

Completed steps

  • edit STATUS.md → 🔴 active
  • run pwsh scripts\install.ps1 -Names session-handoff (через PowerShell tool, bash не видит pwsh)
  • verify ~/.claude/skills/session-handoff/SKILL.md v0.2.0 on disk
  • discover description-rendering bug в листинге (fallback к H1)
  • root-cause: YAML : ambiguity внутри bare scalar (не byte-overflow)
  • fix: wrap description в double-quotes + bump 0.2.0 → 0.2.1
  • reinstall
  • verify listing рендерит полный description
  • save memory: feedback_skill_description_yaml_colon_gotcha.md (new) + cross-ref в feedback_skill_description_length_limit.md
  • close 🟢

Notes

Step «открыть новую CC сессию → /skills» из исходного next_action был safety-net на случай если harness не подхватит auto. Auto-pickup сработал — verified в эту же сессию через системный skill-listing.