Gh aw workflow authoring
Create new GitHub Agentic Workflows, shared gh-aw components, and safe edits to workflow prompts or frontmatter with the right compile, security, tool patterns, and Peli's Agent Factory reuse rules.From its SKILL.md
npx -y skills add deyil/gh-aw-skills --skill gh-aw-workflow-authoringAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
9.4 KB, ~2.0k tokens by cl100k_base, as published. Nobody here has run it
GH-AW Workflow Authoring
Use this skill when the user wants to create a new Github Agentic Workflow, scaffold a shared gh-aw component, or make deliberate authoring changes to workflow files.
Start Here
Before designing anything, consult references/authoring-sources.md.
If the task depends on local gh-aw commands such as gh aw init, gh aw compile, gh aw add-wizard, gh aw validate, gh aw logs, gh aw audit, or gh aw mcp inspect, verify that gh-aw is available before relying on that path. Try gh aw version first; if that fails, check gh extension list for github/gh-aw. If gh-aw is not available, warn the user immediately, do not imply local compile or add-wizard steps were performed, and guide the user with the smallest install step needed.
Use Peli's Agent Factory as the first routing check for workflow requests:
- If the user's requested workflow already exists in the Agent Factory index, start from that ready-to-use workflow source instead of authoring from scratch.
- If there is no exact match but there is a close factory workflow or category write-up, use that source and the related blog guidance as inspiration, then adapt only the parts needed for the user's repository and constraints.
- If the request is clearly outside the factory catalog, continue with normal bespoke authoring.
Example Prompts
- "Create a new gh-aw workflow that triages new issues and posts a safe summary comment."
- "Scaffold a shared gh-aw component for reusable GitHub issue lookup logic."
- "Add a label_command workflow that generates a release readiness summary from repository data."
Anchor the starting point before authoring:
- If the repository should support GitHub.com or mobile-agent authoring, initialize it first with
gh aw initor the upstreaminstall.mdprompt flow. - If the user wants the fastest path to a known-good workflow, prefer
gh extension install github/gh-awandgh aw add-wizard <source>to add a sample plus its lock file. - If the user wants a bespoke workflow through an interactive coding agent, use the upstream
create.mdprompt and author in.github/workflows/.
Route the task first:
- Exact match in Peli's Agent Factory: reuse that upstream workflow
.mdsource as the starting point, then adapt it deliberately. - Partial match in Peli's Agent Factory: use the closest workflow and related blog/category article as inspiration, but do not force an ill-fitting copy.
- New workflow from scratch: use the upstream authoring flow from
create.mdandcreate-agentic-workflow.md. - Shared import or MCP wrapper: use
create-shared-agentic-workflow.md. - Existing workflow edits or fixes: prefer the
gh-aw-workflow-maintenanceskill. - Review-only work: prefer the
gh-aw-workflow-reviewskill.
Authoring Rules
- Treat gh-aw workflows as markdown source files in
.github/workflows/*.mdthat compile to.lock.ymlfiles. - Keep setup assumptions explicit:
- The
ghCLI plus thegithub/gh-awextension are the default local authoring path; verify gh-aw availability before depending on local CLI flows. - The repository needs GitHub Actions enabled and write access for installation and run setup.
- The chosen engine must have its matching secret configured. Copilot uses
COPILOT_GITHUB_TOKEN, Claude usesANTHROPIC_API_KEY, and Codex usesOPENAI_API_KEY. - If the workflow is not using Copilot, adjust
engine:in frontmatter rather than assuming the default engine is correct.
- The
- Separate prompt edits from configuration edits:
- Markdown body changes do not require recompilation.
- YAML frontmatter changes do require recompilation.
- Keep the agent job read-only. Route all GitHub writes through
safe-outputs:. - For GitHub API reads, use
tools.github.toolsets. Do not design workflows around direct access toapi.github.com. - Prefer minimal frontmatter. Avoid default-only fields unless there is a reason to override them.
- Infer network ecosystems from repository language when builds, installs, or tests are involved. Do not rely on
network: defaultsalone for code workflows. - Respect gh-aw's staged execution model and orchestration boundaries. Prefer supported patterns such as
call-workflowanddispatch-workflowwhen they fit; if the request needs long waits on external events, unsupported rollback choreography, matrix-style coordination, or arbitrary cross-job state passing, recommend traditional GitHub Actions or a hybrid design. - For command-style workflows, choose deliberately:
slash_commandfor conversational, argument-carrying triggers.label_commandfor visible, one-shot UI triggers.
- Prefer fuzzy schedules like
daily on weekdaysorweeklyover fixed cron times when the use case allows it. - For preview-first rollouts or risky write paths, consider
safe-outputs.staged: truebefore enabling real writes. - Reach for newer built-ins instead of ad hoc workarounds when they fit:
mcp-scripts:for small custom tools,threat-detection:for additional output scrutiny,cache-memory:orrepo-memory:for retained context,qmd:for local documentation search, andplaywright:for browser automation. - In prompts, tell the agent to emit
noopwhen it completed the analysis and there is intentionally nothing to do. - When authoring manually, always create and commit the pair together:
.github/workflows/<name>.mdand.github/workflows/<name>.lock.yml. - When frontmatter changes require recompilation, recompile the gh-aw markdown source first. Then run
actionlintagainst the generated.lock.ymlwhen it is available. Do not run it against the gh-aw markdown source, and say explicitly ifactionlintwas not available.
Workflow Design Process
- Refresh against current docs using
llms.txtorllms-full.txt, then check Peli's Agent Factory for an exact or adjacent workflow before drafting a bespoke design. - Confirm the authoring path:
- If the chosen path depends on local gh-aw commands, verify gh-aw availability first and warn immediately if it is missing.
- Initialized repo for GitHub.com or mobile
/agent agentic-workflowsusage. - Coding-agent flow using the upstream
create.mdprompt. - Manual editing plus local compile.
- If a factory workflow is a fit, identify whether it should be reused mostly as-is or remixed around the user's trigger, write path, repo language, and external systems.
- Identify the trigger, GitHub read scope, external systems, write side effects, repo language, and whether built-ins such as
call-workflow,dispatch-workflow, staged mode, orthreat-detection:are part of the design. - Draft the smallest frontmatter that satisfies the use case.
- Draft a prompt body that is explicit about task, constraints, and safe outputs.
- Recompile the workflow source after frontmatter changes and fix all gh-aw validation errors before stopping.
- Run
actionlintagainst the generated.github/workflows/<name>.lock.ymlwhen it is available, and fix any resulting workflow-YAML errors in the source before stopping. - Tell the user how to trigger the first run, typically from the Actions tab or
gh aw run <workflow-name>.
Common Patterns
- Community-facing issue triage: consider
on.roles: all,tools.github.toolsets: [default], safe outputs for comments and labels, and sanitized context text. - Daily improvers or reporters: prefer fuzzy weekday scheduling,
skip-if-matchto avoid duplicates, andclose-older-*options for recurring outputs. - Same-repo orchestration: prefer
call-workflowfor typed same-run worker selection anddispatch-workflowfor asynchronous same-repo follow-up work before inventing bespoke orchestration. - Shared components: keep them focused, prefer containerized MCP servers, keep read-only tool allowlists tight, and document source links in XML comments or reference material.
- Preview-first rollouts: enable staged mode while validating prompts and safe outputs, then remove it when the workflow is ready to write for real.
- Richer context and browser work: consider
qmd:,cache-memory:,repo-memory:, orplaywright:when the workflow needs local docs search, historical context, or controlled browser interaction. - Prompt-only refinements: update the markdown body only and do not force a needless recompile.
- Quickstart bootstrap requests: prefer
gh aw add-wizardwhen the user wants a proven example to customize, then edit the markdown body before touching frontmatter. - Repeated analysis or reporting: consider
cache-memory:orrepo-memory:when historical context materially improves the workflow's decisions. - Factory-first requests: when the ask maps cleanly to a factory workflow such as triage, PR review, documentation upkeep, fault investigation, or analytics, adapt the existing upstream workflow before inventing a new one.
Deliverables
- One focused workflow or shared component per task unless the user explicitly wants a bundle.
- Up-to-date links back to the authoritative gh-aw docs and raw prompt files.
- If the workflow came from Peli's Agent Factory, state whether it was an exact-match reuse or an inspired-by adaptation.
- Clear distinction between changes that need recompilation and those that do not.
- Clear statement of whether compile validation and
actionlintverification were run, skipped, or blocked.
What ships with it: 1 file
3.0 KB alongside SKILL.md
references/
- authoring-sources.md3.0 KB