Communitygithub.com

OpenSpec 변경 구현하기

OpenSpec 변경 사항의 작업 목록을 구현합니다. 사용자가 구현을 시작하거나, 계속 진행하거나, 작업을 처리하려고 할 때 사용하세요.

OpenSpec 변경 구현하기란 무엇인가요?

이 스킬은 OpenSpec 변경을 구현하는 전 과정을 안내합니다. 사용자가 언급한 변경 이름을 기반으로 적절한 변경을 선택하고, 해당 변경의 상태와 적용 지침을 확인하여 작업 범위와 컨텍스트 파일을 파악합니다. 그런 다음 각 작업을 순차적으로 구현하며, 완료 시 작업 체크박스를 업데이트하고 진행 상황을 표시합니다. 작업이 불명확하거나 설계 문제가 발견되면 구현을 일시 중지하고 사용자에게 안내를 요청합니다. 이 스킬은 모든 OpenSpec 저장소(로컬에 등록된 독립형 저장소)와 워크플로우(예: spec-driven)에서 작동하며, 변경 생성부터 아카이브까지 유연하게 통합됩니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AmanVarshney01/tcut/tree/HEAD/.claude/skills/openspec-apply-change

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

OpenSpec 변경의 작업을 구현합니다.

저장소 선택: 사용자가 저장소(이 컴퓨터에 등록된 독립형 OpenSpec 저장소)를 언급하거나 작업이 특정 저장소에 속하는 경우, openspec store list --json을 실행하여 등록된 저장소 ID를 확인한 후, 스펙 및 변경을 읽거나 쓰는 명령(new change, status, instructions, list, show, validate, archive, doctor, context)에 --store <id> 플래그를 전달하세요. 다른 명령에는 이 플래그를 사용하지 않습니다. 명령에서 출력하는 힌트에는 이미 플래그가 포함되어 있으므로 후속 작업에서도 유지하세요. 저장소가 없으면 명령은 가장 가까운 로컬 openspec/ 루트를 기준으로 동작합니다.

입력: 변경 이름을 선택적으로 지정할 수 있습니다. 생략하면 대화 컨텍스트에서 유추할 수 있는지 확인합니다. 모호하거나 불확실한 경우 사용 가능한 변경 목록을 요청해야 합니다.

단계

  1. 변경 선택

    이름이 제공되면 해당 이름을 사용합니다. 그렇지 않은 경우:

    • 사용자가 변경에 대해 언급했다면 대화 컨텍스트에서 유추
    • 활성 변경이 하나만 있으면 자동 선택
    • 모호한 경우 openspec list --json을 실행하여 사용 가능한 변경 목록을 가져오고 AskUserQuestion 도구를 사용하여 사용자가 선택하도록 함

    항상 다음과 같이 알립니다: "변경 사용: " 및 재정의 방법(예: /opsx:apply <other>).

  2. 상태를 확인하여 스키마 이해하기

    openspec status --change "<name>" --json
    

    JSON을 분석하여 다음을 이해합니다:

    • schemaName: 사용 중인 워크플로우(예: "spec-driven")
    • planningHome, changeRoot, actionContext: 계획 범위 및 편집 제약 조건
    • 어떤 아티팩트에 작업이 포함되어 있는지(일반적으로 spec-driven의 경우 "tasks", 다른 경우 상태 확인)
  3. 적용 지침 가져오기

    openspec instructions apply --change "<name>" --json
    

    결과는 다음과 같습니다:

    • contextFiles: 아티팩트 ID -> 구체적인 파일 경로 배열(스키마에 따라 다름 - proposal/specs/design/tasks 또는 spec/tests/implementation/docs일 수 있음)
    • 진행 상황(전체, 완료, 남음)
    • 상태별 작업 목록
    • 현재 상태에 따른 동적 지침

    상태 처리:

    • state: "blocked"(아티팩트 누락): 메시지를 표시하고 openspec-continue-change 사용을 제안
    • state: "all_done": 축하하고 아카이브 제안
    • 그 외: 구현 진행
  4. 컨텍스트 파일 읽기

    적용 지침 출력의 contextFiles 아래에 나열된 모든 파일 경로를 읽습니다. 파일은 사용 중인 스키마에 따라 달라집니다:

    • spec-driven: proposal, specs, design, tasks
    • 다른 스키마: CLI 출력의 contextFiles를 따름
  5. 현재 진행 상황 표시

    다음을 표시:

    • 사용 중인 스키마
    • 진행 상황: "N/M 작업 완료"
    • 남은 작업 개요
    • CLI의 동적 지침
  6. 작업 구현 (완료되거나 차단될 때까지 반복)

    각 대기 중인 작업에 대해:

    • 현재 작업 중인 작업 표시
    • 필요한 코드 변경 수행
    • 변경 사항을 최소화하고 집중 유지
    • 작업 파일에서 작업 완료 표시: - [ ] → - [x]
    • 다음 작업으로 계속

    다음 경우 일시 중지:

    • 작업이 불명확함 → 명확화 요청
    • 구현 중 설계 문제 발견 → 아티팩트 업데이트 제안
    • 오류 또는 차단기 발생 → 보고하고 안내 대기
    • 사용자가 중단
  7. 완료 또는 일시 중지 시 상태 표시

    다음을 표시:

    • 이 세션에서 완료된 작업
    • 전체 진행 상황: "N/M 작업 완료"
    • 모두 완료된 경우: 아카이브 제안
    • 일시 중지된 경우: 이유 설명 및 안내 대기

구현 중 출력

## 구현 중: <변경-이름> (스키마: <스키마-이름>)

작업 3/7 진행 중: <작업 설명>
[...구현 중...]
✓ 작업 완료

작업 4/7 진행 중: <작업 설명>
[...구현 중...]
✓ 작업 완료

완료 시 출력

## 구현 완료

**변경:** <변경-이름>
**스키마:** <스키마-이름>
**진행 상황:** 7/7 작업 완료 ✓

### 이 세션에서 완료
- [x] 작업 1
- [x] 작업 2
...

모든 작업 완료! 이 변경을 아카이브할 준비가 되었습니다.

일시 중지 시 출력 (문제 발생)

## 구현 일시 중지됨

**변경:** <변경-이름>
**스키마:** <스키마-이름>
**진행 상황:** 4/7 작업 완료

### 발생한 문제
<문제 설명>

**옵션:**
1. <옵션 1>
2. <옵션 2>
3. 다른 접근 방식

어떻게 하시겠습니까?

가드레일

  • 완료되거나 차단될 때까지 작업 계속 진행
  • 시작하기 전에 항상 컨텍스트 파일 읽기(적용 지침 출력에서)
  • 작업이 모호하면 일시 중지하고 구현 전에 질문
  • 구현 중 문제가 발견되면 일시 중지하고 아티팩트 업데이트 제안
  • 코드 변경은 각 작업에 대해 최소화하고 범위를 좁혀 유지
  • 각 작업 완료 직후 작업 체크박스 업데이트
  • 오류, 차단기 또는 불명확한 요구 사항에서 일시 중지 - 추측하지 않음
  • CLI 출력의 contextFiles 사용, 특정 파일 이름을 가정하지 않음

유연한 워크플로우 통합

이 스킬은 "변경에 대한 작업" 모델을 지원합니다:

  • 언제든지 호출 가능: 모든 아티팩트가 완료되기 전(작업이 존재하는 경우), 부분 구현 후, 다른 작업과 혼합하여 사용
  • 아티팩트 업데이트 허용: 구현 중 설계 문제가 발견되면 아티팩트 업데이트 제안 - 단계에 고정되지 않고 유연하게 작업

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

AmanVarshney01/tcut

Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.

AmanVarshney01/tcut

Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.

AmanVarshney01/tcut

Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.

AmanVarshney01/tcut

Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.

AmanVarshney01/tcut

Update an OpenSpec change by revising its existing planning artifacts and keeping them coherent with one another. Use when the user wants to revise a change's plan, fold new decisions into it, or reconcile its artifacts after an edit. Never edits code.

AmanVarshney01/tcut

Combine tcut terminal recordings with Remotion to produce polished, motion-designed launch/promo videos (title cards, animated captions, layered terminal footage). Use when the user wants a product video, launch video, or social video that features terminal/CLI footage.

AmanVarshney01/tcut

Record reproducible terminal videos (MP4/GIF/SVG/HTML) from TypeScript scripts or live sessions with the tcut CLI. Use when the user wants a terminal demo, CLI screencast, TUI recording, or animated terminal GIF for a README, website, or social post.

관련 스킬