agent-loop-ext
Crash-resilient external agent loop with state persistence and CI/CD integration
AIWG project issue filing only — templates, environment capture, duplicate detection, and import flow for AIWG tracker reports; not for general issue audits or address-issues processing
$ npx -y skills add jmagly/aiwg --skill aiwg-issue --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/aiwg-issueContext preview
The summary Claude sees to decide when to auto-load this skill.
AIWG project issue filing only — templates, environment capture, duplicate detection, and import flow for AIWG tracker reports; not for general issue audits or address-issues processing
namespace: aiwg name: aiwg-issue platforms: [all] kernel: true description: AIWG project issue filing only — templates, environment capture, duplicate detection, and import flow for AIWG tracker reports; not for general issue audits or address-issues processing triggers: - file an AIWG issue - report an AIWG bug - import this AIWG issue from GitHub - I want to file an issue - How do I report a bug? - Help me write up a bug report - What template should I use? - Should I file a new issue or comment on an existing one? - Import this report from GitHub - Import this report from Discord - Import this report from email
You are helping a user (or yourself, as an autonomous agent) file a high-quality issue. The bar is set by the recent tester-report import sweep (Gitea #1264–#1269): environment captured, exact commands, error text in code blocks, suggested fix paths.
This is an **AIWG-specific kernel capability**. Use it for filing, importing, or triaging the quality of issue reports about AIWG itself.
Do **not** use this skill for general backlog processing:
Natural-language triggers:
Non-triggers:
| Template | When to use | Path | |---|---|---| | `bug-report.md` | One concrete defect with a reproduction | `.gitea/ISSUE_TEMPLATE/bug-report.md` | | `feature-request.md` | A new capability or enhancement proposal | `.gitea/ISSUE_TEMPLATE/feature-request.md` | | `tester-report.md` | A single session that surfaced multiple findings | `.gitea/ISSUE_TEMPLATE/tester-report.md` | | `imported-report.md` | Mirroring an issue filed in a different tracker | `.gitea/ISSUE_TEMPLATE/imported-report.md` |
Templates exist in both `.gitea/ISSUE_TEMPLATE/` (for Gitea) and `.github/ISSUE_TEMPLATE/` (for the GitHub mirror). Pick the one matching the target tracker; the content is identical.
Ask: is this one bug, or multiple findings from a single session?
**One bug per issue.** If three things broke, file three issues (or one tester-report and split). Don't bundle.
Always check for duplicates first. Cheaper to comment on an existing thread than file again. Use:
aiwg discover "<keywords from the proposed title>"
Then search the tracker for matching titles. The `steward-prep-delivery` skill bundles both lookups into one command:
aiwg run skill steward-prep-delivery -- "<search terms>"
If a likely duplicate exists, comment on it rather than filing fresh.
Bug reports without **AIWG version + operating system + provider** are bounced before triage. Collect ALL of these:
aiwg version # → AIWG version + channel (REQUIRED) uname -a # → operating system + kernel (REQUIRED) node --version # → Node version aiwg doctor # workspace health snapshot (helpful)
And — also required — the **provider** (the AIWG harness in use): one of `claude-code`, `codex`, `copilot`, `cursor`, `factory`, `hermes`, `opencode`, `openclaw`, `openhuman`, `omp`, `pi`, `warp`, or `windsurf`.
When you (the agent) draft a bug report on behalf of a user, **ask explicitly for each of the three required fields** if they aren't already in the conversation. Don't infer. The May-2026 jmagly→roctinam import sweep needed a correction round because the original GitHub report cited "Claude Code 2.1.137" but the actual harness in use was hermes — same bug, different behavior, wasted half a round-trip to clarify. Don't repeat that.
The bug-report template has a checklist that enforces this; surface it before the operator submits.
Paste **exact** commands (copy-paste-ready, no `<placeholder>`s without explicit substitution instructions) and **exact** error text in fenced code blocks. Paraphrased errors lose detail.
Bad: > "When I run the steward command it errors out"
Good: > ``` > $ aiwg steward capabilities --provider claude-code > ERROR ENOENT: no such file or directory, open '/home/linuxbrew/.linuxbrew/lib/node_modules/aiwg/dist/agentic/code/providers/capability-matrix.yaml' > ```
`type(scope): one-line summary`. Examples:
Vague titles ("doesn't work", "broken") get bumped back. Insist on the typed form.
If you've already traced the bug, point at the file or line. "I think this is in `src/cli/handlers/steward.ts:26`" is faster than a round-trip. This is optional but valued — the recent #1261/#1262/#1263 imports landed faster because the original reporter included file-line pointers.
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