Skip to content

Commit 4ef2826

Browse files
author
Simrandeep Singh
committed
Split /spec-submit into /verify-submit and /create-runbook
Replace the single /spec-submit command with two focused flows and factor their shared logic into skills: - /verify-submit: you write the code; capture intent, key decisions, and acceptance criteria, no implementation steps. - /create-runbook: Aviator's agent writes the code from a spec with full implementation detail. - spec-submission skill: shared submission mechanics (message, AC review loop, specSubmit call, PR directive, error handling) both commands load. - acceptance-criteria skill: the shared AC quality rulebook. - /spec-submit becomes a deprecation stub pointing at the two commands. Both commands pass submission_type to specSubmit (verify vs runbook).
1 parent e017c2e commit 4ef2826

8 files changed

Lines changed: 350 additions & 244 deletions

File tree

.claude-plugin/marketplace.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
{
1818
"name": "aviator",
1919
"source": "./aviator",
20-
"description": "Runbooks and workflow automation with Aviator MCP",
21-
"version": "1.1.8"
20+
"description": "Verify and Runbooks workflow automation with Aviator MCP",
21+
"version": "1.2.0"
2222
}
2323
]
2424
}

README.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,20 +72,24 @@ run `av pr --all` to create PRs for the entire stack.
7272

7373
### aviator
7474

75-
Connects Claude Code to [Aviator Runbooks](https://aviator.co/runbooks) via MCP for workflow automation.
75+
Connects Claude Code to Aviator via MCP for spec submission to [Runbooks](https://aviator.co/runbooks) and Verify, to automate development workflows.
7676

77-
**What are Runbooks?** Aviator Runbooks let you capture and replay complex development workflows. Create a runbook from your Claude session to save your exploration, decisions, and implementation approach for future use or to share with your team.
77+
**Verify vs Runbooks.** Aviator has two ways to hand a spec off from your Claude session:
78+
79+
- **Verify***you* write the code and Aviator verifies it against your intent. You submit an intent, a free-form spec of the key decisions, and acceptance criteria; Aviator checks the PR you open against those criteria.
80+
- **Runbooks***Aviator's agent* writes the code from your spec. The spec carries full implementation detail so the runbook can capture and replay the workflow.
7881

7982
**What this plugin does:**
8083

81-
- Connects to the Aviator MCP server for runbook operations
82-
- Creates runbooks from your current Claude session context
84+
- Connects to the Aviator MCP server for spec submission and runbook operations
85+
- Submits Verify specs and creates runbooks from your current Claude session context
8386
- Handles OAuth authentication automatically
8487
- Provides access to Aviator's workflow automation tools
8588

8689
**Usage:**
8790

88-
Use `/spec-submit` to submit a spec and create a runbook from your current session.
91+
- `/verify-submit` — submit a Verify spec (intent + acceptance criteria) for code you're writing yourself.
92+
- `/create-runbook` — have Aviator's agent write the code from a spec with provided implementation detail.
8993

9094
**Requirements:**
9195

aviator/.claude-plugin/plugin.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"name": "aviator",
3-
"description": "Create Aviator Runbooks from Claude Code sessions to capture and relay development workflows",
3+
"description": "Submit specs to Aviator from Claude Code sessions — Verify (intent + acceptance criteria over your own code) and Runbooks (agentic code generation)",
44
"author": {
55
"name": "Aviator",
66
"email": "support@aviator.co"
77
},
88
"homepage": "https://aviator.co",
99
"repository": "https://github.com/aviator-co/agent-plugins",
1010
"license": "MIT",
11-
"keywords": ["runbooks", "aviator", "spec-driven", "spec-driven-development"]
11+
"keywords": ["verify", "runbooks", "aviator", "spec-driven", "behavior-driven-development"]
1212
}

aviator/commands/create-runbook.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
description: Create an Aviator Runbook — Aviator's agent writes the code from your spec
3+
---
4+
5+
# Create a Runbook
6+
7+
Create an Aviator Runbook from the current Claude Code session context. **Aviator's agent writes the code** from the spec you submit, so this flow carries full implementation detail — intent, scope, ordered steps, and acceptance criteria — and includes an implementation discussion with you before kicking off.
8+
9+
> Writing the code yourself and just want Aviator to verify it against intent + acceptance criteria? Use `/verify-submit` instead — it captures intent and AC with no implementation steps.
10+
11+
**Load the `spec-submission` skill** (Skill tool → `aviator:spec-submission`) before you start — it carries the shared mechanics this flow relies on: how the message reads, the Acceptance Criteria review loop, the `specSubmit` call, and the PR directive. This command file only covers what's specific to a Runbook.
12+
13+
## Arguments
14+
15+
$ARGUMENTS - Optional additional context or instructions for the runbook.
16+
17+
## Step 1: Generate Message + Spec
18+
19+
Write the message per the `spec-submission` skill, and the Acceptance Criteria per the `acceptance-criteria` skill — **AC are the primary output of this step.** What's specific to a Runbook is that the spec **carries implementation detail** — the agent uses it to write the code.
20+
21+
### Spec file
22+
23+
The spec provides the supporting context the AC needs to be unambiguous, plus the implementation detail the agent works from. Don't pad.
24+
25+
If a plan file exists from plan mode (check the plan file path mentioned in the system prompt), read it and check whether its content is relevant to the user's current intent. If it is, use it as-is — do not restructure, reformat, or rewrite it. Pass its content through directly as the spec. If the plan file is unrelated to the current task, ignore it and generate a new spec instead.
26+
27+
Similarly, if a spec file already exists in the conversation — one the user wrote, one generated earlier, or one provided via `$ARGUMENTS` — use it as-is. Do not restructure, reformat, or rewrite an existing spec. When the spec comes from a file, preserve the original filename.
28+
29+
If no existing spec is available, generate one. Keep it **free-form** — there's no required structure or fixed set of sections. Write whatever best conveys the change to the agent that will implement it: the intent and the implementation approach or steps, shaped to the task rather than forced into headings. (The acceptance criteria are passed separately as the `acceptance_criteria` argument — you don't hand-embed them; the backend folds them into the spec the agent works from.)
30+
31+
## Step 2: Review with the user
32+
33+
Before submitting, show the user three things and get their sign-off:
34+
35+
1. **The intent** — the short intent message, for grounding.
36+
2. **The Acceptance Criteria** — run the review loop from the `spec-submission` skill, iterating until the user explicitly confirms.
37+
3. **Any pertinent questions or callouts** — while writing the free-form spec, notice anything the user should weigh in on before submitting: a consequential choice (a new dependency, a data migration, a public API change, an area to leave untouched), an ambiguity in the approach, or a decision you made that they haven't seen. Raise only what's genuinely open — if the approach was already settled earlier in this session, don't re-litigate it.
38+
39+
A simple "yes" or "go ahead" is enough to submit.
40+
41+
## Step 3: Create Runbook
42+
43+
Submit via the `specSubmit` call described in the `spec-submission` skill. For a Runbook:
44+
45+
- `submission_type`: **`"runbook"`** — the agent writes the code from the spec. This is the default, but pass it explicitly.
46+
- `acceptance_criteria`: the confirmed AC as a JSON array of strings (optional but recommended — they're folded into the spec the agent works from).
47+
- `spec_files`: include only if a spec was generated; always a single file.
48+
- `target_branch`: **optional** — the base branch the runbook builds on and checks out; the generated PR opens against it. Omit for the repo default (trunk). (Runbook mode generates its own PR, so there's no `working_branch` to connect here.)
49+
50+
Then return the Runbook URL and set the PR directive, both per the `spec-submission` skill. The expected PR body shape:
51+
52+
```
53+
Runbook: <runbook-url>
54+
55+
## Summary
56+
57+
58+
## Test plan
59+
60+
```

0 commit comments

Comments
 (0)