Skip to content

Commit 881956d

Browse files
committed
feat: add /aw-report, /aw-status commands and integrate Discussion #1 findings
Add daily intelligence reporting for the gh-aw ecosystem: - /aw-report: 8-query web sweep, structured report, knowledge base update, GitHub Discussions posting to project-news category - /aw-status: offline briefing from persistent knowledge base - gh-aw-report skill with architecture reference and search query library Integrate stable findings from Intelligence Report 2026-04-14 into all aw-author reference files: - Document plugins: → dependencies: deprecation and gh aw fix --write migration - Add Copilot CLI model enumeration (Opus 4.6, Sonnet 4.6, GPT-5.3-Codex, Gemini 3 Pro) - Fix all add-comment examples to include discussions: false - Document CLAUDE.md/AGENTS.md/COPILOT.md instruction file discovery - Add signed commits on new branches and bot-comment slash_command activation - Document wildcard target-repo in safe-outputs cross-repo support - Add dependencies system migration and signed commits to production gotchas Bump plugin version to 1.2.0.
1 parent baecd62 commit 881956d

15 files changed

Lines changed: 677 additions & 4 deletions

File tree

.claude-plugin/plugin.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "aw-author",
3-
"version": "1.0.1",
4-
"description": "Guided authoring, validation, and refinement of GitHub Agentic Workflow (gh-aw) markdown files. Supports interactive guided mode, one-shot generation, validation via gh aw compile, improvement analysis, and debugging.",
3+
"version": "1.2.0",
4+
"description": "Guided authoring, validation, and refinement of GitHub Agentic Workflow (gh-aw) markdown files. Includes daily ecosystem intelligence reporting, knowledge base management, and GitHub Discussions integration. Supports interactive guided mode, one-shot generation, validation via gh aw compile, improvement analysis, debugging, intelligence sweeps, and status briefings.",
55
"author": {
66
"name": "Robert Allen",
77
"email": "zircote@gmail.com"
@@ -13,6 +13,8 @@
1313
"gh-aw",
1414
"agentic-workflows",
1515
"github-actions",
16-
"workflow-authoring"
16+
"workflow-authoring",
17+
"intelligence-reporting",
18+
"ecosystem-monitoring"
1719
]
1820
}

commands/aw-report.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
description: Run a full gh-aw ecosystem intelligence sweep and produce a dated report
3+
argument-hint: "[--deep] [--no-post] [--domains domain1,domain2]"
4+
---
5+
6+
# /aw-report
7+
8+
Runs a full intelligence sweep across the GitHub Agentic Workflows ecosystem — 8+ web searches — and produces a dated Markdown report saved to `outputs/gh-aw-reports/YYYY-MM-DD.md`. Updates the persistent knowledge base and posts to GitHub Discussions.
9+
10+
## Usage
11+
12+
```
13+
/aw-report → Full sweep, all domains, post to Discussions
14+
/aw-report --deep → Extended sweep with deep-dive queries
15+
/aw-report --no-post → Generate report without posting to Discussions
16+
/aw-report --domains gh-aw,mcp → Only sweep specified domains
17+
```
18+
19+
## Flags
20+
21+
- `--deep` — Run additional deep-dive queries from the extended query library beyond the 8 primary searches
22+
- `--no-post` — Skip posting to GitHub Discussions (still saves report locally and updates knowledge base)
23+
- `--domains` — Comma-separated list of domains to sweep. Valid domains: `gh-aw`, `actions`, `workspace`, `agent-mode`, `models`, `mcp-server`, `claude-code`, `community`
24+
25+
## Workflow
26+
27+
You are an intelligence analyst for the gh-aw ecosystem. Load the **gh-aw-report** skill to execute the full intelligence cycle:
28+
29+
1. Load context from the knowledge base and architecture reference
30+
2. Execute the primary sweep (8 targeted web searches)
31+
3. If `--deep` is passed, run additional deep-dive queries
32+
4. If `--domains` is passed, filter to only the specified domains
33+
5. Synthesize findings into a structured report
34+
6. Save the report to `outputs/gh-aw-reports/YYYY-MM-DD.md`
35+
7. Update the knowledge base with stable facts
36+
8. Unless `--no-post`, post the report to GitHub Discussions in the `project-news` category at `zircote/github-agentic-workflows`
37+
9. Print the final summary
38+
39+
## Examples
40+
41+
```
42+
/aw-report
43+
# → Full sweep, saves report, updates KB, posts to Discussions
44+
45+
/aw-report --deep
46+
# → Extended sweep with deep-dive queries on rich domains
47+
48+
/aw-report --no-post --domains gh-aw,mcp-server
49+
# → Only sweep gh-aw core and MCP server, skip Discussions post
50+
51+
/aw-report --deep --domains claude-code
52+
# → Deep dive on Claude Code × GitHub integrations only
53+
```

commands/aw-status.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
description: Quick briefing on current gh-aw ecosystem state from the knowledge base
3+
argument-hint: "[--domain domain] [--since YYYY-MM-DD]"
4+
---
5+
6+
# /aw-status
7+
8+
Reads the persistent knowledge base and delivers a quick 300–400 word briefing on the current state of the gh-aw ecosystem. No web searches needed — this is a fast, offline status check.
9+
10+
## Usage
11+
12+
```
13+
/aw-status → Full briefing across all domains
14+
/aw-status --domain gh-aw → Briefing focused on a specific domain
15+
/aw-status --since 2026-04-01 → Only entries since the given date
16+
```
17+
18+
## Flags
19+
20+
- `--domain` — Focus the briefing on a specific domain: `gh-aw`, `actions`, `workspace`, `agent-mode`, `models`, `mcp-server`, `claude-code`, `community`
21+
- `--since` — Only include knowledge base entries from this date forward
22+
23+
## Workflow
24+
25+
You are a briefing analyst. Deliver a concise status report from the knowledge base.
26+
27+
1. Read the knowledge base at `skills/gh-aw-report/knowledge-base.md`
28+
2. Read `skills/gh-aw-report/references/gh-aw-architecture.md` for architecture context
29+
3. If `--domain` is passed, filter entries to the specified domain
30+
4. If `--since` is passed, filter entries to those dated on or after the given date
31+
5. Synthesize a 300–400 word briefing covering:
32+
33+
### Briefing Format
34+
35+
```
36+
## gh-aw Ecosystem Status — YYYY-MM-DD
37+
38+
### Current Versions
39+
- gh-aw CLI: vX.Y.Z
40+
- GitHub MCP Server: vX.Y.Z
41+
- [other tracked versions]
42+
43+
### Active Deprecations
44+
- [deprecation with timeline and migration path]
45+
46+
### Recent Changes (last 7 days)
47+
- [notable changes from knowledge base]
48+
49+
### Recommended Actions
50+
- [specific actions for workflow maintainers]
51+
```
52+
53+
6. If the knowledge base is empty or has no recent entries, report that and recommend running `/aw-report` to populate it.
54+
55+
## Notes
56+
57+
- This command does NOT perform web searches — it reads only from the knowledge base
58+
- For fresh intelligence, run `/aw-report` first
59+
- The knowledge base is updated by each `/aw-report` run
60+
- Entries marked `[SUPERSEDED]` are excluded from the briefing

outputs/gh-aw-reports/.gitkeep

Whitespace-only changes.

skills/aw-author/references/examples.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
Complete gh-aw workflow examples with annotated frontmatter and prose body.
44

5+
> **Convention:** All `add-comment` safe-outputs include `discussions: false`. Omitting this causes HTTP 422 errors when the GitHub App lacks Discussions permission. See `production-gotchas.md` for details.
6+
57
---
68

79
## Example 1: Issue Triage Agent
@@ -38,6 +40,7 @@ safe-outputs:
3840
allowed: [bug, feature, enhancement, documentation, question, good-first-issue]
3941
max: 3
4042
add-comment:
43+
discussions: false
4144
max: 1
4245
---
4346

@@ -187,6 +190,7 @@ safe-outputs:
187190
allowed: [bug, feature, enhancement, priority-high, priority-low, planned, wontfix]
188191
max: 5
189192
add-comment:
193+
discussions: false
190194
hide-older-comments: true
191195
max: 1
192196
create-issue:
@@ -344,6 +348,7 @@ safe-outputs:
344348
target-repo: "org/upstream-repo"
345349
max: 1
346350
add-comment:
351+
discussions: false
347352
max: 1
348353
add-labels:
349354
allowed: [synced]
@@ -404,6 +409,7 @@ tools:
404409

405410
safe-outputs:
406411
add-comment:
412+
discussions: false
407413
max: 1
408414
---
409415

skills/aw-author/references/frontmatter-schema.md

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ gh-aw workflow files use YAML frontmatter delimited by `---` markers. This is th
3131
| `create-project-status-update` | [Safe Outputs](#7-safe-outputs-safe-outputs) | [link](#create-project-status-update) |
3232
| `create-pull-request` | [Safe Outputs](#7-safe-outputs-safe-outputs) | [link](#create-pull-request) |
3333
| `create-pull-request-review-comment` | [Safe Outputs](#7-safe-outputs-safe-outputs) | [link](#create-pull-request-review-comment) |
34+
| `dependencies` | [Imports & Dependencies](#10-imports--dependencies) | [link](#dependencies) |
3435
| `description` | [Workflow Identity](#1-workflow-identity) | [link](#description) |
3536
| `dispatch-workflow` | [Safe Outputs](#7-safe-outputs-safe-outputs) | [link](#dispatch-workflow) |
3637
| `edit` | [Tools](#5-tools-tools) | [link](#edit-tool) |
@@ -53,7 +54,7 @@ gh-aw workflow files use YAML frontmatter delimited by `---` markers. This is th
5354
| `on` | [Triggers](#2-triggers-on) | [link](#on) |
5455
| `permissions` | [Permissions](#3-permissions-permissions) | [link](#permissions) |
5556
| `playwright` | [Tools](#5-tools-tools) | [link](#playwright-tool) |
56-
| `plugins` | [Imports & Dependencies](#10-imports--dependencies) | [link](#plugins) |
57+
| `plugins` | [Imports & Dependencies](#10-imports--dependencies) | [link](#plugins) *(deprecated)* |
5758
| `post-steps` | [Steps & Post-Steps](#8-steps--post-steps) | [link](#post-steps) |
5859
| `push-to-pull-request-branch` | [Safe Outputs](#7-safe-outputs-safe-outputs) | [link](#push-to-pull-request-branch) |
5960
| `reaction` | [Triggers](#2-triggers-on) | [link](#reaction) |
@@ -340,6 +341,8 @@ on:
340341
events: ["issue_comment", "pull_request_review_comment"]
341342
```
342343

344+
> **Bot comment activation:** Slash commands are also triggered by bot-authored comments (e.g., a workflow posting a `/command` comment to chain automation). The slash command handler does not filter by author type, so bot comments activate `slash_command` workflows the same as human comments. Use `lockdown:` to restrict trust boundaries if needed.
345+
343346
#### `workflow_dispatch`
344347

345348
- **Type:** null | object
@@ -605,6 +608,19 @@ engine:
605608
| Codex | `codex` | `OPENAI_API_KEY` |
606609
| Custom | `custom` | Depends on implementation |
607610

611+
#### Available Models (Copilot CLI GA — February 25, 2026)
612+
613+
The `model:` sub-field accepts these values when using the `copilot` engine:
614+
615+
| Model Value | Engine | Description |
616+
|-------------|--------|-------------|
617+
| `claude-opus` | Opus 4.6 | Highest-capability Anthropic model |
618+
| `claude-sonnet` | Sonnet 4.6 | Balanced speed and capability |
619+
| `gpt-5-codex` | GPT-5.3-Codex | OpenAI code-specialized model |
620+
| `gemini-pro` | Gemini 3 Pro | Google multimodal model |
621+
622+
Model availability depends on Copilot subscription tier and organization policy. The `claude` engine ID uses Claude models directly via Anthropic API (with `ANTHROPIC_API_KEY`), bypassing the Copilot model selector.
623+
608624
### Engine Sub-Fields
609625

610626
#### `model`
@@ -1766,8 +1782,37 @@ imports:
17661782
- **Gotchas:** `gh aw mcp inspect/list` does NOT follow `imports:` directives. Check the compiled `.lock.yml` for fully resolved configuration.
17671783
- **Cross-references:** `production-gotchas.md` — MCP inspect limitation
17681784

1785+
### `dependencies`
1786+
1787+
- **Type:** array | object
1788+
- **Required:** no
1789+
- **Default:** none
1790+
- **Status:** Current (replaces deprecated `plugins:`)
1791+
1792+
Declares plugin dependencies from the Agent Package Manager (APM). Dependencies are resolved at compile time via `gh aw compile`.
1793+
1794+
**Array format:**
1795+
1796+
```yaml
1797+
dependencies:
1798+
- "org/plugin-package"
1799+
```
1800+
1801+
**Object format (with token):**
1802+
1803+
```yaml
1804+
dependencies:
1805+
packages:
1806+
- "org/plugin-package@v1"
1807+
github-token: "${{ secrets.PLUGIN_TOKEN }}"
1808+
```
1809+
1810+
> **Migration:** The `plugins:` field is deprecated as of early 2026. Run `gh aw fix --write` to auto-migrate existing workflows.
1811+
17691812
### `plugins`
17701813

1814+
> **DEPRECATED as of early 2026.** Use [`dependencies`](#dependencies) instead. Run `gh aw fix --write` to auto-migrate. The `plugins:` field will continue to function but may be removed in a future compiler version.
1815+
17711816
- **Type:** array | object
17721817
- **Required:** no
17731818
- **Default:** none
@@ -2093,3 +2138,4 @@ Consolidated list of every known compiler error and its fix:
20932138
| `add-labels` without allowlist | No `allowed` constraint | Always specify `allowed: [...]` |
20942139
| `create-issue` without `title-prefix` | Untrackable issues | Add meaningful `title-prefix` |
20952140
| Missing `max` on safe-outputs | No rate limiting | Set explicit `max` values |
2141+
| `plugins:` field still in use | Deprecated since early 2026; `dependencies:` is current | Run `gh aw fix --write` to auto-migrate |

skills/aw-author/references/markdown-body.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,34 @@ gh issue view ${{ github.event.issue.number }}
171171

172172
When `${{ github.event }}` is unavailable or incomplete, agents should check for an `event.json` file in the workspace root as a fallback source for event context.
173173

174+
### Instruction File Discovery (`CLAUDE.md`, `AGENTS.md`, `COPILOT.md`)
175+
176+
GitHub Copilot agent mode natively discovers and reads repository instruction files when executing agentic workflows. These files are loaded automatically — no explicit frontmatter configuration needed.
177+
178+
**Supported instruction files:**
179+
180+
| File | Scope |
181+
|------|-------|
182+
| `CLAUDE.md` | Claude-specific instructions (Claude Code and Copilot with Claude engine) |
183+
| `AGENTS.md` | Generic agentic instructions (all agent modes) |
184+
| `COPILOT.md` | Copilot-specific instructions (Copilot agent mode) |
185+
186+
These files can exist at the repository root or in subdirectories. Workspace-scoped and global-scoped versions are both respected.
187+
188+
**When to reference in the workflow body:**
189+
190+
You do NOT need to tell the agent to read these files — it does so automatically. However, you may want to reference them in the Context section when:
191+
192+
- Convention compliance is critical (e.g., code generation must follow project style)
193+
- The agent should prioritize specific sections from the instruction file
194+
- The instruction file contains domain vocabulary the agent needs for the task
195+
196+
```markdown
197+
## Context
198+
199+
This repository has a `COPILOT.md` with coding conventions. Follow it when generating or modifying code.
200+
```
201+
174202
---
175203

176204
## Writing Style Guidelines

skills/aw-author/references/orchestration.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,22 @@ safe-outputs:
285285

286286
---
287287

288+
## Engine Model Selection
289+
290+
When specifying `engine.model`, the following values are available as of Copilot CLI GA (February 25, 2026):
291+
292+
| Engine | Model Value | Description |
293+
|--------|------------|-------------|
294+
| `copilot` | `claude-opus` | Claude Opus 4.6 — highest reasoning capability |
295+
| `copilot` | `claude-sonnet` | Claude Sonnet 4.6 — balanced speed/capability |
296+
| `copilot` | `gpt-5-codex` | GPT-5.3-Codex — code-optimized |
297+
| `copilot` | `gemini-pro` | Gemini 3 Pro — multimodal |
298+
| `claude` | *(default)* | Claude Sonnet 4.6 via direct Anthropic API |
299+
300+
For reasoning-heavy patterns (security review, complex triage), prefer `claude-opus` or enable `thinking: true` with the `claude` engine.
301+
302+
---
303+
288304
## Choosing a Pattern
289305

290306
| Scenario | Recommended Pattern |

skills/aw-author/references/production-gotchas.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,3 +327,49 @@ The `pull_request` trigger uses the workflow definition from the **merge commit*
327327
**Fix:** Wait a few seconds between pushing to `main` and triggering `pull_request` events. If testing workflow changes, close and reopen the PR (or push a new commit to the PR branch) to force a merge ref rebuild.
328328

329329
**Related:** For `push` triggers, the workflow is always from the pushed commit. For `workflow_dispatch`, it's from the branch selected in the UI.
330+
331+
---
332+
333+
## Dependencies System Migration
334+
335+
### `plugins:` Field Deprecated → Use `dependencies:`
336+
337+
The `plugins:` frontmatter field is **deprecated** as of early 2026, replaced by `dependencies:` backed by the Agent Package Manager (APM).
338+
339+
**Symptom:** `gh aw compile` emits a deprecation warning when `plugins:` is used. Future compiler versions may reject it.
340+
341+
**Fix:**
342+
343+
```bash
344+
gh aw fix --write
345+
```
346+
347+
This auto-migrates all workflow files in `.github/workflows/`.
348+
349+
**Before (deprecated):**
350+
351+
```yaml
352+
plugins:
353+
- "org/plugin-repo"
354+
```
355+
356+
**After (current):**
357+
358+
```yaml
359+
dependencies:
360+
- "org/plugin-repo"
361+
```
362+
363+
---
364+
365+
## Signed Commits on New Branches
366+
367+
### Branch Rulesets Requiring Signatures
368+
369+
Repositories with branch protection rulesets that require **signed commits** now work correctly with gh-aw safe-outputs that create branches (`push-to-pull-request-branch`, `create-pull-request`).
370+
371+
**Previous behavior:** gh-aw failed to push to new branches in repos requiring signed commits — App token pushes were unsigned.
372+
373+
**Current behavior (early 2026+):** gh-aw correctly signs commits on newly created branches. No configuration change needed.
374+
375+
**Edge case:** Custom tokens (`github-token:` in safe-outputs) using a different App identity may still require signing configuration on the target App.

skills/aw-author/references/safe-outputs.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -849,3 +849,5 @@ safe-outputs:
849849
**Not supported:** push-to-pull-request-branch, dispatch-workflow, call-workflow, code-scanning, most project operations.
850850

851851
Use `target-repo: "owner/repo"` on supported types. Use `allowed-repos` to permit additional repositories.
852+
853+
**Wildcard `target-repo`:** The value `target-repo: "*"` is supported at the handler level to permit operations against any repository the App token can access. Use with caution — this grants cross-repo write capability without allowlist restrictions.

0 commit comments

Comments
 (0)