agentic/code/addons/aiwg-utils/skills/aiwg-issue/SKILL.md
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 skillsauth add jmagly/aiwg aiwg-issueInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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:
issue-audit / audit-issues when the user asks to audit open issues, triage a backlog, find duplicates, review stale issues, or rank work.address-issues when the user asks to fix, process, or work through issues.aiwg-* skill names as AIWG product/workspace capabilities, not as the generic issue-processing surface.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?
bug-report.md or feature-request.mdtester-report.md, split into discrete bugs during follow-up triageimported-report.mdOne 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, hermes, codex, copilot, cursor, warp, factory, opencode, windsurf, openclaw.
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:
bug(steward): AIWG_ROOT path resolution lands at dist/ instead of package rootfeat(contributing): consistent PR + Issue templatesregression: Skill Seekers implementation lostimported: <original title> (<source>#<number>) for importsVague 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.
Bug reports should include checkable acceptance:
- [ ] Repro from "Steps to reproduce" no longer fails
- [ ] Regression test added (if the bug bypassed existing tests)
- [ ] Related docs updated (if behavior was documented incorrectly)
Feature requests need concrete, checkable conditions — not "works well" or "feels right".
When a report lands in a different tracker (GitHub mirror, Discord, email, vendor support), mirror to Gitea as imported-report.md:
imported: <original title> (<source>#<number>)Example: jmagly#108–#112 → roctinam #1264–#1268 sweep (May 2026).
aiwg run skill issue-create -- "<title>" --provider gitea --labels "bug"
Or use the tracker's web UI with the template. Both are valid.
For Gitea via MCP (if available):
mcp__git-gitea__issue_write:
method: create
owner: roctinam
repo: aiwg
title: '<title>'
body: '<full body following bug-report.md template>'
ops-issue-tracking rule conventionsRefs #N / Blocked-by: #N / Blocks: #N in the bodyCloses #N. Don't mix.type(scope): subject form is required.aiwg-pr (filing PRs), steward-prep-delivery (interactive walkthrough), issue-create (low-level filing), issue-auto-sync (commit↔issue linking).gitea/ISSUE_TEMPLATE/, .github/ISSUE_TEMPLATE/CONTRIBUTING.md (full contributor guide)delivery-policy, no-attribution, ops-issue-trackingdata-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.