Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
65af69b
plan: dual-harness Claude /implement and forge-agnostic publishing
sflandergan Jun 25, 2026
862b053
plan: revise to side-by-side GitLab skills, drop forge overlay system
sflandergan Jun 25, 2026
9ab69ad
refactor: incorporate review findings into dual-harness plan
Jun 26, 2026
6df741d
feat: add Claude /implement controller skill
Jun 26, 2026
14b7962
feat: add Claude implement-task subagent definition
Jun 26, 2026
30dacc0
feat: add github-publish authored skill with push guard and PR opener
Jun 26, 2026
1a2c33b
feat: add gitlab-publish authored skill with push guard and MR opener
Jun 26, 2026
2ff5cd4
feat: add gitlab-mr-comments authored skill with MR discussion fetch …
Jun 26, 2026
c1feff5
feat: wire publish and gitlab skills into Claude settings, finish, an…
Jun 26, 2026
0496f87
refactor: wire github-publish skill into OpenCode implement and finis…
Jun 26, 2026
53e44c5
feat: add gitlab-publish permissions and glab CLI access to OpenCode …
Jun 26, 2026
a864ee3
refactor: update Claude planner for dual-harness /implement handoff
Jun 26, 2026
875b360
docs: update Claude README for /implement controller and GitLab skills
Jun 26, 2026
b928b39
feat: add gitlab skills and claude agents to installers, wrap publish…
Jun 26, 2026
5798cee
refactor: replace remaining raw push references with publish skills
Jun 26, 2026
fb7cbfc
docs: update README for dual-harness /implement and GitLab skills
Jun 26, 2026
4c7111d
fix(copy.sh): include Claude /implement skill in installed assets
Jun 27, 2026
ed2aa43
feat(review): wire gitlab-mr-comments into review agents
Jun 27, 2026
8e01f62
refactor(opencode): use host-based publish skill selection in impleme…
Jun 27, 2026
06fc8d6
docs(readme): remove hard-coded skill counts
Jun 27, 2026
befa7c6
docs: add host-based publish and comment skill selection guidance
Jun 27, 2026
d454e1e
docs: update provider boundary plan
Jun 28, 2026
5d0b80b
docs: detail provider-boundary implementation plan
Jun 28, 2026
07c0fe1
Add neutral repository skills and remove redundant provider push scripts
Jun 28, 2026
f2ed585
Move bug issue publishing behind issue-tracker skill
Jun 28, 2026
45db205
Use neutral repository interfaces in shared workflow skills
Jun 28, 2026
f174fe3
Use neutral repository interfaces in OpenCode agents
Jun 28, 2026
5020d3f
Use neutral repository interfaces in Claude workflow skills
Jun 28, 2026
3c9a1d0
Update permissions for neutral repository skills
Jun 28, 2026
d7570db
Document neutral repository skills in README and role docs
Jun 28, 2026
44a9dbe
Register neutral repository skills in installers
Jun 28, 2026
209dc7b
Add workflow provider boundary check
Jun 28, 2026
b16140c
Update publish-branch.sh to use neutral skills
Jun 28, 2026
fc7c9fc
add plan to fix review remarks
Jun 28, 2026
8b06d11
Expand review findings plan details
Jun 28, 2026
d089d77
Document skill boundary rules for workflow instructions
Jun 28, 2026
f66f450
Move comment provider logic into change-request-comments
Jun 28, 2026
43628bf
Move neutral skill rationale into READMEs
Jun 28, 2026
db075e2
Use skill-level instructions in workflow files
Jun 28, 2026
1b79d0d
Align OpenCode permissions for neutral repository skills
Jun 28, 2026
92d5051
Sync installers and docs with neutral comment skill
Jun 28, 2026
071070e
Normalize permissions for neutral repository workflows
Jun 28, 2026
0cf9348
Use neutral publish skills for repo maintenance
Jun 28, 2026
adf3b50
Check workflow files for skill-internal leakage
Jun 28, 2026
1083a75
Add self-maintenance symlinks for neutral publish skills
Jun 28, 2026
63fa67e
use all git skills internally
Jun 28, 2026
b9bd211
Fix skill references and some wordings
sflandergan Jun 28, 2026
fff8c50
Fix skill references
sflandergan Jun 28, 2026
fe26198
Fix skill references in opencode agents
sflandergan Jun 28, 2026
677d23e
Use slash references for skills
sflandergan Jun 28, 2026
303be98
Fix description of change request script
sflandergan Jun 28, 2026
19f7c8d
Remove deprecated git push reference
sflandergan Jun 28, 2026
253fec8
Remove unnecessary documentation of script internals
sflandergan Jun 28, 2026
30df7f5
Remove documentation of script internals
sflandergan Jun 28, 2026
eaff249
Update SKILL.md
sflandergan Jun 28, 2026
1fbf792
Fix permissions and skill references
Jun 28, 2026
4e7820c
fix skill references and permissions for implement
Jun 28, 2026
4ffe86e
Use neutral comment skill for self-maintenance review
Jun 28, 2026
6027ecd
harden git push permissions
Jun 28, 2026
df13de4
Use slash references in workflow instructions
Jun 28, 2026
374dfdb
Detect non-slash boundary skill references
Jun 28, 2026
fa1546b
Fix skill references for planning
Jun 28, 2026
fc7e2c2
Fix shellcheck for neutral skill scripts
Jun 28, 2026
1aab1e3
Sync README with self-maintenance skills
Jun 28, 2026
f1428d7
Tighten bugfix and Claude permissions
Jun 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .agents/skills/agent-review/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,10 @@ Review plans and diffs against the conventions in `AGENTS.md`.

## PR Comment Review

Use the `github-pr-comments` skill and run:
Use the `/change-request-comments` skill and run:

```bash
bash .agents/skills/github-pr-comments/scripts/fetch-pr-comments.sh [<pr>]
bash .agents/skills/change-request-comments/scripts/fetch-comments.sh [<pr>] [--comments-only|--diff-only|--json]
```

Inline comments must be checked against the current diff before accepting or dismissing them. Outdated inline comments may still be valid; verify technical claims before dismissing.
Expand All @@ -54,7 +54,7 @@ Inline comments must be checked against the current diff before accepting or dis

Use this standard self-maintenance review workflow unless the user explicitly requests a different scope:

1. Read open PR comments first by using the `github-pr-comments` skill. If the branch has no detectable PR, state that and continue with the local review.
1. Read open PR comments first by using `/change-request-comments`. If the branch has no detectable PR, state that and continue with the local review.
2. Identify whether the review target is a spec/plan or a diff. If multiple candidate plans exist and the user did not state which one to use, ask before continuing the plan-conformance part of the review.
3. Review the target yourself against `AGENTS.md`, repository conventions, sync invariants, and any approved spec or plan.
4. Combine PR comments, user notes, external notes, and your own findings into one deduplicated list of actionable issues.
Expand Down
1 change: 1 addition & 0 deletions .agents/skills/change-request-comments
1 change: 1 addition & 0 deletions .agents/skills/change-request-publish
1 change: 1 addition & 0 deletions .agents/skills/git-publish
1 change: 0 additions & 1 deletion .agents/skills/github-pr-comments

This file was deleted.

1 change: 1 addition & 0 deletions .claude/skills/change-request-comments
1 change: 1 addition & 0 deletions .claude/skills/change-request-publish
1 change: 1 addition & 0 deletions .claude/skills/git-publish
1 change: 0 additions & 1 deletion .claude/skills/github-pr-comments

This file was deleted.

2 changes: 1 addition & 1 deletion .opencode/agents/implement-task.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ permission:
"rm -rf .temp/*": allow
"rm -rf .temp": allow
# Protective rules are last because opencode uses last-match-wins permissions
"git push *": deny
"git push*": deny
"git branch -d *": deny
"git branch -D *": deny
"git worktree remove *": deny
Expand Down
16 changes: 9 additions & 7 deletions .opencode/agents/implement.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ permission:
bash:
"*": ask
# GitHub PR operations
"gh pr create *": allow
"gh pr list *": allow
"gh pr view *": allow
# Git write and inspection operations
Expand All @@ -27,6 +26,9 @@ permission:
"git pull *": allow
"git show *": allow
"git status *": allow
# Push changes and open PR
"bash .agents/skills/git-publish/scripts/push-branch.sh*": allow
"bash .agents/skills/change-request-publish/scripts/open-change-request.sh*": allow
# File read and inspection
"cat *": allow
"diff *": allow
Expand Down Expand Up @@ -61,9 +63,6 @@ permission:
"codespell *": allow
"rm -rf .temp/*": allow
"rm -rf .temp": allow
# Publishing goes through the branch-safety helper
"scripts/publish-branch.sh": allow
"bash scripts/publish-branch.sh": allow
# Protective rules are last because opencode uses last-match-wins permissions
"git branch -d *": deny
"git branch -D *": deny
Expand All @@ -78,23 +77,26 @@ permission:
"*": deny
"agent-implementation": allow
"agent-verification": allow
"git-publish": allow
"change-request-publish": allow
---

You are the implementation controller for this toolkit repo.

Use the `agent-implementation` skill for orchestration. Use `agent-verification` before any completion claim.
Use /agent-implementation for orchestration. Use /agent-verification before any completion claim.

Execution rules:

- Work from a scoped branch before editing.
- Prefer `git mv` for moves/renames, `git rm` for removals of tracked paths.
- Use `scripts/publish-branch.sh` for publishing and PR creation. Direct `git push` is not used by the agent; all publishing goes through the helper.
- Use /git-publish for publishing and /change-request-publish for PR creation.
Direct `git push` is not used by the agent; all publishing goes through the skills.
- Before creating a PR, check if one exists: `gh pr list --head $(git rev-parse --abbrev-ref HEAD)`.
- Execute the plan task-by-task by dispatching a fresh `@implement-task` per task.
- Review each worker's report and diff before moving on.
- Continue between tasks without routine approval pauses.
- Stop only for: BLOCKED status, genuine ambiguity, or all tasks complete.
- After final verification, commit changes and run `scripts/publish-branch.sh`.
- After final verification, commit changes and invoke /git-publish.

Verification for this repo:

Expand Down
27 changes: 14 additions & 13 deletions .opencode/agents/planning.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ permission:
"wc *": allow
"date *": allow
"which *": allow
# Verification
"codespell *": allow
# Directory creation for plans
"mkdir plans/*": allow
"mkdir -p plans/*": allow
Expand All @@ -27,34 +29,32 @@ permission:
"git branch *": allow
"git checkout *": allow
"git commit *": allow
# Publish helper
"codespell *": allow
"scripts/publish-branch.sh": allow
"bash scripts/publish-branch.sh": allow
# Push changes and open PR
"bash .agents/skills/git-publish/scripts/push-branch.sh*": allow
"bash .agents/skills/change-request-publish/scripts/open-change-request.sh*": allow
# Protective denials are last because opencode uses last-match-wins permissions
"git branch -d *": deny
"git branch -D *": deny
"git worktree remove *": deny
"git push --force *": deny
"git push -f *": deny
"git push origin --force *": deny
"git push origin -f *": deny
"git push origin main*": deny
"git push origin +main*": deny
# Push is done via git-publish
"git push*": deny
task:
"*": deny
"explore": allow
skill:
"*": deny
"agent-planning": allow
"change-request-publish": allow
"git-publish": allow
"writing-skills": allow
---

You are the planning agent for this toolkit repo.

Load the approved spec first. Use the `agent-planning` skill to write the plan.
Load the approved spec first.
Use the /agent-planning skill to write the plan.

Your task is to write implementation plans to `plans/YYYY-MM-DD-feature-name/plan.md` next to the spec.
Your task is to write implementation plans to `plans/YYYY-MM-DD-feature-name/plan.md`.

Plan requirements:

Expand All @@ -67,4 +67,5 @@ Plan requirements:

Use `@explore` when you need to investigate before planning. Continue after the context is strong enough to support the plan.

After writing the plan, commit the plan file, run `scripts/publish-branch.sh` to push the branch and create or report the PR, and report the plan path, PR URL, and any open questions.
After writing the plan, commit the plan file, invoke /git-publish to push the branch and /change-request-publish to create a PR.
Report the plan path, PR URL, and any open questions.
48 changes: 32 additions & 16 deletions .opencode/agents/review.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,14 @@ permission:
bash:
"*": ask
# File read and inspection
"find *": allow
"ls": allow
"ls *": allow
"ls .temp/*": allow
"find .temp/*": allow
"grep *": allow
"rg *": allow
"sort *": allow
# Json parsing
"jq *": allow
# Git inspection
"git branch --show-current": allow
"git diff *": allow
Expand All @@ -23,45 +26,58 @@ permission:
"git show *": allow
"git branch": allow
"git branch *": allow
# PR comment fetching (read-only helper)
"bash .agents/skills/github-pr-comments/scripts/fetch-pr-comments.sh *": allow
'bash ".agents/skills/github-pr-comments/scripts/fetch-pr-comments.sh" *': allow
# Review-plan edit/commit/publish permissions
"git add plans/*": allow
"git commit *": allow
# Push changes
"bash .agents/skills/git-publish/scripts/push-branch.sh*": allow
'bash ".agents/skills/git-publish/scripts/push-branch.sh*"': allow
# GH pr inspection
"gh pr view *": allow
# PR comment fetching and replying (read-only + ask for mutations)
"bash .agents/skills/change-request-comments/scripts/fetch-comments.sh *": allow
'bash ".agents/skills/change-request-comments/scripts/fetch-comments.sh" *': allow
"bash .agents/skills/change-request-comments/scripts/reply-to-comment.sh *": ask
'bash ".agents/skills/change-request-comments/scripts/reply-to-comment.sh" *': ask
# Verification commands
"shellcheck *": allow
"bash -n *": allow
"codespell *": allow
# Review-plan edit/commit/publish permissions
"git add plans/*": allow
"git commit *": allow
"scripts/publish-branch.sh": allow
"bash scripts/publish-branch.sh": allow
# Protective rules are last because opencode uses last-match-wins permissions
"git branch -d *": deny
"git branch -D *": deny
"git worktree remove *": deny
"git push *": ask
"git push origin main*": deny
"git push": deny
"git push *": deny
task:
"*": deny
"explore": allow
skill:
"*": deny
"agent-review": allow
"agent-verification": allow
"github-pr-comments": allow
"change-request-comments": allow
"git-publish": allow
---

You are the review agent for this toolkit repo.

Use the `agent-review` skill for the review checklist. Use `agent-verification` for evidence-based claims. Use `github-pr-comments` when reviewing PR remarks or PR diffs.
Use /agent-review for the review checklist.
Use /agent-verification for evidence-based claims.
Use /change-request-comments when reviewing PR remarks or PR diffs.
Use /git-publish to push a changed or review remarks plan.

Review goals:

- For plans: spec coverage, file mapping, core/stack ripple, sync invariants, no placeholders, verification commands.
- For diffs: plan conformance, SKILL.md/agent frontmatter, symlinks, lockfile consistency, README accuracy, shellcheck results, git conventions.

Combine your findings into one deduplicated, prioritized list. Separate blocking issues from advisory suggestions. Cite file paths and sections.
Combine your findings into one deduplicated, prioritized list.
Separate blocking issues from advisory suggestions.
Cite file paths and sections.

Review and report findings without editing files directly. Provide suggested fixes when useful.
Review and report findings without editing files directly.
Provide suggested fixes when useful.

Use `@explore` when you need to investigate before judging a finding.
Use @explore when you need to investigate before judging a finding.
12 changes: 11 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,16 @@ user-invocable: false # for skills only loaded by agents, not users

OpenCode is configured to read skills from `.agents/skills/<name>/SKILL.md`. Each skill is symlinked into `.claude/skills/<name>` (`ln -s ../../.agents/skills/<name>`) so Claude Code also sees it. This matches the model `copy.sh` uses for authored skills.

## Skill Boundary Rule

Workflow-facing files (SKILL.md bodies, agent instructions, README workflow sections) must instruct agents to **use skills by slash reference** — for example /git-publish, /change-request-publish, /change-request-comments, or /issue-tracker — rather than exposing internal implementation paths.

**Do not** reference internal script paths like `.agents/skills/<skill>/scripts/*.sh` or `.claude/skills/<skill>/scripts/*.sh` in workflow-facing content. Boundary-skill implementation details may live in that skill's own scripts or sibling `README.md`; keep the `SKILL.md` focused on the invocation contract.

Agent frontmatter and Claude settings may grant script permissions, but body instructions should stay at the skill level, not the script level.

**Provider-boundary language:** Provider-specific CLI details (`gh`, `glab`, provider comment scripts) belong only in provider or boundary skills, not in generic workflow files. Generic workflow files should remain provider-agnostic.

## .temp/ Scratch Rule

All smoke runs and throwaway work goes in `.temp/`, never `/tmp`. Clean up after use. `.temp/` is gitignored.
Expand All @@ -72,7 +82,7 @@ All smoke runs and throwaway work goes in `.temp/`, never `/tmp`. Clean up after
- Branches use `feature/`, `fix/`, or `chore/` prefixes with short kebab-case descriptions.
- Commits are concise, imperative, and focused on why.
- Prefer `git mv` for moves/renames of tracked paths. Use `git rm` for removals of tracked paths.
- Use `scripts/publish-branch.sh` for branch publishing and PR creation so branch-safety checks are centralized.
- Use `git-publish` for branch pushes and `change-request-publish` for PR/MR creation so branch-safety checks are centralized.
- Keep branch deletion, worktree removal, and force-push operations under explicit human control.
- Write commits without `Co-Authored-By` trailers.

Expand Down
24 changes: 14 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,13 @@ Under `.opencode/agents/`:

Under `.claude/skills/` (all marked `disable-model-invocation: true`):

`brainstorm`, `bugfix`, `finish`, `planner`, `review-code`, `review-plan`
`brainstorm`, `bugfix`, `implement`, `finish`, `planner`, `review-code`, `review-plan`

### Authored Reusable Skills

Under `.agents/skills/`:

`grill-with-docs`, `workflow-bug-analysis`, `workflow-brainstorming`, `workflow-planning`, `workflow-implementation`, `workflow-verification`, `feature-documentation`, `github-pr-comments`
`grill-with-docs`, `workflow-bug-analysis`, `workflow-brainstorming`, `workflow-planning`, `workflow-implementation`, `workflow-verification`, `feature-documentation`, `git-publish`, `change-request-publish`, `change-request-comments`, `issue-tracker`

### DDD Docs

Expand All @@ -126,7 +126,7 @@ Under `docs/agents/` — per-agent loading contracts. See the individual files f

## Claude Symlink Model

The 6 workflow entry skills are real directories. The 7 authored skills are symlinked into `.claude/skills/` from `.agents/skills/`:
The workflow entry skills are real directories. The authored skills are symlinked into `.claude/skills/` from `.agents/skills/`:

| Skill | Symlink Target |
|---|---|
Expand All @@ -136,12 +136,14 @@ The 6 workflow entry skills are real directories. The 7 authored skills are syml
| `workflow-planning` | `../../.agents/skills/workflow-planning` |
| `workflow-verification` | `../../.agents/skills/workflow-verification` |
| `feature-documentation` | `../../.agents/skills/feature-documentation` |
| `github-pr-comments` | `../../.agents/skills/github-pr-comments` |
| `git-publish` | `../../.agents/skills/git-publish` |
| `change-request-publish` | `../../.agents/skills/change-request-publish` |
| `change-request-comments` | `../../.agents/skills/change-request-comments` |
| `issue-tracker` | `../../.agents/skills/issue-tracker` |
| `workflow-implementation` | `../../.agents/skills/workflow-implementation` |

Each symlinked skill has `user-invocable: false` in its `SKILL.md` frontmatter so it stays hidden from Claude Code's user-facing skill list.

> **Note:** `workflow-implementation` is **not** symlinked into Claude — it is reserved for OpenCode's `@implement` / `@implement-task` flow.

## Recommended Human-in-the-Loop Workflow

![Workflow diagram showing the human-in-the-loop cycle: ideation and planning (steps 1–6) followed by an implementation cycle (steps 7–11). Blue icons represent human input; robot icons represent LLM agents; purple steps are think-and-plan; orange steps are reviews; green is implementation; dark is finish.](workflow.PNG)
Expand All @@ -163,8 +165,8 @@ The diagram above maps the full cycle from brainstorming a feature through to sh

| # | Step | Invocation |
|---|---|---|
| 7 | **Implement task-by-task** — dispatch one worker per plan task, verify, and commit. | OpenCode `@implement` (controller) which spawns `@implement-task` workers. |
| 8 | **Human comments code** — review the diff and leave inline comments or GitHub review notes. | Human checkpoint (no agent invocation). |
| 7 | **Implement task-by-task** — dispatch one worker per plan task, verify, and commit. | Claude `/implement` or OpenCode `@implement` (controller) which spawns implement-task workers. Pick one per task. |
| 8 | **Human comments code** — review the diff and leave inline comments or change-request review notes. | Human checkpoint (no agent invocation). |
| 9 | **Review code** — analyze review feedback and determine required changes. | OpenCode `@review-code` or Claude `/review-code`. |
| 10 | **Review / Remark plan** — if code review surfaces scope changes, update the plan and loop back to step 7. Repeat until the plan is sound and complete. | OpenCode `@planner` or Claude `/planner` to revise; then re-enter implementation at step 7. |
| 11 | **Finish** — write summary and feature documentation, reconcile durable docs (ADRs, context maps, etc.). | OpenCode `@finish` or Claude `/finish`. |
Expand Down Expand Up @@ -218,10 +220,12 @@ Under `.agents/skills/` (symlinked into `.claude/skills/` for Claude Code compat
| `agent-implementation` | Controller orchestration, worker status handling, completion |
| `agent-verification` | Evidence-before-claims gate, verification commands, smoke runs |
| `agent-review` | Plan + diff review checklist aligned to `AGENTS.md` |
| `github-pr-comments` | PR comment fetching, classification, and reply workflow |
| `change-request-comments` | Comment fetching, classification, and reply workflow |
| `git-publish` | Branch push with safety guards (refuses main/master, force-push) |
| `change-request-publish` | PR/MR creation with idempotency (skips when one exists) |
| `writing-skills` | Remote skill from `obra/superpowers` for authoring skills |

Invoke in Claude Code with `/agent-planning`, `/agent-implementation`, `/agent-verification`, `/agent-review`, or `/github-pr-comments`. The `writing-skills` skill is also exposed as `/writing-skills`.
Invoke in Claude Code with `/agent-planning`, `/agent-implementation`, `/agent-verification`, `/agent-review`, `/change-request-comments`, `/git-publish`, or `/change-request-publish`. The `writing-skills` skill is also exposed as `/writing-skills`.

### Lockfiles

Expand Down
27 changes: 27 additions & 0 deletions core/agents/skills/change-request-comments/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# change-request-comments — Design Rationale

## Why a host-agnostic comment skill exists

Pull request and merge request comments have different APIs, data models, and CLI tools on GitHub (`gh`) and GitLab (`glab`). A host-agnostic skill lets agents read and reply to change-request comments without needing to know which provider hosts the repository.

## Host detection

The scripts read `git remote get-url origin` to determine the host:

- GitHub → uses `gh` CLI and GraphQL to fetch issue comments, inline review threads, and PR diff.
- GitLab → uses `glab` CLI to fetch discussions and MR diff.

The PR/MR number can be auto-detected from the current branch when omitted.

## Provider-specific reply formats

The reply payload format differs between providers:

- GitHub replies target `comment_id` (a numeric ID) and are posted via `gh api`.
- GitLab replies target `discussion_id` (a string ID) and are posted inside existing discussion threads via `glab mr note create`.

The `reply-to-comment.sh` script abstracts these differences behind a unified JSON interface.

## Why provider-specific CLIs should not be called directly from workflow files

Calling `gh` or `glab` directly from workflow files couples those files to a specific provider. The comment skill handles host detection and format translation, so workflow instructions should tell agents to use the `change-request-comments` skill by name.
Loading