본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 26. 14:16

WoJiSama/skill-based-architecture

요약

AI 에이전트의 파편화된 규칙 문서들을 체계적으로 관리하기 위한 라이프사이클 프레임워크입니다. 규칙을 라우팅 가능하고 검증 가능한 엔지니어링 자산으로 전환하여 토큰 낭비와 규칙 충돌 문제를 해결합니다.

핵심 포인트

  • 파편화된 프롬프트 문서를 구조화된 스킬 자산으로 전환
  • 라우팅, 검증, 사후 행동 학습 중심의 아키텍처 제공
  • 토큰 낭비 및 규칙 드리프트(Drift) 문제 해결
  • 설명 기반 트리거(description-as-trigger) 원칙 적용

English | 中文

AI 에이전트 규칙 시스템을 위한 라이프사이클 프레임워크 (lifecycle framework). 흩어져 있는 프롬프트 문서들(AGENTS.md, CLAUDE.md, .cursor/rules/, README 규칙들)을 skills/<name>/ 하위의 라우팅 가능하고(routable), 검증 가능하며(verifiable), 업데이트 가능한(updatable) 엔지니어링 자산으로 전환합니다.

이 프레임워크는 규칙 시스템 자체, 즉 구조(structure), 라우팅(routing), 워크플로우(workflows), 검증(validation), 사후 행동 학습(after-action learning), 그리고 상류/하류 업데이트(upstream/downstream updates)에 집중합니다. 특정 기술에 종속된 규칙(technology-specific rules)을 제공하지는 않습니다. 그러한 규칙들은 귀하의 하류 프로젝트 스킬(downstream project skill)에 속해야 합니다.

scattered project guidance
AGENTS.md / CLAUDE.md / .cursor/rules / README notes
│
...
증상발생하는 문제
400줄 이상의 단일 SKILL.md에이전트가 매 작업마다 모든 내용을 읽음 — 토큰(tokens) 낭비, 중요한 내용이 가려짐
AGENTS.md, .cursor/rules/, CLAUDE.md에 규칙이 중복됨드리프트(Drift), 모순 발생, 단일 진실 공급원(source of truth) 부재
스킬 활성화(Skill activation)가 신뢰할 수 없음설명(Description)이 명시적인 트리거 조건(trigger conditions) 대신 수동적인 요약으로 작성됨
어렵게 얻은 교훈이 문서에 묻힘값비싼 실수(pitfalls)가 다음 작업 중에 드러나지 않음
규칙 파일이 줄어들지 않고 계속 늘어남유용한 규칙이 쓸모없어진 규칙들에 의해 묻힘

이 아키텍처는 각각의 문제에 대한 해답을 제시합니다: 라우팅 진실 공급원(routing.yaml), 그 외 모든 곳에서의 얇은 셸(thin shells), 트리거로서의 설명(description-as-trigger) 원칙, 기록 임계값(recording threshold)을 가진 사후 행동 검토(AAR), 그리고 라인 수 신호(line-count signals)와 분할/병합 절차를 통한 자가 유지보수(self-maintenance)입니다.

  • 총 규칙 내용 < 50줄 (단일 CLAUDE.md로 충분함) - 단일 하네스(harness), 팀 공유 없음, 반복 작업 없음
  • 단기적인 개인 프로젝트 (< 2주)

일반적인 CLAUDE.md 또는 .cursor/rules/workflow.mdc로 시작하세요. 콘텐츠가 방대해지면 나중에 업그레이드하면 됩니다. WORKFLOW.md에는 해당 업그레이드를 위한 빠른 시작(Quick Start) 경로가 포함되어 있습니다.

이 저장소를 원하는 어떤 방식으로든 (git clone, zip 다운로드, 서브모듈, 포크 등...) 어느 위치에든 가져오세요. 유일한 요구 사항은 귀하와 에이전트 모두 해당 위치를 알고 있어야 한다는 점입니다.

에이전트가 트리거되었을 때 이 디렉터리를 찾을 수만 있다면 경로는 중요하지 않습니다. 만약 에이전트의 기본 검색 경로(예: Cursor의 ~/.cursor/skills/, .cursor/skills/ 또는 프로젝트 자체의 skills/)에 없다면, 에이전트가 찾을 수 있도록 CLAUDE.md / AGENTS.md / .cursor/rules/에 해당 경로를 작성하세요.

일반적인 배치 위치:

  • 프로젝트 내부:
    skills/skill-based-architecture/

  • 프로젝트 옆:
    ../skill-based-architecture/

  • Cursor 사용자 레벨:
    ~/.cursor/skills/skill-based-architecture/

  • Cursor 프로젝트 레벨:
    .cursor/skills/skill-based-architecture/

예시 (프로젝트 내부에 클론):

git clone https://github.com/WoJiSama/skill-based-architecture.git \
skills/skill-based-architecture

에이전트에게 로컬 메타 스킬 (meta-skill)을 사용하도록 요청하세요:

"Use skill-based-architecture to refactor the project rules"

동일한 의미의 트리거: "Organize the project rules", "Migrate rules to skills/", "整理项目规则".

그러면 에이전트는 templates/에서 미리 구축된 스캐폴드 (scaffold)를 skills/<name>/로 복사하고, 얇은 쉘 (thin shells)을 생성하며, 모든 <!-- FILL: --> 마커를 채운 뒤 검증을 실행합니다. 전체 절차는 WORKFLOW.md를 참조하세요.

이 메타 스킬의 여러 워크플로 (workflows)는 서브 에이전트 위임 (sub-agent delegation) 및 병렬 에이전트 팬아웃 (parallel agent fan-out)에 의존합니다 (templates/skill/workflows/subagent-driven.mdtemplates/skill/workflows/refactor-fanout.md 참조). 대부분의 하네스 (harnesses)에서는 저장소 내의 규칙만으로 충분하며, 에이전트가 스스로 언제 팬아웃을 할지 결정합니다.

Codex는 예외입니다. Codex의 런타임 (runtime)은 spawn_agent에 대해 도구 레벨 규칙 (tool-level rule)을 부과합니다. 즉, 사용자가 서브 에이전트, 위임 또는 병렬 에이전트 작업을 명시적으로 요청할 때만 호출될 수 있습니다. 이 도구 레벨 규칙은 이 저장소의 AGENTS.md나 스킬 파일에 있는 그 어떤 것보다 우선하므로, 워크플로 문서가 에이전트에게 이를 사용하라고 지시하더라도 팬아웃 패턴이 자동으로 실행되지 않습니다.

만약 Codex를 사용 중이고 서브 에이전트 작업(팬아웃 또는 기타 작업)이 실제로 일어나기를 원한다면, 명시적으로 권한을 부여해야 합니다. 두 가지 동일한 패턴은 다음과 같습니다:

작업별 (Per-task) — 위임하고자 하는 구체적인 작업을 명시합니다:

"sub-agent를 사용하여 규칙 파일들을 리팩토링하세요." "각 워크플로우 파일을 병렬로 검토하기 위해 sub-agent들을 생성하세요." "请使用 sub-agent 来扫一遍 templates 目录 (sub-agent를 사용하여 templates 디렉토리를 한 번 훑어보세요)."

세션 전체 (Session-wide) — 시작 시점에 포괄적인 권한을 한 번 부여합니다:

"이번 세션에서는 워크플로우가 필요로 할 때마다 sub-agent를 사용할 수 있습니다." "本次会话我允许你使用 sub-agent (이번 세션에서 당신이 sub-agent를 사용하는 것을 허용합니다)." "이번 세션 동안 자유롭게 sub-agent에게 위임하세요."

두 형태 모두 도구 수준의 규칙(tool-level rule)을 충족합니다. 이 중 하나가 없다면, 워크플로우 문서에서 에이전트에게 sub-agent를 사용하라고 지시하더라도 Codex는 위임 단계를 조용히 건너뛸 것입니다.

이중 계층 라우팅 (Two-layer routing). SKILL.md는 생성된 짧은 항상 읽기 (Always Read) 목록을 유지하며, Common Tasks는 필요할 때만 에이전트를 추가 파일로 라우팅합니다. routing.yaml은 하위 프로젝트에서 편집 가능한 신뢰할 수 있는 단일 원천 (source of truth)입니다.

라우팅을 포함한 얇은 쉘 (Thin shells with routing bootstrap). 모든 엔트리 파일은 routing.yaml을 가리키는 짧은 부트스트랩 (bootstrap)을 내장합니다. 라우팅 테이블은 여러 쉘에 걸쳐 중복되지 않습니다. 자연어 전용 지침은 컨텍스트 요약 (context summarization) 과정에서 유실될 수 있습니다.

트리거 조건으로서의 설명 (Description as trigger condition). 워크플로우 키워드 채우기 방식이 아닌, 사용자의 실제 언어로 된 도메인 수준의 활성화 문구를 사용합니다. 편집 후에는 소리 내어 다시 읽어보세요. 실제 사용자처럼 들리는지 확인하는 데에는 스크립트보다 직접 듣는 것이 가장 확실합니다.

세션 규율 + 작업 종료 (Session Discipline + Task Closure). 동일 세션 내의 모든 새로운 작업 시 SKILL.md를 다시 읽습니다. 사소하지 않은 작업은 30초간의 사후 검토 (AAR, After Action Review) 스캔과 기록 임계값을 통해 마무리하며, 절대 "테스트 통과 = 완료"로 간주하지 마세요.

자가 유지보수 (Self-maintenance). 라인 수 신호는 자동 작업이 아닌 평가를 트리거합니다. 분할/병합 절차와 최신성 확인을 통해 문서를 간결하게 유지합니다.

교차 하네스 (Cross-harness). Cursor, Claude Code, Codex, Windsurf, Gemini, OpenCode, 그리고 AGENTS.md 기반 도구들과 호환됩니다.

도구 (Tool)필수 항목 (Required entry)
Cursor.cursor/skills/<name>/SKILL.md + .cursor/rules/*.mdc
Claude CodeCLAUDE.md (선택 사항: .claude/skills/<name>/SKILL.md stub)
Codex CLI / Copilot CLI / OpenCode / 기타AGENTS.md
Windsurf.windsurf/rules/*.md 또는 공유된 AGENTS.md
Gemini CLIGEMINI.md

모든 항목에는 routing.yaml이 포함되어야 합니다.

bootstrap — Claude Code 네이티브 스킬(native skills)의 경우, 기업(enterprise) > 개인(personal) > 프로젝트(project) 우선순위에 따라 동일한 이름의 스킬이 해결되므로 프로젝트 전용 이름(<project>-review)을 사용하는 것이 좋습니다.

도구별 템플릿: references/per-tool-shells.md.

도구 호환성 심층 분석: 동일 파일.

파일내용
SKILL.md스킬 항목: 사용 시점, 대상 구조, 핵심 원칙
...

이것이 Anthropic의 공식 스킬 템플릿을 대체합니까?
아니요. 공식 템플릿은 최소한의 스킬 형태(SKILL.md와 프론트매터(frontmatter)가 포함된 폴더)를 정의합니다. 이 메타 스킬(meta-skill)은 한 단계 더 나중에 시작됩니다. 즉, 단일 소규모 SKILL.md만으로는 충분하지 않을 때 구조를 추가해 줍니다.

점진적으로 마이그레이션(migrate)할 수 있습니까?
네. 1단계: 규칙(rules) 추출. 2단계: 워크플로(workflows) 추출. 3단계: 참조(references)를 추출하고 얇은 셸(thin shells) 생성. 각 단계마다 프로젝트는 작동 가능한 상태로 유지됩니다.

하위 프로젝트(downstream projects)는 상위 프로젝트(upstream)의 개선 사항을 어떻게 전달받습니까?
에이전트(agent)에게 상위 프로젝트로부터 업데이트하도록 요청하십시오. 복사된 workflows/update-upstream.md는 최신 상위 프로젝트를 클론(clone)하고, 클론된 저장소의 UPSTREAM-CHANGES.md를 읽으며, 스스로 파일을 비교하고, 메커니즘 변경 사항을 패치(patch)하며, 프로젝트 소유 콘텐츠를 보존하고, 상위 프로젝트 자체의 계약(contract)에 대한 준수 여부를 포함하여 검증(validation)을 다시 실행합니다.

Learn AI on LinuxDO — LinuxDO

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0