openspec-new-change

作者: rivet-dev

使用实验性工件工作流启动新的 OpenSpec 变更。当用户想要创建具有结构化…的新功能、修复或修改时使用。

npx skills add https://github.com/rivet-dev/actors --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代理后端:每个对话一个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 CRDTs和Rivet Actors构建协作式文本编辑器后端:每个文档的actor中继同步和感知更新,并持久化快照。
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
每个租户一个Rivet Actor实现多租户数据隔离:actor键为租户ID,因此每个租户拥有独立的数据集和迁移。
official
rivetkit-client-javascript
rivet-dev
用于连接Rivet Actors的JavaScript客户端,支持无状态和有状态连接。兼容浏览器、Node.js和Bun环境,可通过环境变量自动检测端点或进行显式配置。提供两种交互模式:用于独立请求的无状态操作调用,以及支持实时事件订阅的有状态连接。包含针对实现onRequest或onWebSocket处理器的Actor的低级HTTP和WebSocket访问。提供复合数组式...
official