skills-constitution
무엇인가
스킬 호출 행위 자체를 규율하는 상위 규칙 묶음이다. 개별 능력의 내용이 아니라 "어떤 능력을 언제 어떻게 고르는가"를 규정한다. 에이전트가 자체 지식으로 먼저 답하거나, 쓸 수 있는 능력이 있는데도 우회하거나, 검색 없이 불가능을 선언하는 상황을 규칙 위반으로 정의하고 차단 대상으로 삼는다.
어떻게 동작하나
구성은 SKILL.md 본문, 조항별 판정 스크립트, 능력 인덱스로 나뉜다. 조항은 제0조 작업 분류(단순 질의는 면제, 전문 작업은 강제), 제1조 사전 조회, 제2조 매칭 시 무조건 사용, 제3조 무매칭 시 검색 우선, 제4조 능력 경계 확인, 제5조 로컬 추천 스냅샷 우선 조회로 이어진다. 실행은 scripts/pre-hook.py가 작업 시작 전 기억층과 skill_tree.json을 주입하고, scripts/constitution-check가 출력물에 실제 스킬명이 인용됐는지 검증하며, scripts/retry-wrapper.py가 실패 시 최대 3회 재시도를 건다. scripts/register_hooks.py로 훅을 등록하면 미준수 출력이 exit 1로 차단된다. 인덱스는 scripts/build_skill_tree.py가 생성하는 skill_tree.json·SKILL_TREE.md이고, registry.json은 설치 가능한 외부 능력 목록, data/skill_rankings.json은 오프라인 추천용 랭킹 스냅샷이다.
무엇과 다른가
프롬프트에 규칙 문장을 직접 적어 두는 방식과 달리, 규칙 준수 여부를 스크립트가 검사하고 실패를 종료 코드로 되돌린다. 단순 규칙 파일이 문서 한 장인 데 비해 이 팩은 조항·훅·인덱스·레지스트리를 함께 배포한다. 또 독립 스킬과 플러그인 캐시에 들어 있는 플러그인 스킬을 같은 가중치로 인덱싱하고, 플러그인이라는 이유로 호출을 건너뛰는 것을 위반으로 규정한다. 플랫폼별 설치 경로를 자동 분기하는 install.sh를 포함해 Claude Code·WorkBuddy·Cursor·Windsurf·Cline·ChatGPT·Gemini에 같은 규칙을 이식한다.
어떻게 쓰나
설치는 저장소를 복제한 뒤 install.sh를 실행하면 플랫폼을 자동 감지해 스킬 디렉터리 배치와 훅 등록, 능력 트리 재생성을 수행한다. 훅만 따로 다루려면 register_hooks.py를 --dry-run으로 미리 보고 --uninstall로 제거한다. 훅을 지원하지 않는 플랫폼은 README의 주입 템플릿을 시스템 프롬프트나 메모리층에 붙인다. 설치 후에는 SKILLS_DIR을 지정해 build_skill_tree.py를 반드시 다시 돌려야 하며, 저장소에 동봉된 트리는 작성자 환경의 예시일 뿐이다.
전제와 한계
전제는 Python 실행 환경과 훅 등록을 지원하는 에이전트다. 훅이 없는 플랫폼에서는 프롬프트 주입만 남아 검증이 선언적 수준으로 약화된다. 번역·윤문·개념 설명 같은 단순 작업은 제0조로 면제되어 게이트를 타지 않는다. 랭킹 스냅샷은 30일이 지나면 갱신 스크립트를 돌려야 하고, 능력 트리도 사용자 환경에서 재생성하지 않으면 실제 설치된 스킬과 어긋난다.