steward-prep-delivery
Steward-assisted prep for filing issues and PRs — environment capture, template selection, duplicate detection, delivery-policy compliance check
What this skill does
# Steward Prep for Delivery (#1269) 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). ## When this fires - "I want to file an issue" - "I want to open a PR" - "Help me file a bug report" - "Should this be a new issue or a comment on an existing one?" - "Walk me through the import flow for this tester report" ## The walkthrough ### Step 1: Triage Ask the user: "Is this one bug, or did you find multiple issues in a single session?" - **One issue** → use `bug-report.md` (or `feature-request.md` if it's a proposal, not a defect) - **Multiple findings** → use `tester-report.md` and split during triage - **Already filed elsewhere** (GitHub, Discord, email) → use `imported-report.md` Don't make this decision for them — surface the templates and let them pick. ### Step 2: Environment capture (for bug reports) For bug-report.md, the operator needs to fill in environment info. Help them collect it: ```bash 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. ### Step 3: Duplicate detection (BEFORE filing) 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: ```bash 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. ### Step 4: Draft assembly Help the user fill out the chosen template. Specifically: - For **bug-report.md**: insist on a copy-paste-able repro (not "X seems broken"). Paste exact error text in code blocks. - For **feature-request.md**: insist on a concrete proposal (interfaces, file paths, command syntax) — not "we should make X better." - For **tester-report.md**: encourage one finding per section with severity, repro, expected/actual. - For **imported-report.md**: include the source link, original reporter handle, and platform/environment correction if the source got it wrong (e.g., the jmagly tester report cited Claude Code, but the actual harness was hermes). ### Step 5: Policy compliance check Before they click "Submit", confirm: 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. ### Step 6: Submit and follow up 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). ## Anti-patterns to flag - **"While I'm at it"** — if the user starts adding unrelated changes during issue/PR drafting, split into separate tickets. One bug per issue, one concern per PR. - **Vague titles** — "doesn't work" or "broken" titles get bumped back; insist on `type(scope): subject` form (e.g., `bug(steward): path resolution lands at dist/`). - **Missing environment** — bug reports without OS/version/platform get clarified before action. Don't let them slip through. - **Re-filing duplicates** — always run the duplicate-detection helper first. Comments on existing issues are cheaper than fresh issues. ## Related skills - `issue-create` — the actual filing surface (Gitea, GitHub, Jira, Linear, local) - `issue-auto-sync` — detects commit ↔ issue links automatically - `address-issues` — runs issue-driven agent loops to close issues with code ## References - `CONTRIBUTING.md` — full contributor guide - `.gitea/ISSUE_TEMPLATE/` — issue templates - `.gitea/pull_request_template.md` — PR template - `agentic/code/addons/aiwg-utils/rules/delivery-policy.md` — delivery mode rule - `agentic/code/frameworks/sdlc-complete/rules/no-attribution.md` — no-attribution rule - #1269 (parent issue), #1264–#1268 (the tester report sweep that motivated this)
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.