Skip to content

[P1-1] Agent Skills 표준 구조로 행동 보존 마이그레이션한다 #52

Description

@jsleemaster

문제

skills/_core/SKILL.mdname: gooblin-core는 부모 디렉터리명과 일치하지 않고, 라우터가 선택한 동료 skill을 실제로 어떻게 로드하는지 명확하지 않다. 구조 변경과 역할 의미 변경을 섞으면 회귀 원인을 분리하기 어렵다.

목표

공식 Agent Skills 규격을 만족하는 단일 progressive-disclosure 구조로 옮기되, 기존 역할·라우팅·safety 의미는 바꾸지 않는다.

의존성

제안 구조

skills/gooblin/
├── SKILL.md
└── references/
    ├── clipper.md
    ├── ground-control.md
    ├── rubber-duck.md
    ├── yak-shaver.md
    └── safety-floor.md

router는 선택된 reference만 읽고, direct command는 alias/migration surface로 유지한다.

완료 조건

  • name === parent directory를 포함한 공식 규격을 통과한다.
  • _core 예외를 validator에서 제거한다.
  • 내부 Markdown 링크가 100% 유효하다.
  • 선택하지 않은 reference는 기본 context에 로드되지 않는다.
  • 기존 행동을 고정한 10개 deterministic routing fixture가 통과한다.
  • direct command 호환 또는 migration guide가 있다.
  • 역할 출력 의미 변경은 #51로 분리한다.

Stable Skill ID 호환성 보강

docs/stability.md가 공개 안정 표면으로 선언한 gooblin-core, clipper, ground-control, rubber-duck, yak-shaver, gooblin을 구조 정리만으로 조용히 제거하지 않는다.

  • 기존 direct skill ID별 before/after discovery fixture가 있다.
  • 기존 ID를 compatibility wrapper로 유지하거나, 제거가 필요하면 semver major·deprecation 기간·migration guide·release note를 먼저 제공한다.
  • plugin.yaml, Claude/Codex manifests, docs/stability.md가 실제 skill payload와 일치한다.
  • 각 canonical skill에 skills-ref validate를 실행하고 결과를 기록한다.
  • Claude plugin surface는 지원되는 현재 CLI에서 claude plugin validate --strict 결과를 기록한다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions