Pre-choice usable artifact execution
Purpose & Output Contractの最小の実成果物をmain contextで作成する。effect別のparse/open・secret・irreversible・corrupt guardだけを実行し、現物path・digest・開き方を提示してからaccept-as-is/light/standard/detailedを記録する。accept-as-isはその場でhandoff完了とし、後続sectionを実行しない。
Post-choice selected improvement execution
以下の既存workflow・goal-seek・評価・修正sectionはlight/standard/detailedが記録されてsemantic_evaluator_startedへ遷移した場合だけ実行する。release/exhaustiveは別の明示eventを必要とする。
run-skill-rename
Purpose & Output Contract
スキルを安全に改名するワークフロー(A5/C2: 未実装スキルの新規作成)。
入力: old_name (現在のスキル名), new_name (新しいスキル名)
出力:
- 改名済みディレクトリ
$OUT_BASE/<new-name>/
- SKILL.md frontmatter の
name: 更新
aliases: に旧名を追加
CHANGELOG.md に改名エントリ追加
- 参照元スキルの
pair: / Skill() 記述を新名に更新
完了条件: lint-skill-name.py, lint-skill-tree.py が exit 0。
Key Rules
- ディレクトリ名 == frontmatter.name: 第8条。改名後は両方を同時更新。
- alias必須: 旧名を
aliases: に登録して参照切れを防ぐ(第6条)。
- CHANGELOG必須: 改名エントリを
references/CHANGELOG.md に追加(第6条)。
- 参照元更新:
pair: / Skill() の旧名参照を新名に更新する。
- gitの履歴保持:
git mv を使い、ファイル移動の履歴を残す。
ゴールシーク実行
ゴール (Goal)
旧名スキルが $OUT_BASE/<new-name>/ へ git 履歴を保ったまま改名され、frontmatter.name・aliases・CHANGELOG・全参照元 (pair:/Skill()) が新名で整合し、lint-skill-name.py / lint-skill-tree.py が exit 0 の状態になっている。
目的・背景 (Why)
ディレクトリ名・frontmatter.name・参照は同時に一致させないと参照切れを生む (第8条)。部分更新で不整合が起きやすいため、固定手順ではなく「全箇所が新名で整合した状態」へ向けて未達箇所を都度埋める。
完了チェックリスト (Checklist)
ゴールシークループ
正本 ../run-build-skill/references/goal-seek-paradigm.md の 6 ステップ (現状評価→手順生成→実行→検証→Anchor Step→反復/差し戻し) に従う。本スキル固有の差分:
- 対象パス:
$OUT_BASE は resolve-skill-dirs.py 出力。入出力は $OUT_BASE/$OLD_NAME → $OUT_BASE/$NEW_NAME。
- 不可分セット: ディレクトリ改名・frontmatter.name・aliases は必ずひとまとめで満たす (どれか欠けると参照不整合)。
- 検証コマンド:
lint-skill-name.py "$OUT_BASE/$NEW_NAME/SKILL.md" / lint-skill-tree.py "$OUT_BASE/$NEW_NAME" / validate-frontmatter.py。いずれか非 0 なら frontmatter/参照更新へ差し戻す。
- 参照元検索:
grep -r "$OLD_NAME" "$OUT_BASE/" --include="SKILL.md" -l。
Gotchas
- git mv 省略禁止:
rm + mkdir で移動すると git 履歴が途切れる。
- alias 追加忘れ: alias なしで旧名参照があると呼び出し先が消える。
- CHANGELOG 省略禁止: 第6条違反。CI で検出される。
- 部分更新: ディレクトリ名だけ or frontmatter だけの更新は不整合を生む。改名・frontmatter.name・aliases は必ずセットで満たす。
Additional Resources
06-classification-and-naming.md — 命名規約 第6条(改名手続き)
13-checklists.md — 命名規約条文チェックリスト
plugins/skill-governance-lint/scripts/lint-skill-name.py — 命名検証
plugins/harness-creator/skills/run-build-skill/scripts/resolve-skill-dirs.py — OUT_BASE 解決スクリプト