Skip to content

Commit d60ac7e

Browse files
committed
Restore the pull-request-review skill 1:1 with GaaS
Replace Corbits ask_operator, /review rename, and GitHub Step 9 extras with Guy's GaaS body. Slash /pull-request-review remains. Those extras stay on native-integration. Ignore GaaS opsh SKILL.md in prettier so table alignment stays 1:1.
1 parent 9ea3de5 commit d60ac7e

4 files changed

Lines changed: 19 additions & 25 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ parallel copies under `docs/` or `scripts/notes/`. At cut time: rename
2121

2222
- Drop unused `@opentui/keymap`, `@opentui/solid`, and `solid-js`. The interactive TUI is imperative `@opentui/core` only.
2323
- Restore the opsh skill 1:1 with GaaS. Tool/shell mapping stays on native-integration. user-invocable: false stays so it remains use_skill-only.
24+
- Restore the pull-request-review skill 1:1 with GaaS. ask_operator, /review mapping, and GitHub posting stay on native-integration. Slash /pull-request-review remains.
25+
- Ignore GaaS opsh SKILL.md in prettier so table alignment stays 1:1.
2426
- Restore the git-rebase skill body 1:1 with GaaS. Intern execution recipe stays on native-integration. user-invocable: false stays so it remains use_skill-only.
2527
- Restore the linear-issue-workflow skill body 1:1 with GaaS. Claim-first, In Review, and git-worktrees extras stay on native-integration. user-invocable: false stays so it remains use_skill-only.
2628
- Restore the interview skill body 1:1 with GaaS (AskUserQuestion). Operator-ask mapping stays on native-integration. Slash /interview remains.

plugins/corbits-skills/skills/native-integration/SKILL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ When the branch under review has an open GitHub pull request, **post the finishe
7676

7777
This step is the delivery of the review, not a second pass of analysis. By the time you post, findings are already decided. Do not reopen the read while drafting the body.
7878

79+
GaaS pull-request-review loads `code-review` and says "ask the user". Corbits extras: `ask_operator` (tool mapping above), `/review` for `code-review` (slash-name mapping above), and GitHub posting (this section). Do not fork the GaaS pull-request-review body.
80+
7981
### When to post
8082

8183
Post when any of these is true:

plugins/corbits-skills/skills/pull-request-review/SKILL.md

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Review a pull request by branch name or URL, using a git worktree
55

66
# Pull Request Review
77

8-
Use this skill to review a pull request given a branch name or URL. Do not implement fixes.
8+
Use this skill to review a pull request given a branch name or URL.
99

1010
## Input Formats
1111

@@ -109,7 +109,7 @@ Before reviewing, the repository must be properly set up. Look for developer doc
109109

110110
3. Do not assume the setup process. Every repository has its own conventions and requirements.
111111

112-
4. If no setup documentation exists, `ask_operator` how to set up the repository before proceeding.
112+
4. If no setup documentation exists, ask the user how to set up the repository before proceeding.
113113

114114
### Step 7: Determine Base Branch
115115

@@ -126,33 +126,16 @@ glab mr view --output json | jq -r '.target_branch'
126126
git branch -r | grep -E 'origin/(main|master)$' | head -1 | sed 's/.*origin\///'
127127
```
128128

129-
### Step 8: Load the review skill
129+
### Step 8: Load Code Review Skill
130130

131-
Load and follow the `review` skill to perform the actual review. The `review` skill provides guidance on:
131+
Load and follow the `code-review` skill to perform the actual review. The code-review skill provides guidance on:
132132

133133
- Scope determination using git diff
134134
- Handling pre-existing code
135135
- Convention compliance
136136
- Test coverage philosophy
137137
- Signal over noise (avoiding unactionable findings)
138138
- Review checklist
139-
- **Post the Review on GitHub** (required when a PR URL/number is known)
140-
141-
### Step 9: Post the Review on GitHub
142-
143-
When the review targets a GitHub PR (URL, number, or branch with an open PR), **post the finished review on the PR** before cleanup. A review that only lives in chat is not done.
144-
145-
Follow **Post the Review on GitHub** in the `review` skill:
146-
147-
1. Map the verdict to a `gh pr review` action:
148-
- Approve → `--approve`
149-
- Comment → `--comment`
150-
- Request changes → `--request-changes`
151-
2. Body: clean multi-line shape — lens label, one present-tense line on what the branch does, findings with `path:line`, no AI filler. Hard bans live in that skill section.
152-
3. If additional personas ran (`critic`, `greybeard`, OSS/quality), each lens with substance posts its own labeled review. Primary owns the merge action; secondary lenses use `--comment` only.
153-
4. Paste the posted review URL(s) into the user-facing summary.
154-
155-
Do not skip the post because the chat already summarized the findings.
156139

157140
## Cleanup
158141

@@ -166,7 +149,7 @@ Inform the user that the worktree remains available for further investigation an
166149

167150
## Error Handling
168151

169-
If any command fails during the workflow, do not retry or attempt workarounds. Stop immediately and `ask_operator` how to proceed. Common failure scenarios include:
152+
If any command fails during the workflow, do not retry or attempt workarounds. Stop immediately and ask the user for guidance. Common failure scenarios include:
170153

171154
- Branch does not exist remotely
172155
- Worktree creation fails

tests/unit/corbits-skills-catalog.test.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -239,11 +239,17 @@ test("review skill is a code-review playbook, not a director router", async () =
239239
expect(skill).not.toContain('task(agent="greybeard")');
240240
});
241241

242-
test("pull-request-review checkouts a worktree then loads the review skill", async () => {
242+
test("pull-request-review is 1:1 with GaaS pull-request-review", async () => {
243243
const skill = await Bun.file(join(pluginRoot, "skills/pull-request-review/SKILL.md")).text();
244244
expect(skill).toContain("git worktree add");
245-
expect(skill).toContain("review` skill");
246-
expect(skill).toContain("Do not implement fixes");
245+
expect(skill).toContain("`code-review` skill");
246+
expect(skill).toContain("Load Code Review Skill");
247+
expect(skill).toContain("ask the user");
248+
expect(skill).not.toContain("Do not implement fixes");
249+
expect(skill).not.toContain("ask_operator");
250+
expect(skill).not.toContain("### Step 9:");
251+
expect(skill).not.toContain("Post the Review on GitHub");
252+
expect(skill).not.toContain(USER_INVOCABLE_FALSE);
247253
expect(skill).not.toContain("spawn_agent");
248254
expect(skill).not.toContain('task(agent="critic")');
249255
});
@@ -391,6 +397,7 @@ test("native-integration maps GaaS tool names and parks Corbits extras", async (
391397
expect(skill).toContain("intern executes sequenced git via `run_shell`");
392398
expect(skill).toContain("Do not fork the GaaS git-rebase body");
393399
expect(skill).toContain("Do not fork the GaaS opsh body");
400+
expect(skill).toContain("Do not fork the GaaS pull-request-review body");
394401
expect(skill).toContain("prove");
395402
});
396403

0 commit comments

Comments
 (0)