You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<!-- This issue defines a Crane migration. The format is identical to migration.md files. -->
10
+
<!-- Crane will discover this issue by its label and run iterations automatically. -->
11
+
<!-- After each run, a status comment will be posted/updated with links and results. -->
12
+
13
+
---
14
+
schedule: every 6h
15
+
strategy: auto # in-place | greenfield | auto
16
+
source-language: REPLACE # e.g. python, ruby, perl
17
+
target-languages: [REPLACE] # e.g. [typescript], [typescript, go], [kotlin]
18
+
target-metric: 1.0 # migration is complete when health score reaches this
19
+
metric_direction: higher
20
+
---
21
+
22
+
# Migration Name
23
+
24
+
## Source
25
+
26
+
<!-- What you're migrating from. Be specific about language version, runtime, and paths. -->
27
+
28
+
-**Language**: REPLACE (e.g. Python 3.11)
29
+
-**Runtime**: REPLACE (e.g. CPython)
30
+
-**Paths**:
31
+
-`REPLACE/path/to/source` -- (what lives here)
32
+
-`REPLACE/path/to/source-tests` -- existing test suite
33
+
34
+
## Target
35
+
36
+
<!-- What you're migrating to. Multiple target languages are allowed (e.g. TypeScript with a Go core for hot paths). -->
37
+
38
+
-**Languages**: REPLACE (e.g. TypeScript, Go)
39
+
-**Runtime**: REPLACE (e.g. Node 22 / Bun 1.x)
40
+
-**Paths**:
41
+
-`REPLACE/path/to/target` -- (what should live here)
42
+
-**Bridge***(if polyglot)*: REPLACE (e.g. "Go core compiled to WASM, called from TypeScript through a thin wrapper")
43
+
44
+
## Strategy
45
+
46
+
<!-- Choose one and justify, or leave as `auto` in the frontmatter and let Crane decide on its first iteration. -->
47
+
48
+
REPLACE -- explain why this strategy fits.
49
+
50
+
-`in-place` (strangler-fig): system stays live throughout. Each milestone ports one unit and re-routes callers. Preferred for production code or anything with external consumers.
51
+
-`greenfield`: target built in parallel; cutover after parity is total. Best for small, self-contained sources.
52
+
-`auto`: let Crane pick on first iteration.
53
+
54
+
## Verification
55
+
56
+
<!-- A command that prints JSON containing `migration_score` (0.0-1.0). Recommended: migration_score = correctness_gate x progress -->
57
+
58
+
```bash
59
+
REPLACE_WITH_YOUR_VERIFICATION_COMMAND
60
+
```
61
+
62
+
The metric is `migration_score` (0.0-1.0). **Higher is better.** Optional companion fields: `progress`, `parity_passing`, `parity_total`, `source_tests_passing`, `target_tests_passing`, `perf_ratio`.
63
+
64
+
## Out of scope
65
+
66
+
<!-- Files Crane must NOT touch. -->
67
+
68
+
- (list paths that are off-limits even if they share a parent with source/target paths)
Copy file name to clipboardExpand all lines: .github/agents/agentic-workflows.agent.md
+74-15Lines changed: 74 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,10 +15,17 @@ This is a **dispatcher agent** that routes your request to the appropriate speci
15
15
-**Updating existing workflows**: Routes to `update` prompt
16
16
-**Debugging workflows**: Routes to `debug` prompt
17
17
-**Upgrading workflows**: Routes to `upgrade-agentic-workflows` prompt
18
-
-**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
18
+
-**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
19
19
-**Creating shared components**: Routes to `create-shared-agentic-workflow` prompt
20
-
-**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
21
-
-**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
20
+
-**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
21
+
-**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
22
+
-**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
23
+
-**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
24
+
-**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
25
+
-**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
26
+
27
+
> [!IMPORTANT]
28
+
> For architecture/pattern-selection requests, load `https://github.com/github/gh-aw/blob/v0.74.4/.github/aw/patterns.md` first.
22
29
23
30
Workflows may optionally include:
24
31
@@ -30,7 +37,7 @@ Workflows may optionally include:
30
37
- Workflow files: `.github/workflows/*.md` and `.github/workflows/**/*.md`
**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
100
+
**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
- "Create a shared component for Notion integration"
@@ -112,23 +119,68 @@ When you interact with this agent, it will:
112
119
### Fix Dependabot PRs
113
120
**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`)
- "Fix the open Dependabot PRs for npm dependencies"
119
126
- "Bundle and close the Dependabot PRs for workflow dependencies"
120
127
- "Update @playwright/test to fix the Dependabot PR"
121
128
122
129
### Analyze Test Coverage
123
-
**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.
130
+
**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.
- "Create a workflow that comments coverage on PRs"
129
136
- "Analyze coverage trends over time"
130
137
- "Add a coverage gate that blocks PRs below a threshold"
131
138
139
+
### Render ASCII Charts in Markdown
140
+
**Load when**: The workflow needs in-markdown charts (sparklines, bars, table+trend views) that must align cleanly and render reliably across GitHub surfaces, including mobile.
- "Show a compact trend chart in an issue comment"
146
+
- "Render a dashboard table with sparkline trends"
147
+
- "Generate aligned ASCII bars for service metrics"
148
+
149
+
### CLI Commands Reference
150
+
**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.
- "How do I trigger workflow X on the main branch?"
156
+
- "What's the MCP equivalent of `gh aw logs`?"
157
+
- "I'm in Copilot Cloud -- how do I compile a workflow?"
158
+
- "Show me all available gh aw commands"
159
+
160
+
### Token Consumption Optimization
161
+
**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.
- "Which pattern should I use for multi-repo rollout?"
180
+
- "How should I structure this workflow architecture?"
181
+
- "What pattern fits slash-command triage?"
182
+
- "Should this be DispatchOps or DailyOps?"
183
+
132
184
## Instructions
133
185
134
186
When a user interacts with you:
@@ -147,6 +199,10 @@ gh aw init
147
199
# Generate the lock file for a workflow
148
200
gh aw compile [workflow-name]
149
201
202
+
# Trigger a workflow on demand (preferred over gh workflow run)
203
+
gh aw run <workflow-name># interactive input collection
204
+
gh aw run <workflow-name> --ref main # run on a specific branch
205
+
150
206
# Debug workflow runs
151
207
gh aw logs [workflow-name]
152
208
gh aw audit <run-id>
@@ -169,9 +225,12 @@ gh aw compile --validate
169
225
170
226
## Important Notes
171
227
172
-
- Always reference the instructions file at https://github.com/github/gh-aw/blob/main/.github/aw/github-agentic-workflows.md for complete documentation
228
+
- Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.74.4/.github/aw/github-agentic-workflows.md for complete documentation
173
229
- Use the MCP tool `agentic-workflows` when running in GitHub Copilot Cloud
174
230
- Workflows must be compiled to `.lock.yml` files before running in GitHub Actions
175
231
-**Bash tools are enabled by default** - Don't restrict bash commands unnecessarily since workflows are sandboxed by the AWF
176
232
- Follow security best practices: minimal permissions, explicit network access, no template injection
233
+
-**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.4/.github/aw/network.md for the full list of valid ecosystem identifiers and domain patterns.
177
234
-**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.
235
+
-**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.
236
+
-**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.4/.github/aw/cli-commands.md
0 commit comments