GH-AW Workflow Review
Use this skill when the user wants a design review, security review, correctness review, or code review of Github Agentic Workflows, imports, prompts, or shared components.
Start Here
Before reviewing, consult references/review-sources.md so findings are based on current gh-aw semantics rather than generic GitHub Actions assumptions.
When the workflow request resembles something already covered by Peli's Agent Factory, review against the closest ready-to-use workflow as an additional comparison point:
- Exact match: check whether the repository should have reused or lightly adapted the existing factory workflow.
- Near match: use the closest workflow and blog write-up as inspiration for review heuristics, not as a mandatory template.
Example Prompts
- "Review this gh-aw workflow for unsafe writes, missing safe outputs, and staged-execution design issues."
- "Audit the workflow source and lock pair for compile, guardrail, and operability problems."
- "Check whether this workflow design fits gh-aw or should be split into traditional GitHub Actions."
- "Review whether this bespoke workflow should have started from an existing Agent Factory workflow instead of reinventing the pattern."
Review Lens
Review workflows against these categories.
1. Architectural Fit
- Does the requested behavior fit gh-aw's staged execution model and safe-output boundaries?
- Is the design ignoring built-in orchestration features such as
call-workflow or dispatch-workflow, or trying to wait on external events, coordinate unsupported matrix-style behavior, or move arbitrary state between jobs in a way gh-aw does not support?
- Should the solution use built-in gh-aw orchestration, be split into simpler gh-aw units, or move to traditional GitHub Actions?
2. Setup And Bootstrap Correctness
- Does the repository setup match the workflow's intended authoring path?
- If the design depends on GitHub.com or mobile
/agent agentic-workflows authoring, has the repository been initialized appropriately?
- If the workflow is described as manually maintained, are both the markdown source and compiled lock file present?
- Is the selected engine compatible with the repository's configured secret and expected runtime environment?
3. Security And Guardrails
- Is the agent job read-only?
- Are write operations routed through
safe-outputs: instead of direct write permissions?
- Is
network: explicit and minimal?
- Are ecosystem identifiers used where appropriate instead of ad hoc package-registry domains?
- Is untrusted user content treated as untrusted, and is sanitized context used where appropriate?
- Are risky features like auto-merge or unsafe credential patterns being proposed?
4. Authoring Correctness
- Are the source
.md and compiled .lock.yml treated as a pair?
- Is the workflow structure valid for gh-aw frontmatter and markdown semantics?
- Are GitHub reads modeled with
tools.github.toolsets rather than mutation tools or direct API assumptions?
- Are newer built-ins used deliberately where they fit, such as
mcp-scripts:, threat-detection:, staged mode, cache-memory: or repo-memory:, and workflow-call or dispatch safe outputs, instead of bespoke workarounds?
- Are MCP servers configured appropriately, with read-only allowlists where possible?
- Are shared components scoped narrowly and imported cleanly?
5. Operability
- Can the workflow be compiled and validated cleanly?
- After the source is recompiled, does
actionlint pass on the generated .lock.yml or any handwritten workflow .yml files in .github/workflows/?
- If it depends on
agentic-workflows: introspection tools, does it have actions: read?
- Does the prompt tell the agent what to do when no action is needed, typically via
noop?
- If orchestration safe outputs are used, are target workflows allowlisted and compatible with
workflow_call or workflow_dispatch as required?
- If staged mode is enabled, is preview-only behavior intentional and documented?
- Are schedules, rate limits, skip rules, or duplicate-prevention settings appropriate?
- Is there a realistic debugging path using
logs, audit, mcp inspect, or health?
- Are first-run prerequisites covered, including Actions enablement and engine-secret setup?
6. Maintainability
- Are defaults omitted instead of restated noisily?
- Is the prompt concise, explicit, and testable?
- Are updates likely to require frontmatter churn when a body-only edit would suffice?
- Are imports, labels, and metadata serving a real purpose?
Evidence To Use
- The current
.md workflow file and corresponding .lock.yml.
- The closest matching workflow or category from Peli's Agent Factory, when the requested behavior already exists there.
gh aw compile --strict or gh aw validate results when available.
actionlint results for the generated .lock.yml or handwritten workflow YAML, when available.
gh aw audit and gh aw logs output for behavior-based findings.
gh aw mcp inspect output for MCP and tool configuration findings.
- The authoritative docs pages listed in the references file.
Review Output
- Lead with findings, ordered by severity.
- For each finding, explain the concrete risk or behavioral failure.
- Point to the exact workflow area or configuration pattern that causes it.
- Suggest the smallest credible fix.
- If there are no findings, say so explicitly and mention residual testing or validation gaps.
High-Signal Red Flags
- Direct write permissions on the agent job.
- Broad or implicit network access.
- A workflow markdown file without its compiled
.lock.yml, or a stale lock file after frontmatter changes.
- A workflow whose source recompiles cleanly but whose generated
.lock.yml still fails actionlint.
- A bespoke workflow that duplicates a ready-to-use factory workflow without a repository-specific reason.
- A workflow that assumes GitHub.com or mobile authoring support without repository initialization.
- An engine/secret mismatch that guarantees first-run failure.
- Unsupported orchestration patterns, or a bespoke orchestration design where built-in
call-workflow or dispatch-workflow would fit.
- Missing
actions: read for workflow-introspection tooling.
- GitHub mutation operations modeled as tools instead of safe outputs.
- Prompt instructions that omit safe no-op behavior for successful no-action runs.
- Large, needless frontmatter rewrites that increase upgrade risk.
1---2name: gh-aw-workflow-review3description: Review Github Agentic Workflows (gh-aw) and shared components for architectural fit, security guardrails, correctness, operational quality, and alignment with proven factory workflows when relevant.4---56# GH-AW Workflow Review78Use this skill when the user wants a design review, security review, correctness review, or code review of Github Agentic Workflows, imports, prompts, or shared components.910## Start Here1112Before reviewing, consult `references/review-sources.md` so findings are based on current gh-aw semantics rather than generic GitHub Actions assumptions.1314When the workflow request resembles something already covered by Peli's Agent Factory, review against the closest ready-to-use workflow as an additional comparison point:1516- Exact match: check whether the repository should have reused or lightly adapted the existing factory workflow.17- Near match: use the closest workflow and blog write-up as inspiration for review heuristics, not as a mandatory template.1819## Example Prompts2021- "Review this gh-aw workflow for unsafe writes, missing safe outputs, and staged-execution design issues."22- "Audit the workflow source and lock pair for compile, guardrail, and operability problems."23- "Check whether this workflow design fits gh-aw or should be split into traditional GitHub Actions."24- "Review whether this bespoke workflow should have started from an existing Agent Factory workflow instead of reinventing the pattern."2526## Review Lens2728Review workflows against these categories.2930### 1. Architectural Fit3132- Does the requested behavior fit gh-aw's staged execution model and safe-output boundaries?33- Is the design ignoring built-in orchestration features such as `call-workflow` or `dispatch-workflow`, or trying to wait on external events, coordinate unsupported matrix-style behavior, or move arbitrary state between jobs in a way gh-aw does not support?34- Should the solution use built-in gh-aw orchestration, be split into simpler gh-aw units, or move to traditional GitHub Actions?3536### 2. Setup And Bootstrap Correctness3738- Does the repository setup match the workflow's intended authoring path?39- If the design depends on GitHub.com or mobile `/agent agentic-workflows` authoring, has the repository been initialized appropriately?40- If the workflow is described as manually maintained, are both the markdown source and compiled lock file present?41- Is the selected engine compatible with the repository's configured secret and expected runtime environment?4243### 3. Security And Guardrails4445- Is the agent job read-only?46- Are write operations routed through `safe-outputs:` instead of direct write permissions?47- Is `network:` explicit and minimal?48- Are ecosystem identifiers used where appropriate instead of ad hoc package-registry domains?49- Is untrusted user content treated as untrusted, and is sanitized context used where appropriate?50- Are risky features like auto-merge or unsafe credential patterns being proposed?5152### 4. Authoring Correctness5354- Are the source `.md` and compiled `.lock.yml` treated as a pair?55- Is the workflow structure valid for gh-aw frontmatter and markdown semantics?56- Are GitHub reads modeled with `tools.github.toolsets` rather than mutation tools or direct API assumptions?57- Are newer built-ins used deliberately where they fit, such as `mcp-scripts:`, `threat-detection:`, staged mode, `cache-memory:` or `repo-memory:`, and workflow-call or dispatch safe outputs, instead of bespoke workarounds?58- Are MCP servers configured appropriately, with read-only allowlists where possible?59- Are shared components scoped narrowly and imported cleanly?6061### 5. Operability6263- Can the workflow be compiled and validated cleanly?64- After the source is recompiled, does `actionlint` pass on the generated `.lock.yml` or any handwritten workflow `.yml` files in `.github/workflows/`?65- If it depends on `agentic-workflows:` introspection tools, does it have `actions: read`?66- Does the prompt tell the agent what to do when no action is needed, typically via `noop`?67- If orchestration safe outputs are used, are target workflows allowlisted and compatible with `workflow_call` or `workflow_dispatch` as required?68- If staged mode is enabled, is preview-only behavior intentional and documented?69- Are schedules, rate limits, skip rules, or duplicate-prevention settings appropriate?70- Is there a realistic debugging path using `logs`, `audit`, `mcp inspect`, or `health`?71- Are first-run prerequisites covered, including Actions enablement and engine-secret setup?7273### 6. Maintainability7475- Are defaults omitted instead of restated noisily?76- Is the prompt concise, explicit, and testable?77- Are updates likely to require frontmatter churn when a body-only edit would suffice?78- Are imports, labels, and metadata serving a real purpose?7980## Evidence To Use8182- The current `.md` workflow file and corresponding `.lock.yml`.83- The closest matching workflow or category from Peli's Agent Factory, when the requested behavior already exists there.84- `gh aw compile --strict` or `gh aw validate` results when available.85- `actionlint` results for the generated `.lock.yml` or handwritten workflow YAML, when available.86- `gh aw audit` and `gh aw logs` output for behavior-based findings.87- `gh aw mcp inspect` output for MCP and tool configuration findings.88- The authoritative docs pages listed in the references file.8990## Review Output91921. Lead with findings, ordered by severity.932. For each finding, explain the concrete risk or behavioral failure.943. Point to the exact workflow area or configuration pattern that causes it.954. Suggest the smallest credible fix.965. If there are no findings, say so explicitly and mention residual testing or validation gaps.9798## High-Signal Red Flags99100- Direct write permissions on the agent job.101- Broad or implicit network access.102- A workflow markdown file without its compiled `.lock.yml`, or a stale lock file after frontmatter changes.103- A workflow whose source recompiles cleanly but whose generated `.lock.yml` still fails `actionlint`.104- A bespoke workflow that duplicates a ready-to-use factory workflow without a repository-specific reason.105- A workflow that assumes GitHub.com or mobile authoring support without repository initialization.106- An engine/secret mismatch that guarantees first-run failure.107- Unsupported orchestration patterns, or a bespoke orchestration design where built-in `call-workflow` or `dispatch-workflow` would fit.108- Missing `actions: read` for workflow-introspection tooling.109- GitHub mutation operations modeled as tools instead of safe outputs.110- Prompt instructions that omit safe no-op behavior for successful no-action runs.111- Large, needless frontmatter rewrites that increase upgrade risk.