🤖 GitHub Agentic Workflows Skill
Purpose
This skill provides comprehensive guidance on GitHub Agentic Workflows (gh-aw), a Go-based GitHub CLI extension that enables writing agentic workflows in natural language using Markdown files and running them as GitHub Actions workflows. Developed by GitHub Next and Microsoft Research, gh-aw delivers repository automation with strong guardrails, safe outputs, and sandboxed execution.
gh-aw augments existing deterministic CI/CD with Continuous AI capabilities — systematic, automated application of AI to software collaboration tasks like triaging issues, maintaining documentation, improving code quality, and automating reviews.
When to Use
Apply this skill when:
- Writing AI-powered repository automation as Markdown workflows
- Implementing Continuous AI patterns (issue triage, documentation sync, code review, quality improvement)
- Leveraging safe-outputs for write operations without granting direct write permissions
- Using multiple AI engines (Copilot, Claude, Codex) for event-triggered and scheduled jobs
- Building orchestrator-worker patterns for complex multi-agent coordination
- Automating tasks that traditionally require human judgment
5-Layer Security Architecture
gh-aw enforces defense-in-depth with five security layers:
- Read-only tokens — Agent receives only read-scoped GitHub token
- Zero secrets in agent — Write tokens/API keys exist only in separate isolated jobs
- Containerized with network firewall — Agent Workflow Firewall (AWF) routes all outbound traffic through Squid proxy with domain allowlist
- Safe outputs with guardrails — Agent produces structured artifacts; a separate gated job applies only permitted actions
- Agentic threat detection — AI-powered scan of proposed changes before any write; blocks prompt injection, leaked credentials, malicious code
Rules
Workflow Structure
MUST:
- Create workflow files as Markdown (
.md) in .github/workflows/
- Include YAML frontmatter between
--- markers at the top
- Write natural language instructions below the frontmatter
- Compile to
.lock.yml files using gh aw compile
- Commit both
.md (source) and .lock.yml (compiled) files
- Use clear, imperative task descriptions in natural language
- Separate configuration (frontmatter) from instructions (body)
MUST NOT:
- Manually edit
.lock.yml files (regenerate via compile)
- Push
.md changes without recompiling
- Write complex YAML conditionals in workflow files
- Skip compilation step before deployment
Frontmatter Configuration
MUST:
- Define
on: trigger(s) with appropriate event types and activity filters
- Set
permissions: with specific resource scopes (e.g., issues: read, contents: read)
- Configure
tools: with specific toolsets (e.g., github: with toolsets: [issues, labels])
- Include
safe-outputs: for all write operations, using a hard limit where the output type supports it (e.g., max, max-size) or an allowlist where it does not (e.g., allowed)
- Set
timeout-minutes: to prevent runaway workflows
MUST NOT:
- Use
permissions: write-all without explicit security review
- Omit
safe-outputs: for workflows that create/modify resources
- Hard-code secrets in frontmatter
- Grant unrestricted tool access
Natural Language Instructions
MUST:
- Write as if explaining a task to a colleague
- Use imperative mood ("Analyze this issue", "Create a summary")
- Include context, success criteria, and constraints
- Define expected outputs (comments, PRs, issues)
- Break complex tasks into clear numbered phases
- Specify what NOT to do when relevant
- Include examples of desired output format
MUST NOT:
- Write vague instructions ("Do something helpful")
- Assume the AI knows implicit repository context
- Mix code/YAML in instruction text
Engines (AI Models)
MUST:
- Use GitHub Copilot as default (no explicit
engine: needed)
- For Claude: set
engine: claude and configure ANTHROPIC_API_KEY secret
- For Codex: set
engine: codex and configure OPENAI_API_KEY secret
- Test with chosen engine before production deployment
MUST NOT:
- Mix multiple engines in same workflow
- Assume identical capabilities across engines
Triggers
MUST:
- Choose appropriate trigger(s):
issues: with types: [opened, reopened] for issue automation
pull_request: for PR-related automation
schedule: with human-friendly syntax (daily, weekly on monday) or cron
workflow_dispatch: for manual execution
slash_command: with command: for comment-triggered actions (e.g., /plan, /analyze)
- Consider rate limits and costs for scheduled workflows
- Test with
workflow_dispatch before enabling automatic triggers
MUST NOT:
- Use overly frequent schedules that waste resources
- Trigger on every event type without necessity
Tools and MCP Integration
MUST:
MUST NOT:
- Grant unrestricted tool access without review
- Bypass tool allowlists or network access controls
Compilation and Setup
MUST:
- Install:
gh extension install github/gh-aw
- Initialize:
gh aw init for new repositories
- Compile:
gh aw compile (generates .lock.yml)
- Watch mode:
gh aw compile --watch for development
- Test:
gh aw run <workflow-name> for manual testing
- Logs:
gh aw logs <workflow-name> for debugging
- Add community workflows:
gh aw add-wizard <url>
- Use fine-grained PATs with minimal scopes
MUST NOT:
- Use classic PATs instead of fine-grained tokens
- Skip
gh aw init for new repositories
- Commit secrets to version control
Examples
Example 1: Issue Triage (Real-World Pattern from Agent Factory)
---
timeout-minutes: 5
on:
issues:
types: [opened, reopened]
permissions:
issues: read
tools:
github:
toolsets: [issues, labels]
safe-outputs:
add-labels:
allowed: [bug, feature, enhancement, documentation, question, "help wanted", "good first issue"]
create-comment:
max: 1
---
# Issue Triage Agent
Analyze the triggering issue (${{ github.event.issue.number }}) title and body,
then add one of the allowed labels: `bug`, `feature`, `enhancement`,
`documentation`, `question`, `help wanted`, or `good first issue`.
Skip the issue if it:
- Already has any of these labels
- Has been assigned to any user (especially non-bot users)
Do research on the issue in the context of the codebase and, after adding
the label, mention the issue author in a comment explaining why the label
was added and give a brief summary of how the issue may be addressed.
Example 2: Daily Status Report
---
on:
schedule: daily
permissions:
contents: read
issues: read
pull-requests: read
safe-outputs:
create-issue:
max: 1
title-prefix: "[team-status] "
labels: [report, daily-status]
close-older-issues: true
---
## Daily Issues Report
Create an upbeat daily status report for the team as a GitHub issue.
## What to include
- Recent repository activity (issues, PRs, discussions, releases, code changes)
- Progress tracking, goal reminders and highlights
- Project status and recommendations
- Actionable next steps for maintainers
Example 3: Plan Command (Slash Command)
---
on:
slash_command:
command: /plan
permissions:
issues: read
tools:
github:
toolsets: [issues]
safe-outputs:
create-issue:
max: 10
create-comment:
max: 1
---
# Plan Command
Break down the current issue into actionable sub-tasks.
Create child issues for each sub-task and link them.
Post a comment summarizing the plan with links to all created sub-issues.
Example 4: Network-Restricted Security Review
---
on: pull_request
timeout-minutes: 10
permissions:
contents: read
pull-requests: read
security-events: read
tools:
github:
toolsets: [pull-requests, code-scanning]
network: defaults
safe-outputs:
create-comment:
max: 3
threat-detection:
enabled: true
action: block
---
# Security-Focused PR Review
Review pull request for security issues. No external network access allowed.
Focus on:
- Hard-coded secrets or credentials
- Unsafe input handling
- Missing authentication checks
- Injection vulnerabilities
Example 5: Safe Inputs with Custom Tool
---
on: issues
permissions:
issues: read
tools:
github:
safe-inputs:
calculate_priority:
type: function
description: Calculate issue priority based on labels and content
code: |
function calculate_priority(labels, body) {
let score = 0;
if (labels.includes('critical')) score += 10;
if (labels.includes('security')) score += 8;
if (labels.includes('bug')) score += 5;
if (body.toLowerCase().includes('production')) score += 3;
return Math.min(score, 10);
}
safe-outputs:
create-comment:
max: 1
---
# Priority Calculator
Use the calculate_priority tool to assess issue priority.
Post a comment with the priority score and recommended action timeline.
Example 6: Multi-Engine Configuration
---
on: workflow_dispatch
engine: claude
permissions:
contents: read
tools:
github:
safe-outputs:
create-issue:
max: 1
---
# Advanced Analysis with Claude
Perform deep technical analysis of repository architecture.
Create an issue with findings and recommendations.
Note: Requires ANTHROPIC_API_KEY secret to be configured.
Best Practices
Start Simple, Iterate
- Begin with read-only workflows using
workflow_dispatch
- Add safe-outputs incrementally; start with
create-comment
- Use
gh aw compile --watch for rapid iteration
- Graduate to scheduled triggers after manual testing
Clear Instructions Win
- Write as if explaining to a human colleague
- Include examples of desired output format
- Define constraints and guardrails explicitly
- Specify what NOT to do when relevant
Security First
- Use specific permissions (e.g.,
issues: read) not read-all
- Use safe-outputs constraints:
title-prefix, labels, allowed, max
- Use
network: {} for zero external access, network: defaults for GitHub-only
- Enable
threat-detection for all safe-outputs workflows
- Use
min-integrity: in public repos for event visibility control
Agent Factory Patterns (Proven at Scale)
The GitHub Next team operates 100+ workflows. Key learnings:
- Customized agents beat generic ones — tailor to your repo's context
- Incremental improvement beats heroic efforts — small daily PRs
- Observability is essential — track success rates and merge rates
- Meta-analysis reveals hidden patterns — use AI to analyze AI behavior
- Task decomposition enables coordination —
/plan command + sub-issues
Monitor and Improve
- Track workflow success/merge rates
- Review AI output quality regularly
- Refine instructions based on actual behavior
- Use
gh aw logs and GitHub Actions logs
Compilation Flow
1. Author: .github/workflows/my-workflow.md
2. Compile: gh aw compile → generates .lock.yml
3. Commit: git add *.md *.lock.yml && git commit
4. Push: git push
5. Secrets: Configure API keys in repository settings
6. Test: gh aw run my-workflow
7. Monitor: gh aw logs my-workflow
Safe Outputs Reference
| Output Type |
Key Constraints |
Example |
create-issue |
title-prefix, labels, max, close-older-issues |
Status reports |
create-comment |
max |
Triage analysis |
add-labels |
allowed list |
Issue classification |
create-pull-request |
max, title-prefix |
Code improvements |
create-code-scanning-alert |
max |
Security scanning |
upload-asset |
branch, max-size, allowed-exts |
Screenshots |
Troubleshooting
| Symptom |
Solution |
| Compilation fails |
Check YAML frontmatter syntax; run gh aw compile --verbose |
| Workflow doesn't trigger |
Verify .lock.yml is committed; check trigger config |
| AI output quality issues |
Make instructions more specific; add examples; try different engine |
| Permission errors |
Review permissions: and safe-outputs: config; check token scopes |
| Network timeout |
Add domain to network: allowlist; check AWF firewall logs |
Related ISMS Policies
This skill aligns with:
Related Skills
Related Documentation
Compliance Mapping
ISO 27001:2022
- A.8.25 Secure development life cycle
- A.8.32 Change management
- A.5.23 Information security for use of cloud services
NIST Cybersecurity Framework 2.0
- GV.OV-03: Cybersecurity supply chain risk management
- PR.DS-02: Data-in-transit is protected
- DE.CM-07: Monitoring for unauthorized changes
CIS Controls v8.1
- Control 16: Application Software Security
- 16.1 Establish and Maintain a Secure Application Development Process
- 16.11 Leverage Vetted Modules or Services for Application Security Components
Enforcement
| Severity |
Violation |
Action |
| Critical |
Hard-coded secrets, write-all permissions |
Block deployment |
| High |
Missing compilation, unsafe tool config |
Require remediation |
| Medium |
Unclear instructions, missing docs |
Create improvement ticket |
| Low |
Style inconsistencies |
Optional improvement |
Version History
- 2026-04-02: Major update with latest gh-aw v0.45+ features, 5-layer security architecture, real-world Agent Factory patterns, safe-outputs reference table
- 2026-02-11: Initial skill creation
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: github-agentic-workflows3description: GitHub Agentic Workflows (gh-aw) - markdown-based AI automation with 5-layer security, safe outputs, and Continuous AI patterns Use when this capability is needed.4---56# 🤖 GitHub Agentic Workflows Skill78## Purpose910This skill provides comprehensive guidance on GitHub Agentic Workflows (gh-aw), a Go-based GitHub CLI extension that enables writing agentic workflows in natural language using Markdown files and running them as GitHub Actions workflows. Developed by GitHub Next and Microsoft Research, gh-aw delivers repository automation with strong guardrails, safe outputs, and sandboxed execution.1112gh-aw augments existing deterministic CI/CD with **Continuous AI** capabilities — systematic, automated application of AI to software collaboration tasks like triaging issues, maintaining documentation, improving code quality, and automating reviews.1314## When to Use1516Apply this skill when:17- Writing AI-powered repository automation as Markdown workflows18- Implementing Continuous AI patterns (issue triage, documentation sync, code review, quality improvement)19- Leveraging safe-outputs for write operations without granting direct write permissions20- Using multiple AI engines (Copilot, Claude, Codex) for event-triggered and scheduled jobs21- Building orchestrator-worker patterns for complex multi-agent coordination22- Automating tasks that traditionally require human judgment2324## 5-Layer Security Architecture2526gh-aw enforces defense-in-depth with five security layers:27281. **Read-only tokens** — Agent receives only read-scoped GitHub token292. **Zero secrets in agent** — Write tokens/API keys exist only in separate isolated jobs303. **Containerized with network firewall** — Agent Workflow Firewall (AWF) routes all outbound traffic through Squid proxy with domain allowlist314. **Safe outputs with guardrails** — Agent produces structured artifacts; a separate gated job applies only permitted actions325. **Agentic threat detection** — AI-powered scan of proposed changes before any write; blocks prompt injection, leaked credentials, malicious code3334## Rules3536### Workflow Structure3738**MUST:**39- Create workflow files as Markdown (`.md`) in `.github/workflows/`40- Include YAML frontmatter between `---` markers at the top41- Write natural language instructions below the frontmatter42- Compile to `.lock.yml` files using `gh aw compile`43- Commit both `.md` (source) and `.lock.yml` (compiled) files44- Use clear, imperative task descriptions in natural language45- Separate configuration (frontmatter) from instructions (body)4647**MUST NOT:**48- Manually edit `.lock.yml` files (regenerate via compile)49- Push `.md` changes without recompiling50- Write complex YAML conditionals in workflow files51- Skip compilation step before deployment5253### Frontmatter Configuration5455**MUST:**56- Define `on:` trigger(s) with appropriate event types and activity filters57- Set `permissions:` with specific resource scopes (e.g., `issues: read`, `contents: read`)58- Configure `tools:` with specific toolsets (e.g., `github:` with `toolsets: [issues, labels]`)59- Include `safe-outputs:` for all write operations, using a hard limit where the output type supports it (e.g., `max`, `max-size`) or an allowlist where it does not (e.g., `allowed`)60- Set `timeout-minutes:` to prevent runaway workflows6162**MUST NOT:**63- Use `permissions: write-all` without explicit security review64- Omit `safe-outputs:` for workflows that create/modify resources65- Hard-code secrets in frontmatter66- Grant unrestricted tool access6768### Natural Language Instructions6970**MUST:**71- Write as if explaining a task to a colleague72- Use imperative mood ("Analyze this issue", "Create a summary")73- Include context, success criteria, and constraints74- Define expected outputs (comments, PRs, issues)75- Break complex tasks into clear numbered phases76- Specify what NOT to do when relevant77- Include examples of desired output format7879**MUST NOT:**80- Write vague instructions ("Do something helpful")81- Assume the AI knows implicit repository context82- Mix code/YAML in instruction text8384### Engines (AI Models)8586**MUST:**87- Use GitHub Copilot as default (no explicit `engine:` needed)88- For Claude: set `engine: claude` and configure `ANTHROPIC_API_KEY` secret89- For Codex: set `engine: codex` and configure `OPENAI_API_KEY` secret90- Test with chosen engine before production deployment9192**MUST NOT:**93- Mix multiple engines in same workflow94- Assume identical capabilities across engines9596### Triggers9798**MUST:**99- Choose appropriate trigger(s):100 - `issues:` with `types: [opened, reopened]` for issue automation101 - `pull_request:` for PR-related automation102 - `schedule:` with human-friendly syntax (`daily`, `weekly on monday`) or cron103 - `workflow_dispatch:` for manual execution104 - `slash_command:` with `command:` for comment-triggered actions (e.g., `/plan`, `/analyze`)105- Consider rate limits and costs for scheduled workflows106- Test with `workflow_dispatch` before enabling automatic triggers107108**MUST NOT:**109- Use overly frequent schedules that waste resources110- Trigger on every event type without necessity111112### Tools and MCP Integration113114**MUST:**115- Configure tools in frontmatter with specific toolsets:116 ```yaml117 tools:118 github:119 toolsets: [issues, labels, pull-requests]120 ```121- Use `safe-inputs:` for custom lightweight inline functions122- Use `edit:` tool for file modifications, `bash:` for shell commands123- Use `web-search:` or `web-fetch:` for external information with network restrictions124- Set `network:` allowlists when external access is needed125- Use `min-integrity:` for public repos to control event visibility126127**MUST NOT:**128- Grant unrestricted tool access without review129- Bypass tool allowlists or network access controls130131### Compilation and Setup132133**MUST:**134- Install: `gh extension install github/gh-aw`135- Initialize: `gh aw init` for new repositories136- Compile: `gh aw compile` (generates `.lock.yml`)137- Watch mode: `gh aw compile --watch` for development138- Test: `gh aw run <workflow-name>` for manual testing139- Logs: `gh aw logs <workflow-name>` for debugging140- Add community workflows: `gh aw add-wizard <url>`141- Use fine-grained PATs with minimal scopes142143**MUST NOT:**144- Use classic PATs instead of fine-grained tokens145- Skip `gh aw init` for new repositories146- Commit secrets to version control147148## Examples149150### Example 1: Issue Triage (Real-World Pattern from Agent Factory)151152```markdown153---154timeout-minutes: 5155on:156 issues:157 types: [opened, reopened]158permissions:159 issues: read160tools:161 github:162 toolsets: [issues, labels]163safe-outputs:164 add-labels:165 allowed: [bug, feature, enhancement, documentation, question, "help wanted", "good first issue"]166 create-comment:167 max: 1168---169170# Issue Triage Agent171172Analyze the triggering issue (${{ github.event.issue.number }}) title and body,173then add one of the allowed labels: `bug`, `feature`, `enhancement`,174`documentation`, `question`, `help wanted`, or `good first issue`.175176Skip the issue if it:177- Already has any of these labels178- Has been assigned to any user (especially non-bot users)179180Do research on the issue in the context of the codebase and, after adding181the label, mention the issue author in a comment explaining why the label182was added and give a brief summary of how the issue may be addressed.183```184185### Example 2: Daily Status Report186187```markdown188---189on:190 schedule: daily191permissions:192 contents: read193 issues: read194 pull-requests: read195safe-outputs:196 create-issue:197 max: 1198 title-prefix: "[team-status] "199 labels: [report, daily-status]200 close-older-issues: true201---202203## Daily Issues Report204205Create an upbeat daily status report for the team as a GitHub issue.206207## What to include208209- Recent repository activity (issues, PRs, discussions, releases, code changes)210- Progress tracking, goal reminders and highlights211- Project status and recommendations212- Actionable next steps for maintainers213```214215### Example 3: Plan Command (Slash Command)216217```markdown218---219on:220 slash_command:221 command: /plan222permissions:223 issues: read224tools:225 github:226 toolsets: [issues]227safe-outputs:228 create-issue:229 max: 10230 create-comment:231 max: 1232---233234# Plan Command235236Break down the current issue into actionable sub-tasks.237Create child issues for each sub-task and link them.238Post a comment summarizing the plan with links to all created sub-issues.239```240241### Example 4: Network-Restricted Security Review242243```markdown244---245on: pull_request246timeout-minutes: 10247permissions:248 contents: read249 pull-requests: read250 security-events: read251tools:252 github:253 toolsets: [pull-requests, code-scanning]254network: defaults255safe-outputs:256 create-comment:257 max: 3258 threat-detection:259 enabled: true260 action: block261---262263# Security-Focused PR Review264265Review pull request for security issues. No external network access allowed.266267Focus on:268- Hard-coded secrets or credentials269- Unsafe input handling270- Missing authentication checks271- Injection vulnerabilities272```273274### Example 5: Safe Inputs with Custom Tool275276```markdown277---278on: issues279permissions:280 issues: read281tools:282 github:283safe-inputs:284 calculate_priority:285 type: function286 description: Calculate issue priority based on labels and content287 code: |288 function calculate_priority(labels, body) {289 let score = 0;290 if (labels.includes('critical')) score += 10;291 if (labels.includes('security')) score += 8;292 if (labels.includes('bug')) score += 5;293 if (body.toLowerCase().includes('production')) score += 3;294 return Math.min(score, 10);295 }296safe-outputs:297 create-comment:298 max: 1299---300301# Priority Calculator302303Use the calculate_priority tool to assess issue priority.304Post a comment with the priority score and recommended action timeline.305```306307### Example 6: Multi-Engine Configuration308309```markdown310---311on: workflow_dispatch312engine: claude313permissions:314 contents: read315tools:316 github:317safe-outputs:318 create-issue:319 max: 1320---321322# Advanced Analysis with Claude323324Perform deep technical analysis of repository architecture.325Create an issue with findings and recommendations.326327Note: Requires ANTHROPIC_API_KEY secret to be configured.328```329330## Best Practices331332### Start Simple, Iterate333- Begin with read-only workflows using `workflow_dispatch`334- Add safe-outputs incrementally; start with `create-comment`335- Use `gh aw compile --watch` for rapid iteration336- Graduate to scheduled triggers after manual testing337338### Clear Instructions Win339- Write as if explaining to a human colleague340- Include examples of desired output format341- Define constraints and guardrails explicitly342- Specify what NOT to do when relevant343344### Security First345- Use specific permissions (e.g., `issues: read`) not `read-all`346- Use safe-outputs constraints: `title-prefix`, `labels`, `allowed`, `max`347- Use `network: {}` for zero external access, `network: defaults` for GitHub-only348- Enable `threat-detection` for all safe-outputs workflows349- Use `min-integrity:` in public repos for event visibility control350351### Agent Factory Patterns (Proven at Scale)352The GitHub Next team operates 100+ workflows. Key learnings:353- **Customized agents beat generic ones** — tailor to your repo's context354- **Incremental improvement beats heroic efforts** — small daily PRs355- **Observability is essential** — track success rates and merge rates356- **Meta-analysis reveals hidden patterns** — use AI to analyze AI behavior357- **Task decomposition enables coordination** — `/plan` command + sub-issues358359### Monitor and Improve360- Track workflow success/merge rates361- Review AI output quality regularly362- Refine instructions based on actual behavior363- Use `gh aw logs` and GitHub Actions logs364365## Compilation Flow366367```3681. Author: .github/workflows/my-workflow.md3692. Compile: gh aw compile → generates .lock.yml3703. Commit: git add *.md *.lock.yml && git commit3714. Push: git push3725. Secrets: Configure API keys in repository settings3736. Test: gh aw run my-workflow3747. Monitor: gh aw logs my-workflow375```376377## Safe Outputs Reference378379| Output Type | Key Constraints | Example |380|------------|----------------|---------|381| `create-issue` | `title-prefix`, `labels`, `max`, `close-older-issues` | Status reports |382| `create-comment` | `max` | Triage analysis |383| `add-labels` | `allowed` list | Issue classification |384| `create-pull-request` | `max`, `title-prefix` | Code improvements |385| `create-code-scanning-alert` | `max` | Security scanning |386| `upload-asset` | `branch`, `max-size`, `allowed-exts` | Screenshots |387388## Troubleshooting389390| Symptom | Solution |391|---------|----------|392| Compilation fails | Check YAML frontmatter syntax; run `gh aw compile --verbose` |393| Workflow doesn't trigger | Verify `.lock.yml` is committed; check trigger config |394| AI output quality issues | Make instructions more specific; add examples; try different engine |395| Permission errors | Review `permissions:` and `safe-outputs:` config; check token scopes |396| Network timeout | Add domain to `network:` allowlist; check AWF firewall logs |397398## Related ISMS Policies399400This skill aligns with:401402- **[Secure Development Policy](https://github.com/Hack23/ISMS-PUBLIC/blob/main/Secure_Development_Policy.md)** - Secure automation practices403- **[Access Control Policy](https://github.com/Hack23/ISMS-PUBLIC/blob/main/Access_Control_Policy.md)** - Least privilege for workflows404- **[Cryptographic Controls Policy](https://github.com/Hack23/ISMS-PUBLIC/blob/main/Cryptographic_Controls_Policy.md)** - Secure secret management405- **[Information Security Policy](https://github.com/Hack23/ISMS-PUBLIC/blob/main/Information_Security_Policy.md)** - Overall security framework406407## Related Skills408409- **[Agentic Workflow Security](../agentic-workflow-security/SKILL.md)** - Security best practices and threat detection410- **[Agentic Workflow Orchestration](../agentic-workflow-orchestration/SKILL.md)** - Multi-agent patterns and coordination411- **[Agentic Workflow Development](../agentic-workflow-development/SKILL.md)** - CLI usage, testing, debugging412- **[Continuous AI Patterns](../continuous-ai-patterns/SKILL.md)** - Automation patterns and best practices413- **[MCP Server Integration](../mcp-server-integration/SKILL.md)** - Model Context Protocol servers414- **[Copilot Agent Patterns](../copilot-agent-patterns/SKILL.md)** - Custom agent design patterns415416## Related Documentation417418- [GitHub Agentic Workflows Official Site](https://github.github.com/gh-aw/)419- [Abridged LLM Documentation](https://github.github.com/gh-aw/llms-small.txt)420- [Full LLM Documentation](https://github.github.com/gh-aw/llms-full.txt)421- [Agent Factory Blog Series](https://github.github.com/gh-aw/_llms-txt/agentic-workflows.txt)422- [GitHub Blog: Automate Repository Tasks](https://github.blog/ai-and-ml/automate-repository-tasks-with-github-agentic-workflows/)423- [GitHub Actions Documentation](https://docs.github.com/en/actions)424425## Compliance Mapping426427### ISO 27001:2022428- **A.8.25** Secure development life cycle429- **A.8.32** Change management430- **A.5.23** Information security for use of cloud services431432### NIST Cybersecurity Framework 2.0433- **GV.OV-03**: Cybersecurity supply chain risk management434- **PR.DS-02**: Data-in-transit is protected435- **DE.CM-07**: Monitoring for unauthorized changes436437### CIS Controls v8.1438- **Control 16**: Application Software Security439 - 16.1 Establish and Maintain a Secure Application Development Process440 - 16.11 Leverage Vetted Modules or Services for Application Security Components441442## Enforcement443444| Severity | Violation | Action |445|----------|-----------|--------|446| Critical | Hard-coded secrets, `write-all` permissions | Block deployment |447| High | Missing compilation, unsafe tool config | Require remediation |448| Medium | Unclear instructions, missing docs | Create improvement ticket |449| Low | Style inconsistencies | Optional improvement |450451## Version History452453- **2026-04-02**: Major update with latest gh-aw v0.45+ features, 5-layer security architecture, real-world Agent Factory patterns, safe-outputs reference table454- **2026-02-11**: Initial skill creation455456---457> Converted and distributed by [TomeVault](https://tomevault.io/claim/hack23) — claim your Tome and manage your conversions.458<!-- tomevault:4.0:skill_md:2026-04-13 -->