agent-loop-ext
Crash-resilient external agent loop with state persistence and CI/CD integration
Steward-assisted prep for filing issues and PRs — environment capture, template selection, duplicate detection, delivery-policy compliance check
$ npx -y skills add jmagly/aiwg --skill steward-prep-delivery --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/steward-prep-deliveryContext preview
The summary Claude sees to decide when to auto-load this skill.
Steward-assisted prep for filing issues and PRs — environment capture, template selection, duplicate detection, delivery-policy compliance check
namespace: aiwg name: steward-prep-delivery platforms: [all] description: Steward-assisted prep for filing issues and PRs — environment capture, template selection, duplicate detection, delivery-policy compliance check script: entrypoint: find-duplicates.sh runtime: bash cwd: project-root argsHint: '<search-terms...>'
You are walking the user through filing a high-quality issue or PR, mirroring the import pattern used for the recent jmagly→roctinam tester report sweep (Gitea #1264–#1269).
Ask the user: "Is this one bug, or did you find multiple issues in a single session?"
Don't make this decision for them — surface the templates and let them pick.
For bug-report.md, the operator needs to fill in environment info. Help them collect it:
aiwg version aiwg doctor node --version uname -a # OS / kernel
If they're filing on behalf of an agent platform (Claude Code, hermes, Codex, …), make sure the platform name is captured — the same bug can manifest differently across providers.
Run the duplicate-detection helper. The skill's `script:` entrypoint (`find-duplicates.sh`) searches the local `aiwg discover` index plus the Gitea issue tracker for likely duplicates of the proposed title or keywords:
aiwg run skill steward-prep-delivery -- "<keywords from the issue title>"
Output: ranked list of existing open issues that match. If any look like duplicates, **prefer commenting on them** over filing a new one. If none match, proceed to filing.
Help the user fill out the chosen template. Specifically:
Before they click "Submit", confirm:
0. **Issue draft policy composition**: before any issue write, invoke the `issue-create` composer on the final title/body. Preserve safe drafts, follow digest-bound authorization for flagged drafts, create all ordered segments for separable policy conflicts, and make no write for blocked drafts.
1. **Delivery policy**: read `.aiwg/aiwg.config` `delivery.mode`. If `direct`, the fix will land with `Closes #N` in the commit (no PR). If `pr-required`, they'll need a feature branch. If `feature-branch`, branch only. Tell them what to expect.
2. **No AI attribution**: if they're using an AI tool to help draft, the commit/PR must not include `Co-Authored-By: <AI>` lines or "Generated with" markers. This is the project's no-attribution rule, applied universally.
3. **CI green before done**: a commit isn't done until CI passes. Remind them to wait for the run on Gitea, and if it fails, fix it before declaring resolution.
For Gitea issues, use:
aiwg run skill issue-create -- "<title>" --provider gitea --labels "bug"
(Or invoke the relevant template manually via the Gitea web UI — both are fine.)
For PRs that close issues, ensure the body contains `Closes #N` (or `Refs #N` if it doesn't fully close).
Reusable project context and specialist workflows for the AI tools you already use. Plan software, coordinate specialist reviews, prepare campaigns, investigate incidents, organize research, curate media, and maintain operational knowledge.
Repo: jmagly/aiwg
Crash-resilient external agent loop with state persistence and CI/CD integration
Detect requests for iterative autonomous agent loops and route to the appropriate loop executor
Automatically execute tests when code-generating agents modify source files, enforcing the execute-before-return pattern
Enable agent loops to learn from similar past tasks and share patterns across loops
Query and manage the executable feedback debug memory
Execute tests on generated code and iterate until passing