Communitygithub.com

AmanVarshney01/tcut

한 번에 모든 산출물을 생성하여 새로운 변경 사항을 제안합니다. 사용자가 구축하려는 내용을 빠르게 설명하고 구현 준비가 된 완전한 제안(설계, 명세, 작업)을 원할 때 사용합니다.

tcut란 무엇인가요?

이 스킬은 사용자가 아이디어를 빠르게 제안서, 설계 문서, 작업 목록 등 구현에 필요한 모든 산출물로 자동 변환하는 원스텝 프로세스입니다. 'openspec' CLI 도구를 기반으로 하며, 사용자가 '무엇을' 만들고 싶은지 설명하면 스킬이 kebab-case 이름을 도출하고 `openspec new change` 명령어로 변경 디렉토리를 생성한 후 `openspec instructions` 명령어를 통해 각 산출물의 템플릿, 규칙, 컨텍스트를 가져와 파일을 작성합니다. 모든 산출물은 의존성 순서대로 생성되며, `openspec status --json`을 통해 진행 상황을 추적하고 applyRequires 목록의 모든 산출물이 완료되면 구현 준비가 완료됩니다. 최종적으로 변경 이름과 위치, 생성된 산출물 목록을 요약하고 `/opsx:apply` 명령어로 구현을 시작하도록 안내합니다. 스킬은 다중 저장소 구성을 지원하며 `--store` 플래그로 특정 저장소에서 작업할 수 있습니다.

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

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

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

문서

새로운 변경 사항 제안 - 한 단계로 변경 사항을 생성하고 모든 산출물을 만듭니다.

다음 산출물과 함께 변경 사항을 생성합니다:

  • proposal.md (무엇과 왜)
  • design.md (어떻게)
  • tasks.md (구현 단계)

구현할 준비가 되면 /opsx:apply 실행


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

입력: 사용자의 요청에는 변경 이름(kebab-case) 또는 구축하려는 내용에 대한 설명이 포함되어야 합니다.

단계

  1. 명확한 입력이 없으면, 사용자에게 무엇을 구축할지 질문

    AskUserQuestion 도구를 사용하여(개방형 질문, 미리 정의된 옵션 없음) 다음을 질문합니다:

    "어떤 변경 작업을 하고 싶으신가요? 구축하거나 수정하려는 내용을 설명해 주세요."

    설명에서 kebab-case 이름을 도출합니다(예: "사용자 인증 추가" → add-user-auth).

    중요: 사용자가 무엇을 구축하려는지 이해하지 못한 상태에서는 진행하지 마십시오.

  2. 변경 디렉토리 생성

    openspec new change "<이름>"
    

    CLI가 .openspec.yaml로 해석한 계획 홈(planning home)에 스캐폴딩된 변경 디렉토리가 생성됩니다.

  3. 산출물 빌드 순서 확인

    openspec status --change "<이름>" --json
    

    JSON을 파싱하여 다음을 얻습니다:

    • applyRequires: 구현 전에 필요한 산출물 ID 배열 (예: ["tasks"])
    • artifacts: 모든 산출물 목록 (상태 및 의존성 포함)
    • planningHome, changeRoot, artifactPaths, actionContext: 경로 및 범위 컨텍스트. 이 값을 사용하여 repo-로컬 경로를 가정하지 마십시오.
  4. 적용 준비가 될 때까지 산출물을 순서대로 생성

    TodoWrite 도구를 사용하여 산출물 진행 상황을 추적합니다.

    의존성 순서로 산출물을 반복 처리합니다(먼저 보류 중인 의존성이 없는 산출물부터):

    a. ready 상태인 각 산출물에 대해(의존성 충족됨):

    • 지침 조회:
      openspec instructions <산출물-id> --change "<이름>" --json
      
    • 지침 JSON에는 다음이 포함됩니다:
      • context: 프로젝트 배경 (당신을 위한 제약 조건 - 출력에 포함하지 마십시오)
      • rules: 산출물별 규칙 (당신을 위한 제약 조건 - 출력에 포함하지 마십시오)
      • template: 출력 파일에 사용할 구조
      • instruction: 이 산출물 유형에 대한 스키마별 지침
      • resolvedOutputPath: 산출물을 작성할 해석된 경로 또는 패턴
      • dependencies: 컨텍스트를 위해 읽어야 할 완료된 산출물
    • 완료된 의존성 파일을 컨텍스트로 읽습니다.
    • template을 구조로 사용하여 산출물 파일을 생성하고 resolvedOutputPath에 작성합니다.
    • context와 rules를 제약 조건으로 적용하되, 파일에 복사하지 마십시오.
    • 간단한 진행 상황 표시: "<산출물-id> 생성됨"

    b. 모든 applyRequires 산출물이 완료될 때까지 계속

    • 각 산출물 생성 후 openspec status --change "<이름>" --json을 다시 실행합니다.
    • applyRequires의 모든 산출물 ID가 artifacts 배열에서 status: "done"인지 확인합니다.
    • 모든 applyRequires 산출물이 완료되면 중단합니다.

    c. 산출물에 사용자 입력이 필요한 경우(컨텍스트가 불명확한 경우):

    • AskUserQuestion 도구를 사용하여 명확히 한 후 생성을 계속합니다.
  5. 최종 상태 표시

    openspec status --change "<이름>"
    

출력

모든 산출물을 완료한 후 다음을 요약합니다:

  • 변경 이름 및 위치
  • 간단한 설명과 함께 생성된 산출물 목록
  • 준비 상태: "모든 산출물이 생성되었습니다! 구현 준비 완료."
  • 안내: "/opsx:apply를 실행하거나 구현을 요청하여 작업을 시작하세요."

산출물 생성 지침

  • 각 산출물 유형에 대해 openspec instructions의 instruction 필드를 따릅니다.
  • 스키마는 각 산출물에 포함되어야 할 내용을 정의하므로 이를 따릅니다.
  • 새 산출물을 생성하기 전에 컨텍스트를 위해 의존성 산출물을 읽습니다.
  • template을 출력 파일의 구조로 사용하고 해당 섹션을 채웁니다.
  • 중요: context와 rules는 당신을 위한 제약 조건이며, 파일에 포함할 내용이 아닙니다.
    • <context>, <rules>, <project_context> 블록을 산출물에 복사하지 마십시오.
    • 이들은 작성 내용을 안내하지만 출력에 절대 나타나서는 안 됩니다.

가드레일

  • 구현에 필요한 모든 산출물(스키마의 apply.requires에 정의된 대로)을 생성합니다.
  • 새 산출물을 생성하기 전에 항상 의존성 산출물을 먼저 읽습니다.
  • 컨텍스트가 매우 불명확한 경우 사용자에게 질문하지만, 추진력을 유지하기 위해 합리적인 결정을 내리는 것을 선호합니다.
  • 동일한 이름의 변경 사항이 이미 존재하면, 사용자에게 계속 진행할지 새로 생성할지 질문합니다.
  • 각 산출물 파일이 작성 후 실제로 존재하는지 확인한 후 다음 단계로 진행합니다.

Individual skills in this repo

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

AmanVarshney01/tcut

Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.

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

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.

관련 스킬