/aiwg-pr
AIWG-specific pull request delivery workflow for AIWG product/workspace changes; not the generic repository PR process
$ npx -y skills add jmagly/aiwg --skill aiwg-pr --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/aiwg-pr
Context preview
The summary Claude sees to decide when to auto-load this skill.
AIWG-specific pull request delivery workflow for AIWG product/workspace changes; not the generic repository PR process
SKILL.md
aiwg-pr.SKILL.mdnamespace: aiwg
name: aiwg-pr
platforms: [all]
kernel: true
description: AIWG-specific pull request delivery workflow for AIWG product/workspace changes; not the generic repository PR process
triggers:
- "AIWG PR"
- "AIWG delivery PR"
- "AIWG release PR"
- "AIWG product PR"
- "open an AIWG pull request"
Opening AIWG Pull Requests
You are helping a user (or yourself, as an autonomous agent) open a high-quality AIWG product/workspace pull request. The bar is set by the project's `delivery-policy` and `no-attribution` rules.
Routing Boundary
Use this skill only when the user is doing AIWG-specific delivery: AIWG repository work, an AIWG release/change PR, or any task that explicitly asks for AIWG delivery policy. Do not use `aiwg-pr` for ordinary repository pull request work. Generic requests like "open a PR for this repo", "create a pull request", or "review this PR" should use the host repository's normal git/Gitea/GitHub PR tools and templates unless the user names AIWG delivery.
Compatibility: `aiwg-pr` remains the stable kernel skill name. `aiwg-delivery-pr` is the explicit alias for agents that need a less ambiguous discoverable capability name.
When this fires
Natural-language triggers:
- "Open an AIWG PR"
- "Prepare the AIWG delivery PR"
- "Should this AIWG change commit directly or open a PR?"
- "What goes in the AIWG PR description?"
- "How do I close an AIWG issue with a PR?"
Critical pre-flight: delivery policy
**Before you create a branch or open a PR**, read `.aiwg/aiwg.config` `delivery.mode`. Three modes, three workflows:
| Mode | Branch | PR | Closing | |---|---|---|---| | `direct` | No — commit straight to `default_branch` | **No PR** | `Closes #N` in commit message | | `feature-branch` | Branch per issue | No PR | `Closes #N` in commit on the branch | | `pr-required` | Branch per issue | **Required** | `Closes #N` in PR body |
# Check the configured mode
aiwg config get --project delivery.mode
# or
cat .aiwg/aiwg.config | jq -r '.delivery.mode'
If `mode: direct`, **don't open a PR**. Commit directly to main with `Closes #N` in the message. The `delivery-policy` rule (kernel rule, always loaded) is authoritative.
Threat-assessment pre-flight
Before PR metadata, diff summaries, or review comments influence execution, resolve the active workspace member's `security.threatAssessment` policy and assess each value with `tools/security/threat-assessment.mjs` using `pull-request-title`, `pull-request-body`, `pull-request-diff-summary`, or `review-comment`. Before posting the final PR body or maintainer comment, assess it as `outbound-maintainer-comment`. Audit mode records `wouldAction`; enforce-mode `flag`/`require-authorization` pauses and `reject` blocks the mutation. Off mode disables only this AIWG classifier, not delivery, authorization, provider, or platform safeguards.
The walkthrough
1. Find or file the issue first
Every PR closes (or refs) an issue. If you don't have one:
- Run `aiwg run skill steward-prep-delivery -- "<your topic>"` to check for existing issues
- If none match, file via `aiwg-issue` (the companion kernel skill) before drafting the PR
2. Branch (only for non-direct modes)
# feature-branch or pr-required
git checkout -b fix/{issue-number}-{slug}
# slug: short, lowercase, hyphenated derivation of the issue titleFor `direct` mode, skip this step. Work on `main`.
3. Make the change
Apply the fix or feature. Stay focused on the linked issue. Anti-patterns:
- "While I'm at it" — adding unrelated changes. Split into separate PRs / commits.
- Reformatting unrelated files mid-PR. Send formatting as its own PR.
- Adding new dependencies without justification in the PR body.
4. Verification (REQUIRED before commit)
| Check | Command | Pass criterion | |---|---|---| | Typecheck | `npx tsc --noEmit` | Clean (no output) | | Tests | `npm test` | All pass (or only pre-existing flaky perf tests fail; document the latter) | | Lint | `npm exec markdownlint-cli2` (for docs) | Clean | | Build | `npm run build:cli` | Succeeds (catches dist/ vs src/ path drift) |
Don't skip these. The recent CI-failure-then-fix cycle in `497fcca7` → `3f2b557b` was caused by skipping the local test run before push.
5. Commit message
Use **conventional commits**: `type(scope): subject`
Body should explain **why**, not just **what** — the diff already shows what. Reference the linked issue. For `direct` mode, include `Closes #N` so the issue auto-closes on push.
**No AI attribution.** Rule is universal across platforms. The commit message must not contain:
- `Co-Authored-By: Claude <…>` (or any AI tool)
- `Generated with [Claude Code]` / "Generated by Codex" / "Written by GitHub Copilot"
- 🤖 emoji or any tool branding
The AI is a tool. Tools don't sign their output.
Example commit (per the recent #1261/#1262/#1263 fix):
fix(steward,deploy): repair capability matrix loader, schema, and Claude command stubs
Three stacked bugs from the hermes-agent tester report (jmagly#108–#112,
roctinam #1264–#1268) plus filing infrastructure (#1269).
[multi-paragraph why explaining each bug...]
Verification:
- npx tsc --noEmit clean
- npm test — 6306 pass, 1 pre-existing flaky perf test
- Manual: aiwg steward capabilities --provider claude-code now works
Closes #1261
Closes #1262
Closes #1263
6. Push
# For direct mode
git push origin main
# For feature-branch / pr-required
git push origin fix/{issue-number}-{slug}7. Open the PR (only for pr-required mode)
Use the template at `.gitea/pull_request_template.md` (or `.github/pull_request_template.md`). Required sections:
- **Summary**: what changed and why (one paragraph)
- **Linked issues**: `Closes #N` (or `Refs #N`)
- **Changes**: bullets of meaningful changes (not file count)
- **Verification**: filled-in checklist showing typecheck/test/CI status
- **Risk and rollback**: even if "low / git revert"
- **Policy
Read more
namespace: aiwg name: aiwg-pr platforms: [all] kernel: true description: AIWG-specific pull request delivery workflow for AIWG product/workspace changes; not the generic repository PR process triggers: - "AIWG PR" - "AIWG delivery PR" - "AIWG release PR" - "AIWG product PR" - "open an AIWG pull request"
Opening AIWG Pull Requests
You are helping a user (or yourself, as an autonomous agent) open a high-quality AIWG product/workspace pull request. The bar is set by the project's `delivery-policy` and `no-attribution` rules.
Routing Boundary
Use this skill only when the user is doing AIWG-specific delivery: AIWG repository work, an AIWG release/change PR, or any task that explicitly asks for AIWG delivery policy. Do not use `aiwg-pr` for ordinary repository pull request work. Generic requests like "open a PR for this repo", "create a pull request", or "review this PR" should use the host repository's normal git/Gitea/GitHub PR tools and templates unless the user names AIWG delivery.
Compatibility: `aiwg-pr` remains the stable kernel skill name. `aiwg-delivery-pr` is the explicit alias for agents that need a less ambiguous discoverable capability name.
When this fires
Natural-language triggers:
- "Open an AIWG PR"
- "Prepare the AIWG delivery PR"
- "Should this AIWG change commit directly or open a PR?"
- "What goes in the AIWG PR description?"
- "How do I close an AIWG issue with a PR?"
Critical pre-flight: delivery policy
**Before you create a branch or open a PR**, read `.aiwg/aiwg.config` `delivery.mode`. Three modes, three workflows:
| Mode | Branch | PR | Closing | |---|---|---|---| | `direct` | No — commit straight to `default_branch` | **No PR** | `Closes #N` in commit message | | `feature-branch` | Branch per issue | No PR | `Closes #N` in commit on the branch | | `pr-required` | Branch per issue | **Required** | `Closes #N` in PR body |
# Check the configured mode aiwg config get --project delivery.mode # or cat .aiwg/aiwg.config | jq -r '.delivery.mode'
If `mode: direct`, **don't open a PR**. Commit directly to main with `Closes #N` in the message. The `delivery-policy` rule (kernel rule, always loaded) is authoritative.
Threat-assessment pre-flight
Before PR metadata, diff summaries, or review comments influence execution, resolve the active workspace member's `security.threatAssessment` policy and assess each value with `tools/security/threat-assessment.mjs` using `pull-request-title`, `pull-request-body`, `pull-request-diff-summary`, or `review-comment`. Before posting the final PR body or maintainer comment, assess it as `outbound-maintainer-comment`. Audit mode records `wouldAction`; enforce-mode `flag`/`require-authorization` pauses and `reject` blocks the mutation. Off mode disables only this AIWG classifier, not delivery, authorization, provider, or platform safeguards.
The walkthrough
1. Find or file the issue first
Every PR closes (or refs) an issue. If you don't have one:
- Run `aiwg run skill steward-prep-delivery -- "<your topic>"` to check for existing issues
- If none match, file via `aiwg-issue` (the companion kernel skill) before drafting the PR
2. Branch (only for non-direct modes)
# feature-branch or pr-required
git checkout -b fix/{issue-number}-{slug}
# slug: short, lowercase, hyphenated derivation of the issue titleFor `direct` mode, skip this step. Work on `main`.
3. Make the change
Apply the fix or feature. Stay focused on the linked issue. Anti-patterns:
- "While I'm at it" — adding unrelated changes. Split into separate PRs / commits.
- Reformatting unrelated files mid-PR. Send formatting as its own PR.
- Adding new dependencies without justification in the PR body.
4. Verification (REQUIRED before commit)
| Check | Command | Pass criterion | |---|---|---| | Typecheck | `npx tsc --noEmit` | Clean (no output) | | Tests | `npm test` | All pass (or only pre-existing flaky perf tests fail; document the latter) | | Lint | `npm exec markdownlint-cli2` (for docs) | Clean | | Build | `npm run build:cli` | Succeeds (catches dist/ vs src/ path drift) |
Don't skip these. The recent CI-failure-then-fix cycle in `497fcca7` → `3f2b557b` was caused by skipping the local test run before push.
5. Commit message
Use **conventional commits**: `type(scope): subject`
Body should explain **why**, not just **what** — the diff already shows what. Reference the linked issue. For `direct` mode, include `Closes #N` so the issue auto-closes on push.
**No AI attribution.** Rule is universal across platforms. The commit message must not contain:
- `Co-Authored-By: Claude <…>` (or any AI tool)
- `Generated with [Claude Code]` / "Generated by Codex" / "Written by GitHub Copilot"
- 🤖 emoji or any tool branding
The AI is a tool. Tools don't sign their output.
Example commit (per the recent #1261/#1262/#1263 fix):
fix(steward,deploy): repair capability matrix loader, schema, and Claude command stubs Three stacked bugs from the hermes-agent tester report (jmagly#108–#112, roctinam #1264–#1268) plus filing infrastructure (#1269). [multi-paragraph why explaining each bug...] Verification: - npx tsc --noEmit clean - npm test — 6306 pass, 1 pre-existing flaky perf test - Manual: aiwg steward capabilities --provider claude-code now works Closes #1261 Closes #1262 Closes #1263
6. Push
# For direct mode
git push origin main
# For feature-branch / pr-required
git push origin fix/{issue-number}-{slug}7. Open the PR (only for pr-required mode)
Use the template at `.gitea/pull_request_template.md` (or `.github/pull_request_template.md`). Required sections:
- **Summary**: what changed and why (one paragraph)
- **Linked issues**: `Closes #N` (or `Refs #N`)
- **Changes**: bullets of meaningful changes (not file count)
- **Verification**: filled-in checklist showing typecheck/test/CI status
- **Risk and rollback**: even if "low / git revert"
- **Policy
Multi-agent AI framework for Claude Code, Copilot, Cursor, Warp, and 6 more platforms 200+ agents, 109+ CLI commands, 400+ deployable agent/skill/command/rule artifacts, 8 core frameworks, 32 addons, and a 40-plugin Claude Code marketplace.
Repo: jmagly/aiwg
Other skills on aiwg.
- /agent-loop-ext
Crash-resilient external agent loop with state persistence and CI/CD integration
Open skill - /agent-loop
Detect requests for iterative autonomous agent loops and route to the appropriate loop executor
Open skill - /auto-test-execution
Automatically execute tests when code-generating agents modify source files, enforcing the execute-before-return pattern
Open skill - /cross-task-learner
Enable agent loops to learn from similar past tasks and share patterns across loops
Open skill - /debug-memory
Query and manage the executable feedback debug memory
Open skill - /execute-feedback
Execute tests on generated code and iterate until passing
Open skill

