GitHub Agentic Workflows is a GitHub CLI extension that lets developers define AI-assisted repository automation in Markdown and run it through GitHub Actions. It is intended for tasks requiring interpretation or reasoning, such as issue triage, pull-request review, CI investigation, documentation maintenance, and dependency analysis. The catalogue entries provide skills and agents for working with these workflows.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add github/gh-aw --skill javascript-refactoringgit clone --depth 1 https://github.com/github/gh-awWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/github/gh-aw/javascript-refactoring)<a href="https://agentmods.dev/skills/github/gh-aw/javascript-refactoring"><img src="https://agentmods.dev/badge/skills/github/gh-aw/javascript-refactoring/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/github/gh-aw/javascript-refactoring"><img src="https://agentmods.dev/badge/skills/github/gh-aw/javascript-refactoring.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00015 | $0.01909 |
| Opus 5.5 | $0.00006 | $0.00764 |
| Sonnet 5.5 | $0.00003 | $0.00382 |
| Haiku 4.5 | $0.00002 | $0.00191 |
Grade A, and why
javascript-refactoring scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 249 lines — stays where its author put it; the contents beside it link to each section on GitHub.
JavaScript Code Refactoring Guide
Use this guide to split JavaScript into maintainable CommonJS modules in gh-aw without drifting into dead embedding patterns.
Overview
The current gh-aw architecture is action-centric:
- Shared JS modules live under
pkg/workflow/js/*.cjsandactions/setup/js/*.cjs - Action source files live under
actions/<action-name>/src/ - Generated action bundles are committed under
actions/<action-name>/index.js - Shipping is driven by the action build pipeline (
make actions-build,gh aw actions-build) and dependency maps such aspkg/cli/actions_build_command.go pkg/workflow/js.gois a stub; it no longer owns the runtime JavaScript shipping path for the main workflows
If you are refactoring a workflow utility, prefer the current action/module architecture over any older //go:embed pattern.
Top-Level Script Pattern
Top-level .cjs scripts executed directly in workflows follow this pattern:
✅ Correct Pattern - Export main, but don't call it:
async function main() {
// Script logic here
core.info("Running the script");
}
module.exports = { main };
❌ Incorrect Pattern - Don't call main in the file:
async function main() {
// Script logic here
core.info("Running the script");
}
await main(); // ❌ Don't do this!
module.exports = { main };
Why this pattern?
- The workflow bundler or action build step can wrap the script with
await main()at execution time - The module stays importable for tests while still being executable in GitHub Actions
- It makes unit testing easier and preserves a clean module boundary
Step 1: Put the code in the right source tree
Choose the correct location for the module before writing code:
- Shared workflow utilities:
pkg/workflow/js/ - Action-specific JavaScript:
actions/<action-name>/src/oractions/setup/js/ - Generated bundle output:
actions/<action-name>/index.js
File naming convention:
- Use snake_case for filenames (for example
sanitize_content.cjs,load_agent_output.cjs) - Use
.cjsfor CommonJS modules - Keep the name aligned with the responsibility of the module
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · +10 lines 5ff045a9d379
- 2mo ago Changed · -247 lines 974ab2185233
- 2mo ago First seen · 486 lines · 15 tokens per session scan A 3a65569b7595
javascript-refactoring is a skill published in the GitHub repository github/gh-aw (5,579 stars, last pushed yesterday), licensed MIT. It adds 15 tokens to every session and 1,909 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
javascript-refactoring compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| javascript-refactoringgithub/gh-aw | Skill | 5.6k | yesterday | MIT | A | 15 | Claude Code, Codex |
| watch-prjustincampbell/gh-watch | Skill | 4 | 7d ago | MIT | A | 48 | Claude Code |
| watch-tagjustincampbell/gh-watch | Skill | 4 | 7d ago | MIT | A | 62 | Claude Code |
| watch-branchjustincampbell/gh-watch | Skill | 4 | 7d ago | MIT | A | 45 | Claude Code |
| watch-commitjustincampbell/gh-watch | Skill | 4 | 7d ago | MIT | A | 48 | Claude Code |
| c-githubdaxaur/openpaw | Skill | 177 | 5mo ago | MIT | A | 48 | Claude Code, Codex |
| update-architecture-docsAlexSkrypnyk/scaffold | Skill | 11 | yesterday | GPL-3.0 | A | 46 | Claude Code |