skillkit
무엇인가
skillkit은 Anthropic의 Agent Skills 규약을 파이썬 에이전트에서 그대로 쓸 수 있게 구현한 라이브러리다. 규율하는 영역은 스킬 파일의 탐색·파싱·선택적 로딩·실행이다. 에이전트가 어떤 스킬을 언제 읽고, 어떤 파일을 언제 열며, 어떤 스크립트를 어떤 제약 아래 실행할지를 코드 수준에서 정한다.
어떻게 동작하나
동작 단위는 SKILL.md 파일이다. YAML frontmatter에 name·description·allowed-tools를 두고 아래에 Markdown 지시문을 적는다. SkillManager가 프로젝트 디렉터리, Anthropic 설정, 플러그인, 사용자 지정 디렉터리를 우선순위 기반 충돌 해소 규칙으로 스캔하고, 최대 5단계 깊이의 중첩 디렉터리까지 훑는다. 로딩은 3단계 점진적 공개를 따른다. 먼저 이름·설명 메타데이터만 읽고, 필요할 때 SKILL.md 본문을, 그다음에 참조 파일을 연다. 본문은 Level 2 캐시에 남겨 재사용한다. invoke_skill 호출로 스킬을 실행하며, 스킬에 포함된 Python·Shell·JavaScript·Ruby·Perl 스크립트도 실행 대상이 된다.
무엇과 다른가
프롬프트를 매번 직접 쓰거나 CLAUDE.md 한 파일에 규칙을 몰아넣는 방식과 구조가 다르다. 스킬을 폴더 단위 패키지로 두고 런타임에 검색·주입하며, 프레임워크 없이도 단독으로 돌고 LangChain과도 결합한다. 모델에 종속되지 않아 어떤 LLM에도 붙는다. LangChain 경로에서는 create_langchain_tools가 스킬을 도구 목록으로 변환해 에이전트가 도구 호출로 스킬을 고르게 한다. MCPB 플러그인 매니페스트를 읽어 네임스페이스가 붙은 스킬 접근도 지원한다.
어떻게 쓰나
설치는 pip install skillkit이며, LangChain 통합은 pip install skillkit[langchain], 전체 확장은 pip install skillkit[all]로 설치한다. 스킬은 .claude/skills/<스킬이름>/SKILL.md 경로에 두면 되고, SkillManager()가 기본값으로 ./.claude/skills/를 본다. discover()로 탐색한 뒤 list_skills()로 목록을 확인하고 invoke_skill(이름, 요청)로 호출한다. 기존 SKILL.md 파일은 수정 없이 그대로 복사해 쓸 수 있다.
전제와 한계
전제는 파이썬 실행 환경이다. 프레임워크 통합은 현재 LangChain만 제공되며 다른 프레임워크 지원은 예정 단계다. Claude Code용으로 배포된 스킬 파일을 읽을 수 있지만, 실행 주체는 Claude Code가 아니라 이 라이브러리를 임포트한 파이썬 에이전트다. 입력 검증, 크기 제한, 의심 패턴 탐지, 경로 보안, 안전한 파일 해석, 스크립트 샌드박싱 같은 보안 제어를 갖추고 있으나, 외부 스킬의 스크립트 실행은 별도 검토가 필요한 영역으로 남는다.
관련 논문 5
유사 도구
- agenthatchSKILL.md를 프롬프트가 아닌 소스 코드로 취급해 3단계 파이프라인으로 독립 실행 가능한 파이썬 에이전트 패키지로 컴파일하는 도구다.
- SkillNet에이전트 스킬을 검색·설치·생성·평가·조합·오케스트레이션하는 절차를 SDK와 CLI로 주입하는 스킬 팩이다. 공개 스킬 라이브러리 검색과 GitHub 다운로드를 자격 증명 없이 수행한다.
- skillsGoogle Cloud 제품별 절차·구성 규칙을 SKILL.md 묶음으로 주입해 에이전트가 GKE·BigQuery·IAM 작업을 문서 기반 절차로 수행하게 한다.
- agents하나의 Markdown 소스에서 Claude Code, Codex, Cursor, Copilot 등 여러 코딩 하네스용 플러그인·에이전트·스킬을 생성해 배포하는 마켓플레이스다.
- MaxKBRAG 파이프라인과 워크플로 엔진, MCP 도구 호출을 묶어 기업용 에이전트를 만드는 Python/Django 오픈소스 플랫폼이다.
- langgraph상태를 가진 장기 실행 에이전트를 그래프로 정의하고 실패 후에도 이어서 실행하는 파이썬 저수준 오케스트레이션 프레임워크다.