Communitygithub.com

AmanVarshney01/tcut

変更案を提案し、すべての成果物を一度に生成します。ユーザーが構築したい内容を素早く説明し、実装準備の整った完全な提案(設計、仕様、タスク)を得たい場合に使用します。

tcut とは?

このスキルは、OpenSpec CLI を利用して、ソフトウェア変更の提案から実装準備までを一貫して自動化するためのものです。ユーザーが簡単な説明や変更名を入力するだけで、提案書(proposal.md)、設計書(design.md)、実装タスク(tasks.md)といった必要な全成果物を自動生成します。Claude Code や Cursor などの AI エージェントと連携し、OpenSpec のワークフローに沿って成果物の作成順序を管理します。これにより、開発者は設計や計画の手間を省き、変更の概要を伝えるだけで実装に集中できます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AmanVarshney01/tcut/tree/HEAD/.claude/skills/openspec-propose

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

新しい変更を提案 - 変更を作成し、すべての成果物を1ステップで生成します。

変更と成果物を作成します:

  • 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 authentication" → add-user-auth)。

    重要: ユーザーが何を構築したいかを理解するまでは先に進まないでください。

  2. 変更ディレクトリを作成

    openspec new change "<name>"
    

    これにより、CLI が解決した計画ホーム(.openspec.yaml に従う)にスキャフォールドされた変更が作成されます。

  3. 成果物のビルド順序を取得

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

    JSON を解析して以下を取得:

    • applyRequires: 実装前に必要な成果物 ID の配列(例:["tasks"])
    • artifacts: すべての成果物とそのステータスおよび依存関係のリスト
    • planningHome、changeRoot、artifactPaths、actionContext: パスとスコープのコンテキスト。これらをリポジトリローカルのパスと仮定せずに使用します。
  4. 適用準備が整うまで成果物を順次作成

    TodoWrite ツールを使用して、成果物の進捗を追跡します。

    依存関係の順序(未処理の依存関係がない成果物から)で成果物をループ処理:

    a. 依存関係が満たされている ready 状態の各成果物について:

    • 指示を取得:
      openspec instructions <artifact-id> --change "<name>" --json
      
    • 指示 JSON には以下が含まれます:
      • context: プロジェクトの背景(あなたへの制約 - 出力には含めない)
      • rules: 成果物固有のルール(あなたへの制約 - 出力には含めない)
      • template: 出力ファイルの構造として使用するもの
      • instruction: この成果物タイプのスキーマ固有のガイダンス
      • resolvedOutputPath: 成果物を書き込む解決済みのパスまたはパターン
      • dependencies: コンテキストとして読み取る完了済みの成果物
    • 完了した依存関係ファイルをコンテキストとして読み取る
    • template を構造として使用し、resolvedOutputPath に成果物ファイルを作成
    • context と rules は制約として適用するが、ファイルにはコピーしない
    • 簡潔な進捗を表示: "Created "

    b. applyRequires のすべての成果物が完了するまで続行

    • 各成果物を作成した後、openspec status --change "<name>" --json を再実行
    • applyRequires 内のすべての成果物 ID が、アーティファクト配列内で status: "done" になっているか確認
    • すべての applyRequires 成果物が完了したら停止

    c. 成果物がユーザーの入力を必要とする場合(コンテキストが不明瞭):

    • AskUserQuestion ツールを使用して明確化
    • その後、作成を続行
  5. 最終ステータスを表示

    openspec status --change "<name>"
    

出力

すべての成果物を完了した後、以下を要約:

  • 変更名と場所
  • 作成された成果物のリストと簡単な説明
  • 準備状況: "すべての成果物が作成されました!実装の準備が整いました。"
  • プロンプト: "/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.

関連スキル