openspec-new-change

作者: rivet-dev

使用實驗性工件工作流程啟動新的 OpenSpec 變更。當使用者想要建立具有結構化的新功能、修復或修改時使用…

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

Start a new change using the experimental artifact-driven approach.

Input: The user's request should include a change name (kebab-case) OR a description of what they want to build.

Steps

  1. If no clear input provided, ask what they want to build

    Use the AskUserQuestion tool (open-ended, no preset options) to ask:

    "What change do you want to work on? Describe what you want to build or fix."

    From their description, derive a kebab-case name (e.g., "add user authentication" → add-user-auth).

    IMPORTANT: Do NOT proceed without understanding what the user wants to build.

  2. Determine the workflow schema

    Use the default schema (omit --schema) unless the user explicitly requests a different workflow.

    Use a different schema only if the user mentions:

    • A specific schema name → use --schema <name>
    • "show workflows" or "what workflows" → run openspec schemas --json and let them choose

    Otherwise: Omit --schema to use the default.

  3. Create the change directory

    openspec new change "<name>"
    

    Add --schema <name> only if the user requested a specific workflow. This creates a scaffolded change at openspec/changes/<name>/ with the selected schema.

  4. Show the artifact status

    openspec status --change "<name>"
    

    This shows which artifacts need to be created and which are ready (dependencies satisfied).

  5. Get instructions for the first artifact The first artifact depends on the schema (e.g., proposal for spec-driven). Check the status output to find the first artifact with status "ready".

    openspec instructions <first-artifact-id> --change "<name>"
    

    This outputs the template and context for creating the first artifact.

  6. STOP and wait for user direction

Output

After completing the steps, summarize:

  • Change name and location
  • Schema/workflow being used and its artifact sequence
  • Current status (0/N artifacts complete)
  • The template for the first artifact
  • Prompt: "Ready to create the first artifact? Just describe what this change is about and I'll draft it, or ask me to continue."

Guardrails

  • Do NOT create any artifacts yet - just show the instructions
  • Do NOT advance beyond showing the first artifact template
  • If the name is invalid (not kebab-case), ask for a valid name
  • If a change with that name already exists, suggest continuing that change instead
  • Pass --schema if using a non-default workflow

來自 rivet-dev 的更多技能

ai-agent
rivet-dev
建立一個具有持久記憶的AI agent後端:每個對話一個Rivet Actor、排隊消息處理、以及將串流LLM回應作為即時事件。
official
ai-agent-workspace
rivet-dev
賦予每個AI代理自己的電腦:一個持久的作業空間,包含檔案系統、程序、Shell、網路功能,以及輕量級進程內的代理會話…
official
chat-room
rivet-dev
使用 Rivet Actors 建立即時聊天室後端:每個房間一個 Actor、SQLite 支援的訊息歷史記錄,以及透過 WebSocket 向所有連線用戶端廣播。
official
collaborative-text-editor
rivet-dev
使用 Yjs CRDT 與 Rivet Actors 建構協作文字編輯器後端:每個文件的 Actor 負責轉發同步與感知更新,並持久化快照。
official
cron-jobs
rivet-dev
使用 Rivet Actors 實現持久化定時任務:schedule.after 和 schedule.at 計時器可在重啟與崩潰後保持狀態,並支援重新設定週期性任務與冪等處理器。
official
live-cursors
rivet-dev
使用 Rivet Actors 實現的即時游標與多人協作狀態:每個連線的游標狀態、透過事件或原始 WebSocket 的即時更新,以及節流控制。
official
per-tenant-database
rivet-dev
使用每個租戶一個 Rivet Actor 的方式實現多租戶數據隔離:Actor 鍵即為租戶 ID,因此每個租戶擁有獨立的數據集與遷移。
official
rivetkit-client-javascript
rivet-dev
用於連接 Rivet Actors 的 JavaScript 客戶端,支援無狀態與有狀態連線。相容瀏覽器、Node.js 和 Bun 環境,可透過環境變數或明確設定自動偵測端點。提供兩種互動模式:獨立請求的無狀態動作呼叫,以及具即時事件訂閱功能的有狀態連線。包含低階 HTTP 與 WebSocket 存取,適用於實作 onRequest 或 onWebSocket 處理器的 Actors。提供複合陣列式...
official