skillkit

AI Agent FrameworksskillPython

★ 147조회 4

무엇인가

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

유사 도구