Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
136 changes: 136 additions & 0 deletions .github/ISSUE_TEMPLATE/goal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
name: Goal
description: Create a verifiable Goal workflow issue
title: "[Goal] "
labels:
- goal
body:
- type: markdown
attributes:
value: |
Use this form for one coherent Goal workflow objective with a clear stopping condition.

A good goal is bigger than one prompt but smaller than an open-ended backlog. It should tell the workflow what to do, what not to change, how to prove progress, and when to stop as blocked instead of guessing.

If the goal needs a helper script, fixture, package script, CI target, or other setup before doneness can be judged, ask an agent to use `new-goal.md` first and create the setup PR before submitting this form.

- type: input
id: goal
attributes:
label: Goal
description: State the desired end state in one sentence.
placeholder: "Migrate tests/auth from legacyAuthHelper to createTestSession."
validations:
required: true

- type: textarea
id: completion-contract
attributes:
label: Completion Contract
description: Define exactly when Goal should add `goal-completed` and remove `goal`.
placeholder: |
Goal is complete only when:
- Every test in tests/auth uses createTestSession.
- legacyAuthHelper has no remaining call sites in tests/auth.
- The auth test suite and lint pass.
validations:
required: true

- type: textarea
id: evidence
attributes:
label: Evidence / Verification
description: List the commands, scripts, artifacts, screenshots, logs, or checks that prove the completion contract.
placeholder: |
Run from the repository root:

```bash
set -euo pipefail
npm test -- tests/auth
npm run lint
! rg "legacyAuthHelper" tests/auth
```

Completion requires every command to exit 0.
validations:
required: true

- type: textarea
id: doneness-script
attributes:
label: Optional Inline Doneness Script
description: If a compact script can judge completion, put it here. Prefer an inline script over a setup PR when it only calls existing repo commands.
render: bash
placeholder: |
set -euo pipefail
npm test -- tests/auth
npm run lint
! rg "legacyAuthHelper" tests/auth
validations:
required: false

- type: textarea
id: scope
attributes:
label: Scope and Constraints
description: Say what the workflow may change and what must not change or regress.
placeholder: |
The workflow may change:
- tests/auth/**
- test/helpers/auth.ts

The workflow must not change:
- production authentication behavior
- public API names
- payment provider configuration
validations:
required: true

- type: textarea
id: context
attributes:
label: Context To Read First
description: Point the workflow at the files, docs, issues, PRs, logs, designs, references, or examples it should inspect before changing code.
placeholder: |
- tests/auth/session.test.ts
- test/helpers/auth.ts
- docs/testing/auth.md
- #123
validations:
required: true

- type: textarea
id: iteration-policy
attributes:
label: Iteration Policy
description: Explain how the workflow should choose each next checkpoint and report progress.
placeholder: |
Work in one coherent test group at a time. After each run, report what changed, what was verified, what remains, and whether anything is blocked. Prefer the smallest next checkpoint that can be validated with the evidence above.
validations:
required: true

- type: textarea
id: blocked-stop-condition
attributes:
label: Blocked Stop Condition
description: Define when the workflow should stop substantive work and comment instead of guessing.
placeholder: |
Stop and comment if tests require unavailable secrets, fixtures, product decisions, or external services. The blocked comment should include the exact command output, what is known, and the smallest user action that would unblock the workflow.
validations:
required: true

- type: checkboxes
id: readiness
attributes:
label: Ready To Start
description: Submitting this form applies the `goal` label and may start the workflow.
options:
- label: This goal does not need a setup PR before the workflow starts.
required: true
- label: This is one coherent objective, not a loose backlog.
required: true
- label: The completion contract has observable evidence.
required: true
- label: The constraints are specific enough to prevent accidental broad rewrites.
required: true
- label: The workflow can tell the difference between done, not done yet, and blocked.
required: true
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
description: GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing
name: Agentic Workflows
description: GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing.
disable-model-invocation: true
---

Expand All @@ -13,19 +14,17 @@ This is a **dispatcher agent** that routes your request to the appropriate speci

- **Creating new workflows**: Routes to `create` prompt
- **Updating existing workflows**: Routes to `update` prompt
- **Debugging workflows**: Routes to `debug` prompt
- **Debugging workflows**: Routes to `debug` prompt
- **Upgrading workflows**: Routes to `upgrade-agentic-workflows` prompt
- **Creating report-generating workflows**: Routes to `report` prompt — consult this whenever the workflow posts status updates, audits, analyses, or any structured output as issues, discussions, or comments
- **Creating shared components**: Routes to `create-shared-agentic-workflow` prompt
- **Fixing Dependabot PRs**: Routes to `dependabot` prompt — use this when Dependabot opens PRs that modify generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`). Never merge those PRs directly; instead update the source `.md` files and rerun `gh aw compile --dependabot` to bundle all fixes
- **Analyzing test coverage**: Routes to `test-coverage` prompt — consult this whenever the workflow reads, analyzes, or reports on test coverage data from PRs or CI runs
- **Rendering ASCII charts in markdown**: Routes to `asciicharts` guide — consult this whenever the workflow needs compact charts that render reliably in GitHub issues, comments, or discussions
- **CLI commands and triggering workflows**: Routes to `cli-commands` guide — consult this whenever the user asks how to run, compile, debug, or manage workflows from the command line, or when they need the MCP tool equivalent of a `gh aw` command
- **Reducing token consumption / cost optimization**: Routes to `token-optimization` guide — consult this whenever the user asks how to reduce token usage, lower costs, speed up workflows, or measure the impact of prompt changes with experiments
- **Choosing workflow architectures and design patterns**: Routes to `patterns` guide — consult this whenever the user asks for strategy, architecture, operating models, or pattern selection for agentic workflows

> [!IMPORTANT]
> For architecture/pattern-selection requests, load `https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/patterns.md` first.

Workflows may optionally include:

- **Project tracking / monitoring** (GitHub Projects updates, status reporting)
Expand All @@ -36,7 +35,7 @@ Workflows may optionally include:
- Workflow files: `.github/workflows/*.md` and `.github/workflows/**/*.md`
- Workflow lock files: `.github/workflows/*.lock.yml`
- Shared components: `.github/workflows/shared/*.md`
- Configuration: https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/github-agentic-workflows.md
- Configuration: `.github/aw/github-agentic-workflows.md`

## Problems This Solves

Expand All @@ -58,27 +57,27 @@ When you interact with this agent, it will:
### Create New Workflow
**Load when**: User wants to create a new workflow from scratch, add automation, or design a workflow that doesn't exist yet

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/create-agentic-workflow.md
**Prompt file**: `.github/aw/create-agentic-workflow.md`

**Use cases**:
- "Create a workflow that triages issues"
- "I need a workflow to label pull requests"
- "Design a weekly research automation"

### Update Existing Workflow
### Update Existing Workflow
**Load when**: User wants to modify, improve, or refactor an existing workflow

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/update-agentic-workflow.md
**Prompt file**: `.github/aw/update-agentic-workflow.md`

**Use cases**:
- "Add web-fetch tool to the issue-classifier workflow"
- "Update the PR reviewer to use discussions instead of issues"
- "Improve the prompt for the weekly-research workflow"

### Debug Workflow
### Debug Workflow
**Load when**: User needs to investigate, audit, debug, or understand a workflow, troubleshoot issues, analyze logs, or fix errors

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/debug-agentic-workflow.md
**Prompt file**: `.github/aw/debug-agentic-workflow.md`

**Use cases**:
- "Why is this workflow failing?"
Expand All @@ -88,7 +87,7 @@ When you interact with this agent, it will:
### Upgrade Agentic Workflows
**Load when**: User wants to upgrade workflows to a new gh-aw version or fix deprecations

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/upgrade-agentic-workflows.md
**Prompt file**: `.github/aw/upgrade-agentic-workflows.md`

**Use cases**:
- "Upgrade all workflows to the latest version"
Expand All @@ -98,7 +97,7 @@ When you interact with this agent, it will:
### Create a Report-Generating Workflow
**Load when**: The workflow being created or updated produces reports — recurring status updates, audit summaries, analyses, or any structured output posted as a GitHub issue, discussion, or comment

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/report.md
**Prompt file**: `.github/aw/report.md`

**Use cases**:
- "Create a weekly CI health report"
Expand All @@ -108,7 +107,7 @@ When you interact with this agent, it will:
### Create Shared Agentic Workflow
**Load when**: User wants to create a reusable workflow component or wrap an MCP server

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/create-shared-agentic-workflow.md
**Prompt file**: `.github/aw/create-shared-agentic-workflow.md`

**Use cases**:
- "Create a shared component for Notion integration"
Expand All @@ -118,7 +117,7 @@ When you interact with this agent, it will:
### Fix Dependabot PRs
**Load when**: User needs to close or fix open Dependabot PRs that update dependencies in generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`)

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/dependabot.md
**Prompt file**: `.github/aw/dependabot.md`

**Use cases**:
- "Fix the open Dependabot PRs for npm dependencies"
Expand All @@ -128,7 +127,7 @@ When you interact with this agent, it will:
### Analyze Test Coverage
**Load when**: The workflow reads, analyzes, or reports test coverage — whether triggered by a PR, a schedule, or a slash command. Always consult this prompt before designing the coverage data strategy.

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/test-coverage.md
**Prompt file**: `.github/aw/test-coverage.md`

**Use cases**:
- "Create a workflow that comments coverage on PRs"
Expand All @@ -138,7 +137,7 @@ When you interact with this agent, it will:
### CLI Commands Reference
**Load when**: The user asks how to run, compile, debug, or manage workflows from the command line; needs the MCP tool equivalent of a `gh aw` command; or is in a restricted environment (e.g., Copilot Cloud) without direct CLI access.

**Reference file**: https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/cli-commands.md
**Reference file**: `.github/aw/cli-commands.md`

**Use cases**:
- "How do I trigger workflow X on the main branch?"
Expand All @@ -149,7 +148,7 @@ When you interact with this agent, it will:
### Token Consumption Optimization
**Load when**: The user asks how to reduce token usage, lower workflow costs, make a workflow faster or cheaper, or measure the impact of prompt or configuration changes.

**Reference file**: https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/token-optimization.md
**Reference file**: `.github/aw/token-optimization.md`

**Use cases**:
- "How do I reduce the token cost of this workflow?"
Expand All @@ -162,7 +161,7 @@ When you interact with this agent, it will:
### Workflow Pattern Selection
**Load when**: The user asks for architecture, strategy, operating model selection, or pattern recommendations for building agentic workflows.

**Reference file**: https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/patterns.md
**Reference file**: `.github/aw/patterns.md`

**Use cases**:
- "Which pattern should I use for multi-repo rollout?"
Expand All @@ -175,7 +174,7 @@ When you interact with this agent, it will:
When a user interacts with you:

1. **Identify the task type** from the user's request
2. **Load the appropriate prompt** from the GitHub repository URLs listed above
2. **Load the appropriate prompt** from the repository paths listed above
3. **Follow the loaded prompt's instructions** exactly
4. **If uncertain**, ask clarifying questions to determine the right prompt

Expand Down Expand Up @@ -214,12 +213,12 @@ gh aw compile --validate

## Important Notes

- Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/github-agentic-workflows.md for complete documentation
- Always reference the instructions file at `.github/aw/github-agentic-workflows.md` for complete documentation
- Use the MCP tool `agentic-workflows` when running in GitHub Copilot Cloud
- Workflows must be compiled to `.lock.yml` files before running in GitHub Actions
- **Bash tools are enabled by default** - Don't restrict bash commands unnecessarily since workflows are sandboxed by the AWF
- Follow security best practices: minimal permissions, explicit network access, no template injection
- **Network configuration**: Use ecosystem identifiers (`node`, `python`, `go`, etc.) or explicit FQDNs in `network.allowed`. Bare shorthands like `npm` or `pypi` are **not** valid. See https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/network.md for the full list of valid ecosystem identifiers and domain patterns.
- **Network configuration**: Use ecosystem identifiers (`node`, `python`, `go`, etc.) or explicit FQDNs in `network.allowed`. Bare shorthands like `npm` or `pypi` are **not** valid. See `.github/aw/network.md` for the full list of valid ecosystem identifiers and domain patterns.
- **Single-file output**: When creating a workflow, produce exactly **one** workflow `.md` file. Do not create separate documentation files (architecture docs, runbooks, usage guides, etc.). If documentation is needed, add a brief `## Usage` section inside the workflow file itself.
- **Triggering runs**: Always use `gh aw run <workflow-name>` to trigger a workflow on demand — not `gh workflow run <file>.lock.yml`. `gh aw run` handles workflow resolution by short name, input parsing and validation, and correct run-tracking for agentic workflows. Use `--ref <branch>` to run on a specific branch.
- **CLI commands reference**: For a complete guide on all `gh aw` commands and their MCP tool equivalents (for restricted environments), see https://github.com/github/gh-aw/blob/v0.74.2/.github/aw/cli-commands.md
- **CLI commands reference**: For a complete guide on all `gh aw` commands and their MCP tool equivalents (for restricted environments), see `.github/aw/cli-commands.md`
8 changes: 8 additions & 0 deletions .github/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"mcpServers": {
"github-agentic-workflows": {
"command": "gh",
"args": ["aw", "mcp-server"]
}
}
}
Loading
Loading