openspec-continue-change

作成者: rivet-dev

OpenSpecの変更作業を続け、次のアーティファクトを作成します。ユーザーが変更を進めたい、次のアーティファクトを作成したい、または続行したい場合に使用します…

npx skills add https://github.com/rivet-dev/actors --skill openspec-continue-change

Continue working on a change by creating the next artifact.

Input: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.

Steps

  1. If no change name provided, prompt for selection

    Run openspec list --json to get available changes sorted by most recently modified. Then use the AskUserQuestion tool to let the user select which change to work on.

    Present the top 3-4 most recently modified changes as options, showing:

    • Change name
    • Schema (from schema field if present, otherwise "spec-driven")
    • Status (e.g., "0/5 tasks", "complete", "no tasks")
    • How recently it was modified (from lastModified field)

    Mark the most recently modified change as "(Recommended)" since it's likely what the user wants to continue.

    IMPORTANT: Do NOT guess or auto-select a change. Always let the user choose.

  2. Check current status

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

    Parse the JSON to understand current state. The response includes:

    • schemaName: The workflow schema being used (e.g., "spec-driven")
    • artifacts: Array of artifacts with their status ("done", "ready", "blocked")
    • isComplete: Boolean indicating if all artifacts are complete
  3. Act based on status:


    If all artifacts are complete (isComplete: true):

    • Congratulate the user
    • Show final status including the schema used
    • Suggest: "All artifacts created! You can now implement this change or archive it."
    • STOP

    If artifacts are ready to create (status shows artifacts with status: "ready"):

    • Pick the FIRST artifact with status: "ready" from the status output
    • Get its instructions:
      openspec instructions <artifact-id> --change "<name>" --json
      
    • Parse the JSON. The key fields are:
      • context: Project background (constraints for you - do NOT include in output)
      • rules: Artifact-specific rules (constraints for you - do NOT include in output)
      • template: The structure to use for your output file
      • instruction: Schema-specific guidance
      • outputPath: Where to write the artifact
      • dependencies: Completed artifacts to read for context
    • Create the artifact file:
      • Read any completed dependency files for context
      • Use template as the structure - fill in its sections
      • Apply context and rules as constraints when writing - but do NOT copy them into the file
      • Write to the output path specified in instructions
    • Show what was created and what's now unlocked
    • STOP after creating ONE artifact

    If no artifacts are ready (all blocked):

    • This shouldn't happen with a valid schema
    • Show status and suggest checking for issues
  4. After creating an artifact, show progress

    openspec status --change "<name>"
    

Output

After each invocation, show:

  • Which artifact was created
  • Schema workflow being used
  • Current progress (N/M complete)
  • What artifacts are now unlocked
  • Prompt: "Want to continue? Just ask me to continue or tell me what to do next."

Artifact Creation Guidelines

The artifact types and their purpose depend on the schema. Use the instruction field from the instructions output to understand what to create.

Common artifact patterns:

spec-driven schema (proposal → specs → design → tasks):

  • proposal.md: Ask user about the change if not clear. Fill in Why, What Changes, Capabilities, Impact.
    • The Capabilities section is critical - each capability listed will need a spec file.
  • specs//spec.md: Create one spec per capability listed in the proposal's Capabilities section (use the capability name, not the change name).
  • design.md: Document technical decisions, architecture, and implementation approach.
  • tasks.md: Break down implementation into checkboxed tasks.

For other schemas, follow the instruction field from the CLI output.

Guardrails

  • Create ONE artifact per invocation
  • Always read dependency artifacts before creating a new one
  • Never skip artifacts or create out of order
  • If context is unclear, ask the user before creating
  • Verify the artifact file exists after writing before marking progress
  • Use the schema's artifact sequence, don't assume specific artifact names
  • IMPORTANT: context and rules are constraints for YOU, not content for the file
    • Do NOT copy <context>, <rules>, <project_context> blocks into the artifact
    • These guide what you write, but should never appear in the output

rivet-devのその他のスキル

ai-agent
rivet-dev
永続メモリを備えたAIエージェントバックエンドを構築する:会話ごとに1つのRivet Actor、キューによるメッセージ処理、ストリーミングLLM応答をリアルタイムイベントとして。
official
ai-agent-workspace
rivet-dev
すべてのAIエージェントに独自のコンピュータを与える:ファイルシステム、プロセス、シェル、ネットワーキング、エージェントセッションを備えた永続的なワークスペースを軽量なインプロセス上に…
official
chat-room
rivet-dev
Rivet Actorsを使ってリアルタイムチャットルームのバックエンドを構築します。部屋ごとに1つのアクター、SQLiteによるメッセージ履歴、そして接続中の全クライアントへのWebSocketブロードキャストを備えています。
official
collaborative-text-editor
rivet-dev
Yjs CRDTとRivet Actorsを使用して、共同テキストエディタのバックエンドを構築します。ドキュメントごとのアクターが同期とアウェアネス更新を中継し、スナップショットを永続化します。
official
cron-jobs
rivet-dev
Rivet Actorsによる耐久性のあるcronジョブ:schedule.afterおよびschedule.atタイマーは再起動やクラッシュ後も持続し、さらに定期的なジョブの再設定や冪等性のあるハンドラを備えています。
official
live-cursors
rivet-dev
Rivet Actorsを使用したライブカーソルとマルチプレイヤープレゼンス:接続ごとのカーソル状態、イベントまたは生のWebSocketを介したリアルタイム更新、およびスロットリング。
official
per-tenant-database
rivet-dev
マルチテナントデータ分離を実現し、テナントごとに1つのRivet Actorを持ちます。アクターキーはテナントIDであり、各テナントは独自の分離されたデータセットとマイグレーションを取得します。
official
rivetkit-client-javascript
rivet-dev
JavaScriptクライアント。ステートレスまたはステートフル接続でRivet Actorsに接続するためのもの。ブラウザ、Node.js、Bun環境をサポートし、環境変数または明示的な設定による自動エンドポイント検出を備える。独立したリクエストのためのステートレスアクション呼び出しと、リアルタイムイベントサブスクリプションを伴うステートフル接続の2つの相互作用モードを提供。onRequestまたはonWebSocketハンドラを実装するアクター向けの低レベルHTTPおよびWebSocketアクセスを含む。複合配列ベースの...
official