opencode-onboard 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +213 -213
- package/content/.agents/skills/browser-automation/SKILL.md +26 -10
- package/content/.agents/skills/ob-pullrequest-az/SKILL.md +170 -0
- package/content/.agents/skills/ob-pullrequest-gh/SKILL.md +140 -0
- package/content/.agents/skills/ob-userstory-az/SKILL.md +172 -206
- package/content/.agents/skills/ob-userstory-gh/SKILL.md +21 -57
- package/content/AGENTS.md +237 -1
- package/package.json +1 -1
- package/content/.agents/agents/.bootstrap/AGENTS.template.md +0 -234
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ob-pullrequest-gh
|
|
3
|
+
description: Create GitHub PRs with screenshots, or read and triage PR review feedback. Use when shipping a feature branch or when user says "I've added comments to the PR".
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Requires gh CLI, openspec CLI, and opencode-browser for screenshots.
|
|
6
|
+
metadata:
|
|
7
|
+
author: copilots
|
|
8
|
+
version: "1.0"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
**RTK - MANDATORY**
|
|
12
|
+
|
|
13
|
+
Use `rtk` wrapper for ALL CLI commands:
|
|
14
|
+
- `rtk git add` NOT `git add`
|
|
15
|
+
- `rtk git commit` NOT `git commit`
|
|
16
|
+
- `rtk git push` NOT `git push`
|
|
17
|
+
- `rtk gh pr create` NOT `gh pr create`
|
|
18
|
+
- `rtk gh pr comment` NOT `gh pr comment`
|
|
19
|
+
- `rtk gh api` NOT `gh api`
|
|
20
|
+
|
|
21
|
+
**Browser MCP tools are FORBIDDEN for all GitHub operations.**
|
|
22
|
+
Browser tools are ONLY permitted for screenshots of the LOCAL running app on `localhost` URLs.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Mode A: Create PR (ship mode)
|
|
27
|
+
|
|
28
|
+
Triggered when devops-manager is in ship mode after implementation is complete.
|
|
29
|
+
|
|
30
|
+
### Step 1: Verify feature branch
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
rtk git branch --show-current
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Branch must be `feature/{id}-{slug}`. NEVER push to `main`.
|
|
37
|
+
|
|
38
|
+
### Step 2: Capture screenshots (if UI changes exist)
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
browser_navigate url="http://localhost:{port}/{route}"
|
|
42
|
+
browser_wait ms=2000
|
|
43
|
+
browser_screenshot
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Save to: `openspec/changes/{change-name}/images/{feature}.png`
|
|
47
|
+
|
|
48
|
+
### Step 3: Commit and push
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
rtk git add .
|
|
52
|
+
rtk git commit -m "feat(#{id}): {description}"
|
|
53
|
+
rtk git push origin feature/{slug}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Step 4: Create PR
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
rtk gh pr create \
|
|
60
|
+
--base main \
|
|
61
|
+
--head feature/{slug} \
|
|
62
|
+
--title "feat: {title}" \
|
|
63
|
+
--body "{description}"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Step 5: Post screenshot comment
|
|
67
|
+
|
|
68
|
+
Build raw URL for each image:
|
|
69
|
+
```
|
|
70
|
+
https://raw.githubusercontent.com/{owner}/{repo}/feature/{slug}/openspec/changes/{change}/images/{file}.png
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Post comment:
|
|
74
|
+
```bash
|
|
75
|
+
rtk gh pr comment {pr-number} --body $'## Screenshots\n\n'
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Mode B: Read PR Feedback (feedback mode)
|
|
81
|
+
|
|
82
|
+
Triggered when user says "I've added comments to the PR" or "check PR feedback".
|
|
83
|
+
|
|
84
|
+
### Step 1: Find PRs
|
|
85
|
+
|
|
86
|
+
If PR link provided, extract number from URL. Otherwise:
|
|
87
|
+
```bash
|
|
88
|
+
rtk gh pr list --state open --limit 1
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Step 2: Read comment threads
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
rtk gh pr view {pr-number} --comments
|
|
95
|
+
# Or structured output:
|
|
96
|
+
rtk gh api repos/{owner}/{repo}/pulls/{pr-number}/comments
|
|
97
|
+
rtk gh api repos/{owner}/{repo}/pulls/{pr-number}/reviews
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Step 3: Categorize feedback
|
|
101
|
+
|
|
102
|
+
| Category | Description | Action |
|
|
103
|
+
|----------|-------------|--------|
|
|
104
|
+
| `code-change` | Reviewer requests code modification | Return to lead to spawn specialists |
|
|
105
|
+
| `spec-update` | Affects proposal, design, or tasks | Update openspec artifacts |
|
|
106
|
+
| `question` | Reviewer asks a question | Reply with answer |
|
|
107
|
+
| `resolved` | Thread already resolved | Skip |
|
|
108
|
+
|
|
109
|
+
### Step 4: Update openspec (if spec-update)
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
rtk git branch --show-current
|
|
113
|
+
# feature/add-user-auth → change: add-user-auth
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Update: `openspec/changes/{change}/proposal.md`, `design.md`, or `tasks.md` as appropriate.
|
|
117
|
+
|
|
118
|
+
### Step 5: Reply to each comment thread
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Reply to a review comment
|
|
122
|
+
rtk gh api repos/{owner}/{repo}/pulls/{pr-number}/comments/{comment-id}/replies \
|
|
123
|
+
--method POST \
|
|
124
|
+
--field body="Acknowledged — applying this change now."
|
|
125
|
+
|
|
126
|
+
# Or post a general PR comment
|
|
127
|
+
rtk gh pr comment {pr-number} --body "Updated design.md to reflect feedback."
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Guardrails
|
|
133
|
+
|
|
134
|
+
- ✅ Commit and push to feature branches only
|
|
135
|
+
- ✅ Create and comment on PRs via gh CLI
|
|
136
|
+
- ✅ Screenshots of localhost only via browser_screenshot
|
|
137
|
+
- ❌ Commit or push to `main` — FORBIDDEN
|
|
138
|
+
- ❌ Force push — FORBIDDEN
|
|
139
|
+
- ❌ Merge or approve PRs — human-only
|
|
140
|
+
- ❌ Navigate browser to github.com — FORBIDDEN
|
|
@@ -1,206 +1,172 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ob-userstory-az
|
|
3
|
-
description: Parse Azure DevOps user story URL and create OpenSpec change. Use when user provides an Azure DevOps URL.
|
|
4
|
-
license: MIT
|
|
5
|
-
compatibility: Requires openspec CLI and Azure CLI.
|
|
6
|
-
metadata:
|
|
7
|
-
author: copilots
|
|
8
|
-
version: "3.
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
**RTK - MANDATORY**
|
|
12
|
-
|
|
13
|
-
Use `rtk` wrapper for ALL CLI commands:
|
|
14
|
-
- `rtk az boards work-item show` NOT `az boards work-item show`
|
|
15
|
-
- `rtk openspec new change` NOT `openspec new change`
|
|
16
|
-
|
|
17
|
-
**Browser MCP tools are FORBIDDEN for all Azure DevOps operations.**
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## Azure CLI Setup (One-Time)
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
az config set extension.dynamic_install_allow_preview=true
|
|
25
|
-
az extension add --name azure-devops
|
|
26
|
-
az login
|
|
27
|
-
az devops login --organization https://dev.azure.com/
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
**PAT Token**, go to `https://dev.azure.com/
|
|
31
|
-
Create with scopes: **Work Items (Read & Write)** + **Code (Read & Write)**
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Steps
|
|
36
|
-
|
|
37
|
-
1. **Extract Work Item ID** from URL
|
|
38
|
-
- `?workitem=193208` → ID: 193208
|
|
39
|
-
- `/workitems/edit/193208` → ID: 193208
|
|
40
|
-
|
|
41
|
-
2. **Fetch Work Item**
|
|
42
|
-
```bash
|
|
43
|
-
rtk az boards work-item show --id 193208
|
|
44
|
-
```
|
|
45
|
-
Do NOT use `--organization` flag (uses default org).
|
|
46
|
-
|
|
47
|
-
3. **Extract Key Fields** from JSON response:
|
|
48
|
-
- `fields.System.Title` → Title
|
|
49
|
-
- `fields.System.Description` → Description (may be HTML, strip tags)
|
|
50
|
-
- `fields.System.WorkItemType` → Type
|
|
51
|
-
- `fields.System.IterationPath` → Sprint
|
|
52
|
-
- `fields.System.State` → State
|
|
53
|
-
- `fields.System.AcceptanceCriteria` → AC (if present)
|
|
54
|
-
|
|
55
|
-
4. **Create OpenSpec Change**
|
|
56
|
-
```bash
|
|
57
|
-
rtk openspec new change "us-{id}-{slug}"
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## Full Azure DevOps CLI Reference
|
|
63
|
-
|
|
64
|
-
Use these for ALL DevOps operations, browser MCP is FORBIDDEN.
|
|
65
|
-
|
|
66
|
-
### Work Items
|
|
67
|
-
```bash
|
|
68
|
-
# Read work item
|
|
69
|
-
rtk az boards work-item show --id <id>
|
|
70
|
-
|
|
71
|
-
# Update work item state
|
|
72
|
-
rtk az boards work-item update --id <id> --state "Active"
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
###
|
|
76
|
-
```bash
|
|
77
|
-
#
|
|
78
|
-
rtk az
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
#
|
|
84
|
-
rtk az
|
|
85
|
-
--
|
|
86
|
-
--
|
|
87
|
-
--
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
{
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
https://dev.azure.com/{org}/{project}/_sprints/backlog/{team}/{project}/Sprint%20110?workitem=193208
|
|
174
|
-
|
|
175
|
-
# Direct work item
|
|
176
|
-
https://dev.azure.com/{org}/{project}/_workitems/edit/193208
|
|
177
|
-
|
|
178
|
-
# PR
|
|
179
|
-
https://dev.azure.com/{org}/{project}/_git/{repo}/pullrequest/{pr-id}
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
|
|
184
|
-
## Output Format
|
|
185
|
-
|
|
186
|
-
```
|
|
187
|
-
## User Story Parsed
|
|
188
|
-
|
|
189
|
-
**Work Item:** #193208
|
|
190
|
-
**Title:** Roles CRUD
|
|
191
|
-
**Type:** User Story
|
|
192
|
-
**Iteration:** Sprint 110
|
|
193
|
-
**State:** New
|
|
194
|
-
|
|
195
|
-
**Change Created:** us-193208-roles-crud
|
|
196
|
-
|
|
197
|
-
### Next Steps
|
|
198
|
-
1. Review the proposal
|
|
199
|
-
2. Say "implement the plan" to start implementation
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
## Constraints
|
|
203
|
-
|
|
204
|
-
- This skill only PARSES and PROPOSES, implementation via openspec-apply-change
|
|
205
|
-
- Always use `rtk` for CLI commands
|
|
206
|
-
- Browser MCP tools FORBIDDEN for all DevOps operations
|
|
1
|
+
---
|
|
2
|
+
name: ob-userstory-az
|
|
3
|
+
description: Parse Azure DevOps user story URL and create OpenSpec change. Use when user provides an Azure DevOps URL.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Requires openspec CLI and Azure CLI.
|
|
6
|
+
metadata:
|
|
7
|
+
author: copilots
|
|
8
|
+
version: "3.1"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
**RTK - MANDATORY**
|
|
12
|
+
|
|
13
|
+
Use `rtk` wrapper for ALL CLI commands:
|
|
14
|
+
- `rtk az boards work-item show` NOT `az boards work-item show`
|
|
15
|
+
- `rtk openspec new change` NOT `openspec new change`
|
|
16
|
+
|
|
17
|
+
**Browser MCP tools are FORBIDDEN for all Azure DevOps operations.**
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Azure CLI Setup (One-Time)
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
az config set extension.dynamic_install_allow_preview=true
|
|
25
|
+
az extension add --name azure-devops
|
|
26
|
+
az login
|
|
27
|
+
az devops login --organization https://dev.azure.com/{org}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**PAT Token**, go to `https://dev.azure.com/{org}/_usersSettings/tokens`
|
|
31
|
+
Create with scopes: **Work Items (Read & Write)** + **Code (Read & Write)**
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Steps
|
|
36
|
+
|
|
37
|
+
1. **Extract Work Item ID** from URL
|
|
38
|
+
- `?workitem=193208` → ID: 193208
|
|
39
|
+
- `/workitems/edit/193208` → ID: 193208
|
|
40
|
+
|
|
41
|
+
2. **Fetch Work Item**
|
|
42
|
+
```bash
|
|
43
|
+
rtk az boards work-item show --id 193208
|
|
44
|
+
```
|
|
45
|
+
Do NOT use `--organization` flag (uses default org).
|
|
46
|
+
|
|
47
|
+
3. **Extract Key Fields** from JSON response:
|
|
48
|
+
- `fields.System.Title` → Title
|
|
49
|
+
- `fields.System.Description` → Description (may be HTML, strip tags)
|
|
50
|
+
- `fields.System.WorkItemType` → Type
|
|
51
|
+
- `fields.System.IterationPath` → Sprint
|
|
52
|
+
- `fields.System.State` → State
|
|
53
|
+
- `fields.System.AcceptanceCriteria` → AC (if present)
|
|
54
|
+
|
|
55
|
+
4. **Create OpenSpec Change**
|
|
56
|
+
```bash
|
|
57
|
+
rtk openspec new change "us-{id}-{slug}"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Full Azure DevOps CLI Reference
|
|
63
|
+
|
|
64
|
+
Use these for ALL DevOps operations, browser MCP is FORBIDDEN.
|
|
65
|
+
|
|
66
|
+
### Work Items
|
|
67
|
+
```bash
|
|
68
|
+
# Read work item
|
|
69
|
+
rtk az boards work-item show --id <id>
|
|
70
|
+
|
|
71
|
+
# Update work item state
|
|
72
|
+
rtk az boards work-item update --id <id> --state "Active"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### PR Threads (Comments)
|
|
76
|
+
```bash
|
|
77
|
+
# Read all threads
|
|
78
|
+
rtk az devops invoke \
|
|
79
|
+
--area git --resource pullRequestThreads \
|
|
80
|
+
--route-parameters project={project} repositoryId=<repo> pullRequestId=<id> \
|
|
81
|
+
--http-method GET --api-version 7.1
|
|
82
|
+
|
|
83
|
+
# Post new comment thread (requires body.json)
|
|
84
|
+
rtk az devops invoke \
|
|
85
|
+
--area git --resource pullRequestThreads \
|
|
86
|
+
--route-parameters project={project} repositoryId=<repo> pullRequestId=<id> \
|
|
87
|
+
--http-method POST --api-version 7.1 --in-file body.json
|
|
88
|
+
|
|
89
|
+
# Reply to existing thread
|
|
90
|
+
rtk az devops invoke \
|
|
91
|
+
--area git --resource pullRequestThreadComments \
|
|
92
|
+
--route-parameters project={project} repositoryId=<repo> pullRequestId=<id> threadId=<tid> \
|
|
93
|
+
--http-method POST --api-version 7.1 --in-file reply.json
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Comment Body JSON format
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"comments": [
|
|
100
|
+
{
|
|
101
|
+
"parentCommentId": 0,
|
|
102
|
+
"content": "Your markdown comment here.",
|
|
103
|
+
"commentType": 1
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"status": "active"
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
For replies, `parentCommentId` should be the ID of the first comment in the thread (usually 1).
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Screenshot / Image Strategy
|
|
115
|
+
|
|
116
|
+
**Never upload images as PR attachments.** Save to openspec change folder and reference via raw URL.
|
|
117
|
+
|
|
118
|
+
### Save location
|
|
119
|
+
```
|
|
120
|
+
openspec/changes/{change-name}/images/{screenshot}.png
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Raw URL format (renders inline in PR comments)
|
|
124
|
+
```
|
|
125
|
+
https://dev.azure.com/{org}/{project}/_apis/git/repositories/{repo}/items?path=openspec/changes/{change}/images/{file}.png&versionType=branch&version={branch}&api-version=7.1
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Do NOT use `_git/` URLs, they return HTML, not raw binary.
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## URL Formats Reference
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
# Sprint board with work item
|
|
136
|
+
https://dev.azure.com/{org}/{project}/_sprints/backlog/{team}/{project}/Sprint%20110?workitem=193208
|
|
137
|
+
|
|
138
|
+
# Direct work item
|
|
139
|
+
https://dev.azure.com/{org}/{project}/_workitems/edit/193208
|
|
140
|
+
|
|
141
|
+
# PR
|
|
142
|
+
https://dev.azure.com/{org}/{project}/_git/{repo}/pullrequest/{pr-id}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Output Format
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
## User Story Parsed
|
|
151
|
+
|
|
152
|
+
**Work Item:** #{id}
|
|
153
|
+
**Title:** {title}
|
|
154
|
+
**Type:** User Story
|
|
155
|
+
**Iteration:** {sprint}
|
|
156
|
+
**State:** {state}
|
|
157
|
+
|
|
158
|
+
**Change Created:** us-{id}-{slug}
|
|
159
|
+
|
|
160
|
+
### Next Steps
|
|
161
|
+
1. Review the proposal
|
|
162
|
+
2. Say "implement the plan" to start implementation
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Guardrails
|
|
168
|
+
|
|
169
|
+
- ✅ Parse Azure DevOps URL and create OpenSpec change
|
|
170
|
+
- ✅ Use `rtk` for all Azure CLI operations
|
|
171
|
+
- ❌ Browser MCP tools for Azure DevOps operations — FORBIDDEN
|
|
172
|
+
- ❌ Implementation — this skill only parses and proposes
|
|
@@ -5,9 +5,17 @@ license: MIT
|
|
|
5
5
|
compatibility: Requires openspec CLI and gh CLI.
|
|
6
6
|
metadata:
|
|
7
7
|
author: copilots
|
|
8
|
-
version: "1.
|
|
8
|
+
version: "1.1"
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
**RTK - MANDATORY**
|
|
12
|
+
|
|
13
|
+
Use `rtk` wrapper for ALL CLI commands:
|
|
14
|
+
- `rtk gh issue view` NOT `gh issue view`
|
|
15
|
+
- `rtk gh issue list` NOT `gh issue list`
|
|
16
|
+
- `rtk gh issue edit` NOT `gh issue edit`
|
|
17
|
+
- `rtk openspec new change` NOT `openspec new change`
|
|
18
|
+
|
|
11
19
|
**Browser MCP tools are FORBIDDEN for all GitHub operations.**
|
|
12
20
|
|
|
13
21
|
---
|
|
@@ -33,7 +41,7 @@ gh auth status
|
|
|
33
41
|
|
|
34
42
|
2. **Fetch Issue**
|
|
35
43
|
```bash
|
|
36
|
-
gh issue view 42 --json number,title,body,labels,milestone,state
|
|
44
|
+
rtk gh issue view 42 --json number,title,body,labels,milestone,state
|
|
37
45
|
```
|
|
38
46
|
|
|
39
47
|
3. **Extract Key Fields** from JSON response:
|
|
@@ -46,7 +54,7 @@ gh auth status
|
|
|
46
54
|
|
|
47
55
|
4. **Create OpenSpec Change**
|
|
48
56
|
```bash
|
|
49
|
-
openspec new change "gh-{number}-{slug}"
|
|
57
|
+
rtk openspec new change "gh-{number}-{slug}"
|
|
50
58
|
```
|
|
51
59
|
|
|
52
60
|
---
|
|
@@ -58,55 +66,13 @@ Use these for ALL GitHub operations, browser MCP is FORBIDDEN.
|
|
|
58
66
|
### Issues
|
|
59
67
|
```bash
|
|
60
68
|
# Read issue
|
|
61
|
-
gh issue view <number>
|
|
69
|
+
rtk gh issue view <number>
|
|
62
70
|
|
|
63
71
|
# List open issues
|
|
64
|
-
gh issue list --state open --limit 10
|
|
72
|
+
rtk gh issue list --state open --limit 10
|
|
65
73
|
|
|
66
74
|
# Update issue
|
|
67
|
-
gh issue edit <number> --add-label "in-progress"
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### Pull Requests
|
|
71
|
-
```bash
|
|
72
|
-
# List open PRs
|
|
73
|
-
gh pr list --state open
|
|
74
|
-
|
|
75
|
-
# Show PR details
|
|
76
|
-
gh pr view <number>
|
|
77
|
-
|
|
78
|
-
# Create PR
|
|
79
|
-
gh pr create \
|
|
80
|
-
--base main \
|
|
81
|
-
--head feature/{slug} \
|
|
82
|
-
--title "feat: <title>" \
|
|
83
|
-
--body "<description>"
|
|
84
|
-
|
|
85
|
-
# Update PR
|
|
86
|
-
gh pr edit <number> --body "<text>"
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### PR Comments
|
|
90
|
-
```bash
|
|
91
|
-
# Read PR comments
|
|
92
|
-
gh pr view <number> --comments
|
|
93
|
-
|
|
94
|
-
# Post PR comment
|
|
95
|
-
gh pr comment <number> --body "Your markdown comment here."
|
|
96
|
-
|
|
97
|
-
# Reply to review comment via API
|
|
98
|
-
gh api repos/{owner}/{repo}/pulls/{pr-number}/comments/{comment-id}/replies \
|
|
99
|
-
--method POST \
|
|
100
|
-
--field body="Reply text here."
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### Review Comments (structured)
|
|
104
|
-
```bash
|
|
105
|
-
# Get all review comments on a PR
|
|
106
|
-
gh api repos/{owner}/{repo}/pulls/{pr-number}/comments
|
|
107
|
-
|
|
108
|
-
# Get all reviews
|
|
109
|
-
gh api repos/{owner}/{repo}/pulls/{pr-number}/reviews
|
|
75
|
+
rtk gh issue edit <number> --add-label "in-progress"
|
|
110
76
|
```
|
|
111
77
|
|
|
112
78
|
---
|
|
@@ -125,11 +91,6 @@ openspec/changes/{change-name}/images/{screenshot}.png
|
|
|
125
91
|
https://raw.githubusercontent.com/{owner}/{repo}/{branch}/openspec/changes/{change}/images/{file}.png
|
|
126
92
|
```
|
|
127
93
|
|
|
128
|
-
### PR comment with screenshot
|
|
129
|
-
```bash
|
|
130
|
-
gh pr comment <number> --body "## Screenshots\n\n"
|
|
131
|
-
```
|
|
132
|
-
|
|
133
94
|
---
|
|
134
95
|
|
|
135
96
|
## URL Formats Reference
|
|
@@ -164,8 +125,11 @@ https://raw.githubusercontent.com/{owner}/{repo}/{branch}/{path}
|
|
|
164
125
|
2. Say "implement the plan" to start implementation
|
|
165
126
|
```
|
|
166
127
|
|
|
167
|
-
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Guardrails
|
|
168
131
|
|
|
169
|
-
-
|
|
170
|
-
-
|
|
171
|
-
- Browser MCP tools
|
|
132
|
+
- ✅ Parse GitHub Issue URL and create OpenSpec change
|
|
133
|
+
- ✅ Use `rtk gh` for all GitHub CLI operations
|
|
134
|
+
- ❌ Browser MCP tools for GitHub operations — FORBIDDEN
|
|
135
|
+
- ❌ Implementation — this skill only parses and proposes
|