Cursor Rules vs Agent Skills: 두 가지를 모두 테스트해봤습니다. 각각 실제로 작동하는 시점은 언제인지 알려드립니다.
Source: Dev.to
위 링크에 있는 전체 텍스트를 제공해 주시면, 해당 내용을 한국어로 번역해 드리겠습니다. (코드 블록, URL 및 마크다운 형식은 그대로 유지됩니다.)
짧은 답변
규칙은 더 이상 사용되지 않는 것이 아닙니다. 그것들은 서로 다른 일을 합니다. 제가 찾은 내용은 다음과 같습니다.
설정
두 형식 모두에서 동일한 지시문을 만들고 Cursor의 에이전트를 통해 실행하여 각각이 어떻게 동작하는지 확인했습니다.
규칙으로서 (.cursor/rules/jsdoc.mdc with alwaysApply: true)
---
description: "JSDoc rules"
alwaysApply: true
---
Always add JSDoc comments to exported functions.
스킬로서 (.cursor/skills/jsdoc/SKILL.md)
# JSDoc Skill
Always add JSDoc comments to exported functions.
Test 1 – 각 항목이 관련 작업에서 제대로 작동하는가?
Prompt: “날짜를 포맷하는 유틸리티 함수를 생성하세요”
- Rule:
@param및@returns가 포함된 전체 JSDoc을 추가했습니다. 지침을 따랐습니다. - Skill: 동일한 결과 – 전체 JSDoc, 지침을 따름.
작업이 지침이 다루는 내용과 일치할 때, 규칙과 스킬 모두 정상적으로 작동합니다.
테스트 2 – 각각이 관련 없는 작업에서 로드되는가?
각 설정에 마커 지시문(// RULE-LOADED 또는 // SKILL-LOADED)을 부여하고, Cursor에게 Python “Hello, World!” 스크립트를 작성하도록 요청했습니다—JSDoc이나 JavaScript와는 전혀 관련이 없습니다.
- Rule (alwaysApply: true): 마커 주석이 Python 파일에 나타났습니다. 작업이 관련 없었음에도 규칙이 로드되었습니다.
- Skill: 마커가 없습니다. 스킬이 전혀 로드되지 않았습니다.
핵심 행동 차이: alwaysApply: true가 설정된 규칙은 관련성에 관계없이 모든 프롬프트에 삽입됩니다. 스킬은 에이전트가 작업이 관련 있다고 판단할 때만 로드됩니다.
Test 3 – Cross‑tool discovery
Cursor의 문서에 따르면 교차‑도구 호환성을 위해 .claude/skills/와 .codex/skills/에서 스킬을 자동으로 발견한다고 합니다. 저는 마커 지시문이 포함된 스킬을 .claude/skills/test/SKILL.md에 넣고 관련 작업을 실행했습니다.
그 스킬은 로드되지 않았습니다. Cursor가 찾지 못했습니다. 이는 CLI와 GUI의 차이일 수도 있고, .cursor/skills/에서만 작동할 수도 있습니다. 어쨌든 “.claude/skills/에 넣으면 모든 도구가 찾는다”는 주장은 제 테스트에서는 입증되지 않았습니다.
언제 어떤 것을 사용할까
규칙을 사용할 때:
- 모든 작업에 강제 적용하고 싶을 때 (코딩 스타일, 명명 규칙, 프레임워크 패턴 등).
- 작업이 관련 없어 보이더라도 적용되길 원할 때 (예: 리팩터링 중 “주석 보존”).
- 예측 가능하고 항상 켜져 있는 동작을 원할 때.
스킬을 사용할 때:
- 절차적이고 다단계 워크플로가 있을 때 (예: “스테이징에 배포하는 방법”).
- 해당 상황에만 로드되도록 하고 싶을 때 (컨텍스트 창 공간 절약).
- 도구 간에 이식 가능한 무언가를 만들 때 (크로스‑툴 탐색이 안정적으로 작동할 경우).
마이그레이션 질문
Cursor에는 문서에 /migrate-to-skills 명령이 언급되어 있습니다. CLI를 통해 테스트해 보지는 못했는데 (GUI 전용인 것 같습니다). v2.4 변경 로그에서는 스킬을 규칙의 보완으로 위치시킵니다: “항상 켜져 있는 선언적 규칙에 비해, 스킬은 동적 컨텍스트 탐색 및 절차적 방법 지시사항에 더 적합합니다.”
그 프레이밍은 제가 테스트한 내용과 일치합니다. 규칙과 스킬은 경쟁 관계가 아니라 서로 다른 사용 사례를 처리합니다.
.cursor/rules/ 파일에 대한 의미
.mdc규칙에alwaysApply: true가 설정되어 코딩 스타일, 오류 처리 패턴, 프레임워크 규칙 등과 같은 경우라면 계속 사용하세요. 이 규칙들은 작동하고 신뢰할 수 있으며 매번 로드됩니다.- 멀티스텝 워크플로우나 배포 절차를 구축하고 있다면 스킬이 더 적합합니다. 필요할 때만 로드되므로 컨텍스트 창을 깔끔하게 유지합니다.
규칙이 폐기되었다는 이유만으로 모든 것을 스킬로 옮기지 마세요. 규칙은 폐기되지 않았습니다.
Links
- 77 free .mdc rules – 시작점입니다.
- cursor‑lint – 규칙을 검증하고 스택에서 자동으로 생성할 수 있습니다 (
npx cursor-lint --generate). - Agent Skills spec – 오픈 표준입니다.
- Cursor docs on rules 및 skills.