Claude Skills와 Cursor Rules를 기술 구조와 레이어 관점에서 정리해보며 적어보는 글이다.
Claude Skills는 기존 Rules 시스템과 본질적으로 다른 개념인가?
결론부터 말하면 Claude Skills와 Cursor Rules는 같은 문제 - 유한한 컨텍스트 윈도우 안에서 에이전트가 무엇을, 언제, 어떻게 알게 할 것인가 - 를 다루고 있지만
서로 다른 레이어에서 그 문제를 해결하고 있는 개념이다. 아이디어의 출발점은 유사하지만, 담당하는 역할과 책임의 범위는 다르다.
Claude Skills와 Cursor Rules는 모두 에이전트가 사용할 컨텍스트를 어떻게 효율적으로 관리할 것인가라는 공통의 문제에서 출발한다.
에이전트 시스템 설계의 핵심은 다음과 같이 요약된다.
지금 이 순간, 모델이 작업을 잘 수행하기 위해 꼭 필요한 정보만 컨텍스트에 올리고, 그 외의 것들은 필요해질 때 꺼내 쓸 수 있게 두는 것.
그래서 기존 방식처럼 모든 규칙과 문서를 시스템 프롬프트에 항상 포함시키는 방식은,
마치 모든 참고서를 항상 들고 다니며 문제를 푸는 것과 같아서 불필요하게 무겁고, 정작 중요한 정보에 집중하기도 어렵다.
Claude Skills, Cursor Rules, MCP는 모두 먼저 간단한 메타데이터(설명)만 노출하고, 실제로 필요한 경우에만 본문 컨텍스트를 불러오는 구조를 채택한다. 이 lazy-loading 방식 덕분에 에이전트는 지금 이 작업에 필요한 정보만 선택적으로 활용할 수 있다.
이 지점까지만 보면, Claude Skills의 기본적인 설계 철학은 기존 Rules 시스템과 크게 다르지 않아 보인다.
근데 Rules와 Skills는 모두 “컨텍스트를 다룬다”는 공통점 때문에 같은 범주로 묶이지만, 실제로는 속해 있는 레이어 자체가 다르다.
Cursor Rules는 AI가 작업을 수행할 때 어떤 기준과 방향성을 따라야 하는지를 정의하는 규칙 체계이다.
예를 들어서 이런 규칙들은 AI의 출력 결과에 영향을 주지만 AI가 새로운 행동을 직접 수행하게 만들지는 않는다.
컨텍스트 윈도우 관점에서 보면, Rules는 프롬프트의 일부로 주입되는 텍스트 기반 가이드라인이다. .md 파일에 정의된 규칙 중 현재 작업에 해당하는 것들만 골라 시스템 프롬프트에 끼워 넣는 식이다. 결국 모델 입장에서는 읽을 글이 늘어나는 것이고, 그 글을 따를지 말지는 모델의 추론에 달려 있다.
그래서 Cursor Rules는 컨텍스트 및 행동 지침 레이어에 속한다고 볼 수 있다.
반면 Claude Skills는 단순한 사고 방향 지침에 머무르지 않고 AI가 실제로 수행할 수 있는 행동을 하나의 단위로 묶은 개념이라서
문서 처리, 스크립트 실행, 외부 도구 호출과 같은 작업은 '이렇게 해보라'는 지침이 아니라, 실제로 실행 가능한 기능으로 제공된다.
예를 들어 이런 요청은 단순한 텍스트 생성만으로는 해결되지 않는다.
Claude Skills는 이러한 작업을 실제 실행 가능한 워크플로우로 묶어 제공해서
AI가 어떤 기준으로 생각할지를 정의하는 것이 아니라, AI가 무엇을 할 수 있는지를 정의한다.
컨텍스트 윈도우 관점에서 Skills의 유리한 부분은 점진적 공개(Progressive Disclosure) 구조에 있다.
처음에는 Skill의 이름과 짧은 description만 컨텍스트에 노출된다.
모델이 '이 작업에는 해당 Skill이 필요하겠다'고 판단하면 그때 SKILL.md를 읽어 들인다.
더 깊이 필요해지면 Skill 폴더 내의 추가 문서나 스크립트를 참조하고, 필요하면 Python 스크립트를 실행해서, 결과만 컨텍스트에 가져온다 (원본 데이터는 컨텍스트에 올리지 않고).
이 점에서 Skills는 컨텍스트 관리보다는 기능 및 실행 레이어에 더 가깝다.
여기에 MCP(Model Context Protocol)를 더해보자. MCP는 또 다른 층위의 문제를 푼다.
Rules와 Skills가 무엇을 알게 할 것인가, 무엇을 할 수 있게 할 것인가의 문제라면, MCP는 어디서 그 정보를 가져오고, 어떻게 외부 시스템과 연결할 것인가의 문제다.
컨텍스트 윈도우 관점에서 MCP의 핵심은 외부 상태를 컨텍스트로 끌어오는 통로라는 점이다. 사내 위키 전체를 시스템 프롬프트에 박아둘 수는 없지만, MCP를 통해 필요할 때 검색해서 관련 페이지만 가져올 수 있다. 이는 Skills의 점진적 공개와 비슷한 철학이지만, 로컬 파일이 아니라 원격 시스템을 대상으로 한다는 점이 다르다.
MCP는 에이전트를 외부 세계와 연결하는 연결 및 통신 레이어에 속한다.
이 세 가지가 모두 향하고 있는 곳은 컨텍스트 윈도우에 매 순간 가장 적절한 걸 올려놓는 것이다. 모델이 강해질수록 컨텍스트는 늘어나겠지만, 필요한 것만 적시에 라는 원칙은 사라지지 않는다. 오히려 도구와 데이터가 폭발적으로 늘어나는 지금이야말로 어떤 정보를 어느 레이어에서 다룰지를 구분해서 설계하는 감각이 더 중요해지고 있다.
Rules로 충분한 것을 Skill로 만들 필요는 없고, Skill로 해결할 일을 Rules에 욱여넣어서도 안 된다. MCP로 풀어야 할 외부 연동을 로컬 Skill로 흉내 내는 것도 마찬가지다. 각 레이어가 잘하는 일을 그 레이어에 맡기는 것이 좋은 에이전트 시스템 설계의 본질 중 하나가 될 것 같다.