Claude Code와 Cursor로 하는 명세 주도 개발
Claude Code는 코드베이스를 읽고, 파일을 고치고, 명령을 실행하는 에이전트형 코딩 도구입니다. Cursor는 프로젝트 규칙이 .cursor/rules에 .mdc 파일로 있는 편집기입니다. 명세 주도 개발(SDD, spec-driven development)은 코드보다 먼저 명세를 쓰고, 명세를 진실의 원천으로 다루는 방식입니다. 제품 요구사항 문서(PRD, product requirements document)는 일을 작업으로 나누기 전에 문제와 범위를 적는 산문입니다. SpecScore에서 기능 명세는 제품의 한 능력을 위한 파일이고, 요구사항(REQ, requirement)은 그 기능 안의 이름이 있는 규칙이며, 인수 기준(AC, acceptance criterion)은 그 규칙 하나 이상을 가리키는 선택적 추상 조건입니다. 지속적 통합(CI, continuous integration)은 제안된 변경마다 도는 자동 검사입니다. 그 검사는 명령줄 인터페이스(CLI, command-line interface) 명령 specscore spec lint이며, CLI는 specscore/specscore-cli에 있습니다. 이 페이지에서 Cursor 명세는, 그 기능 파일과, 에이전트에게 그것을 린트하라고 알리는 Cursor 프로젝트 규칙을 합친 것입니다.
마지막 업데이트: 2026년 11월 6일
기능에 들어가는 것과 에이전트 파일에 들어가는 것
기능 파일이 의무를 담습니다. spec/features/ 아래의 기능 README는 #### REQ: 규칙과 ### AC: 기준을 실습니다. 채워 넣은 형태, 계획, 작업이 Markdown PRD 템플릿입니다. specscore spec lint는 그 형태를 검사합니다. 제목, 필수 절, 인덱스 행, 참조입니다. 제품 생각이 좋은지는 정하지 않습니다. CI에서 명세 린터로 명세를 린트하기가 그 명령에 대한 더 긴 설명입니다.
에이전트 파일은 하나의 도구를 위한 지시를 담습니다. Anthropic의 개요는 CLAUDE.md가 프로젝트 루트의 Markdown 파일이며, Claude Code가 매 세션 시작 때 읽는다고 말합니다. Cursor의 규칙 문서는 프로젝트 규칙이 .mdc 파일이고 .cursor/rules에 있으며, 그 디렉터리의 평범한 .md 파일은 frontmatter가 없어서 무시된다고 말합니다. 그 파일들은 저장소에서 어떻게 일할지 에이전트에게 알립니다. 린터가 검사하는 명세는 아닙니다. CLAUDE.md에만, 또는 .cursor/rules/specscore.mdc에만 있는 요구사항은 specscore spec lint에 보이지 않습니다.
specscore agent setup이 쓰는 것
CLI README는 specscore agent setup이 각 에이전트의 지시 파일을 쓰고, 그 에이전트에 스킬 디렉터리가 있으면 SpecScore 스킬 번들을 그 안으로 복사한다고 말합니다. 명령은 --force를 넘기지 않는 한 기존 파일을 건너뜁니다. 계약은 agent-setup 기능이며, specscore/specscore-cli에 있습니다.
그 계약은 호출자 id claude를 CLAUDE.md와 .claude/skills/에, 호출자 id cursor를 .cursor/rules/specscore.mdc와 .cursor/skills/에 대응시킵니다. 이미 specscore.yaml이 있는 프로젝트 안에서 명령을 실행합니다. 그 파일이 없으면 명령은 6으로 끝나고, 메시지는 specscore init을 제안합니다. 두 에이전트를 모두 이름 붙이는 한 번의 호출은 specscore agent setup claude,cursor입니다. 기능은 쉼표로 구분한 목록이 따로 준 인자와 같다고 말합니다. 부모 디렉터리는 만들어집니다. 모든 경로는 추가, 수정 또는 건너뜀으로 보고됩니다.
생성된 CLAUDE.md에는 프로젝트 제목, --caller claude를 넘기는 CLI 예, 설치 줄 /plugin install specscore@specscore가 들어 있습니다. Cursor 파일은 YAML frontmatter가 있는 Markdown입니다. frontmatter에는 description과 alwaysApply: true가 들어 있습니다. Cursor의 규칙 표는 alwaysApply: true가 규칙을 모든 채팅에 포함한다는 뜻이라고 말합니다. --no-skills는 지시 파일을 쓰고 스킬 번들은 복사하지 않습니다. 같은 계약 표는 codex, copilot, antigravity.google, pi.dev, opencode, deepseek도 이름 붙입니다. 이 페이지는 제목에 있는 두 에이전트를 다룹니다.
specscore agent setup claude,cursor
CLAUDE.md
.claude/skills/
.cursor/rules/specscore.mdc
.cursor/skills/
지시 파일은 기능 트리를 가리킵니다. 그것을 대체하지는 않습니다. 설정 후에도 Claude Code는 spec/features/를 읽어야 하고, Cursor의 규칙도 같은 트리를 가리켜야 합니다. 기능 명세는 specscore spec lint가 받아들이거나 거부하는 문서로 남습니다.
루프 안에서 specscore spec lint 실행하기
먼저 CLI를 설치합니다. 설치 방법은 설치 페이지에 있습니다. 그다음 기능과 린터를 에이전트와 같은 루프에 둡니다.
프롬프트 전에 기능 쓰기
PRD 템플릿을 써서 기능 README, 기능 인덱스 행, specscore.yaml을 추가합니다. 각 의무는 ## Behavior 아래에 #### REQ: {slug}로 둡니다. 인수 기준은 **Requirements:**로 그 id를 가리킵니다. CLAUDE.md와 .cursor/rules/는 다음 단계에 남깁니다.
에이전트가 코드를 고치기 전에 린트하기
저장소에서 specscore spec lint를 실행합니다. 깨끗한 트리는 0 violations found를 출력하고 종료 코드 0입니다. 실패 보고 — 파일, 줄, 심각도, 규칙, 메시지 — 는 CI에서 명세 린터로 명세를 린트하기에 있습니다. 그 명령이 깨끗해질 때까지 기능을 고칩니다. 린터가 이미 거부한 기능에서 시작하는 에이전트는 깨진 형태를 베낍니다.
Claude Code와 Cursor를 트리로 향하게 하기
specscore agent setup claude,cursor를 실행합니다. 추가된 CLAUDE.md와 .cursor/rules/specscore.mdc를 읽고, 그것들이 명세 트리와 CLI를 이름 붙이는지, --caller를 포함하는지 확인합니다. 어느 한쪽 파일이 이미 있었다면, 명령은 그것을 건너뜁니다. --force는 그 파일을 바꾸려는 뜻일 때만 넘깁니다.
기준의 이름을 대는 작업 요청하기
에이전트 세션에서는, 일이 만족해야 하는 기능과 인수 기준의 이름을 댑니다. 계획의 작업은 **Verifies:**와 인수 기준 id로 그렇게 합니다. 끝나기 전에 specscore spec lint를 다시 실행하고, 행동이 바뀌면 기능 파일을 바꾸라고 에이전트에게 요청합니다. 지시 파일은 에이전트에게 명령을 실행하라고 알립니다. 명령이 검사하는 것은 기능 파일입니다.
lint, feature, task를 드러내는 스킬
래퍼 플러그인에 대해 CLI README의 설치 줄은 /plugin marketplace add specscore/ai-marketplace와 /plugin install specscore@specscore입니다. 플러그인 저장소는 specscore/ai-plugin-specscore이며, MIT 라이선스 아래에 있습니다. 그 skills README는 사용자가 /specscore:<skill-name>를 호출한다고 말합니다. 함께 제공되는 래퍼에는 /specscore:spec이 있고, 그것은 specscore spec lint를 감쌉니다. /specscore:feature는 specscore feature(list, info, tree, deps, refs, new, change-status)를 감쌉니다. /specscore:task는 specscore task를 감쌉니다. /specscore:change-status는 기능과 아이디어의 상태 변경을 다룹니다. 이 사이트의 CLI Skills 페이지가 그 래퍼입니다. specscore agent setup은 그 스킬 번들을 .claude/skills/와 .cursor/skills/로 복사합니다. 다만 --no-skills를 넘기면 복사하지 않습니다.
플러그인 README는 Cursor에 원격 설치 명령이 없고, 스킬을 프로젝트의 .cursor/skills/에서, 또는 ~/.cursor/skills/에서 불러온다고 말합니다. 거기에 나오는 수동 복사는 git clone으로 ai-plugin-specscore를 받고, cp -R로 skills/*를 .cursor/skills/로 넣는 것입니다. specscore agent setup cursor는 기능 명세가 이름을 붙인 마켓플레이스에서 그 복사를 대신 해 주는 명령입니다.
SpecStudio Skills는 안내형 워크플로입니다. 저장소는 specscore/specstudio-skills이며, MIT 라이선스 아래에 있습니다. 그 README의 Claude Code 설치 줄은 /plugin install specstudio@specscore이고, Claude Code가 specscore 플러그인을 의존성으로 설치한다고 말합니다. 상태 절은 버전 0.0.7을 이름 붙이고, ideate, specify, plan, implement, verify, recap 스킬이 dogfood할 수 있을 만큼 활성이라고 말합니다. 같은 README의 목록 표는 specstudio:ideate와 specstudio:specify를 자세히 문서화합니다. 그 스킬들은 SpecScore 산출물을 씁니다. specscore spec lint를 대체하지는 않습니다.
CI에서도 같은 명령
dogfood.yml는 specscore/specscore에서 SPECSCORE_VERSION을 v0.39.1로 두고, pull request와 main으로의 push에서 specscore spec lint를 실행합니다. 워크플로 발췌와 텍스트 보고는 CI에서 명세 린터로 명세를 린트하기에 있습니다. 제목을 깨뜨린 기능은 파일을 쓴 것이 Claude Code든 Cursor든 그 작업을 실패하게 합니다. 에이전트 루프와 CI는 같은 명령을 호출합니다.
형식의 라이선스는 CC BY 4.0이며, specscore/specscore에 있습니다. CLI의 라이선스는 Apache-2.0이며, specscore/specscore-cli에 있습니다.
다른 명세 주도 도구는 서로 다른 검사를 공개합니다. 아래 문장은 그 프로젝트 자신의 페이지가 말하는 것만 사용합니다. 도구 정리는 같은 페이지를 2026년 10월 30일에 읽은 것으로 기록합니다. 다만 Spec Kit 문서 홈은 2026년 9월 28일을 인쇄합니다.
OpenSpec는 openspec validate를 자신의 CLI 참고에 문서화합니다. 그 명령은 OpenSpec의 변경과 명세 구조를 검사합니다. SpecScore의 ### AC: 제목은 검사하지 않습니다.
Task Master README는 task-master parse-prd로 PRD를 작업으로 파싱한다고 설명합니다. 그 PRD를 위한 린터는 설명하지 않습니다.
GitHub Spec Kit는 단계가 Markdown 산출물을 쓰는 에이전트 워크플로를 설명합니다. 그 문서 홈은 CI에서 SpecScore 기능 README를 린트하는 명령을 설명하지 않습니다.
자주 묻는 질문
Claude Code 명세 주도 개발이란 무엇입니까?
Claude Code가 코드를 쓰기 전에 SpecScore 기능을 쓰고, 그다음 CLAUDE.md를 그 기능을 가리키는 지시 파일로 유지하는 것입니다. 기능은 요구사항(REQ)과 인수 기준(AC)을 담습니다. specscore spec lint가 기능을 검사합니다. specscore agent setup claude는 CLAUDE.md를, 이미 specscore.yaml이 있는 프로젝트에 씁니다.
Cursor 명세는 어디에 둡니까?
제품의 의무는 spec/features/ 아래의 기능 README에 들어갑니다. Cursor 프로젝트 규칙은 .cursor/rules/specscore.mdc에 들어갑니다. 스킬 파일은 .cursor/skills/에 들어갑니다. specscore agent setup cursor는 규칙을 쓰고, --no-skills를 넘기지 않는 한 스킬 번들을 복사합니다. .mdc 규칙이 어떻게 적용되는지의 출처는 Cursor 자신의 문서입니다.
CLAUDE.md가 기능 명세를 대체합니까?
아닙니다. CLAUDE.md는 Claude Code가 지시로 읽는 파일입니다. 기능 README는 specscore spec lint가 검사하는 파일입니다. agent-setup 기능는 생성된 파일이 에이전트에게 명세 트리와 CLI 명령을 가르친다고 말합니다. 지시 파일이 명세라고는 말하지 않습니다.
CLAUDE.md나 Cursor 규칙이 이미 있으면 어떻게 됩니까?
명령은 기존 파일을 건너뛰고, --force를 언급하는 건너뛰기 줄을 출력합니다. 기존 바이트는 그대로 남습니다. --force는 교체가 원하는 것일 때만 넘깁니다. 같은 건너뛰기 규칙은 이미 있는 스킬 파일에도 적용됩니다.
어느 스킬이 린터를 실행합니까?
플러그인의 skills README에서 /specscore:spec는 specscore spec lint를 감쌉니다. 그 CLI 명령은 에이전트 세션에서나 CI에서나 직접 실행할 수도 있습니다. /specscore:feature와 /specscore:task는 기능과 작업 명령을 감쌉니다. 그것들 자체가 린트하지는 않습니다.
린터는 산문을 채점합니까?
아닙니다. specscore spec lint는 구조를 검사합니다. CI에서 명세 린터로 명세를 린트하기가 보고를 보여 줍니다. 깨끗한 구조 검사는 제품 검토가 아닙니다.
출처
agent-setup 동작은 main의 specscore-cli spec/features/cli/agent/setup/README.md에 있는 계약이며, 2026년 11월 6일에 읽었습니다. 스킬 이름은 main의 ai-plugin-specscore skills/README.md에서 왔으며, 같은 날에 읽었습니다. SpecStudio의 설치 줄과 버전 0.0.7 상태 목록은 main의 specstudio-skills README.md에서 왔으며, 같은 날에 읽었습니다. Claude Code의 설명과 CLAUDE.md 문장은 code.claude.com/docs/en/overview에서 왔습니다. Cursor 프로젝트 규칙 경로는 cursor.com/docs/rules에서 왔습니다. 이 저장소의 dogfood.yml은 SPECSCORE_VERSION을 v0.39.1에 고정합니다. 경쟁 페이지는 아래에 링크된 것입니다. 도구 정리는 그것들을 2026년 10월 30일에 읽은 것으로 기록합니다. 다만 Spec Kit 문서 홈은 2026년 9월 28일을 인쇄합니다.
- Claude Code — 개요 (CLAUDE.md)
- Cursor — 규칙 (프로젝트 규칙은 .mdc 파일)
- specscore-cli — agent-setup 기능
- specscore-cli — README (agent setup과 플러그인 설치)
- specscore/specscore-cli
- specscore-cli — Apache-2.0 라이선스
- specscore/specscore
- specscore/specscore — CC BY 4.0 라이선스
- specscore/specscore — dogfood.yml (CLI v0.39.1)
- specscore/ai-plugin-specscore
- ai-plugin-specscore — MIT 라이선스
- ai-plugin-specscore — skills README
- ai-plugin-specscore — README (Cursor로 복사)
- specscore/specstudio-skills
- specstudio-skills — MIT 라이선스
- specstudio-skills — README (버전 0.0.7)
- CLI Skills
- SpecStudio Skills
- AI 코딩을 위한 Markdown PRD 템플릿
- CI에서 명세 린터로 명세를 린트하기
- 기능 명세
- 인수 기준 명세
- OpenSpec CLI 참고 — openspec validate
- Fission-AI/OpenSpec
- eyaltoledano/claude-task-master
- GitHub Spec Kit 문서 (페이지 날짜 2026년 9월 28일)
- 명세 주도 개발 도구