← /geode/portfolioGEODE . 문서
GitHub
핵심 개념
레퍼런스

스킬 레지스트리

런타임 SkillRegistry. 5-tier discovery, 리포트 템플릿, frontmatter + markdown 규약.

이 페이지는 GEODE 런타임의 SkillRegistry와 scaffold 측 .claude/skills/의 차이, 그리고 v0.71+에서 패키지화된 core/skills/reports/ 구조를 정리합니다.

두 종류의 스킬

구분위치역할발견 시점
Runtime skillscore/skills/실행 중인 GEODE 에이전트가 호출하는 능력 (예: report 템플릿)bootstrap에서 SkillRegistry가 로드
Scaffold skills.claude/skills/GEODE를 빌드할 때 Claude Code가 사용하는 능력 (예: code review, gitflow)Claude Code session 시작 시 자동

SkillRegistry 구현 (core/skills/skill_registry.py)

SkillRegistry는 5계층 우선순위에 따라 디렉토리를 walk하며 SKILL.md 파일을 발견합니다. 파일은 frontmatter (YAML) + markdown 본문으로 구성됩니다.

---
name: my-skill
description: 한 줄로 무엇을 하는 스킬인지
trigger_keywords: [keyword1, keyword2]
priority: 100
---

(본문 markdown. 에이전트가 system prompt L3에 주입함)

5계층 발견 (lower wins on conflict)

  1. bundled — 코드와 함께 배포 (core/skills/ 또는 plugin). bootstrap.
  2. org — 조직 공유 (~/.geode/org/skills/). 다수 프로젝트 공통.
  3. user — 사용자 (~/.geode/skills/). 개인 설정.
  4. project — 현 프로젝트 (./.geode/skills/). cwd 기반.
  5. session — 1회용 (실행 중 동적 추가). 가장 높은 우선순위.

같은 name의 스킬이 여러 계층에 있으면 위쪽이 이깁니다. session ▸ project ▸ user ▸ org ▸ bundled.

Reports 패키지 (v0.71+)

core/skills/reports/는 분석 출력의 template을 모듈로 패키지화한 것입니다. 각 모듈은 특정 출력 형식의 schema + 어셈블 로직을 갖습니다.

모듈역할
cross_llm.pyCross-LLM 교차 검증 출력.
generator.py구조화된 산출물을 조합한 최종 보고서 생성.
models.py공유 데이터 모델 (Pydantic).

발화되는 hook 이벤트

  • SESSION_START 시 SkillRegistry 로드.
  • 스킬이 매칭되어 system prompt에 주입되면 PROMPT_ASSEMBLED payload의 fragments_used에 포함.

스킬 작성 (3 step)

  1. 적절한 tier 디렉토리에 SKILL.md 생성 (예: ~/.geode/skills/my-skill/SKILL.md).
  2. frontmatter에 name, description, trigger_keywords 작성.
  3. 본문 markdown 작성 (보통 200-500단어).

등록 시점: 다음 bootstrap 또는 session 재시작 시 자동 인식.

참조: Context System (5-layer prompt assembly에서 skill이 L3로 주입), wiki/concepts/geode-prompt-assembly.md, portfolio §3 Recursion (scaffold 측 skill discovery와 mirror).