Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
## Pull Request Checklist

- [ ] I have read and followed the [CONTRIBUTING.md](https://github.com/github/awesome-copilot/blob/main/CONTRIBUTING.md) guidelines.
- [ ] My contribution adds a new instruction, prompt, agent, or skill file in the correct directory.
- [ ] My contribution adds a new instruction, prompt, agent, skill, or workflow file in the correct directory.
- [ ] The file follows the required naming convention.
- [ ] The content is clearly structured and follows the example format.
- [ ] I have tested my instructions, prompt, agent, or skill with GitHub Copilot.
- [ ] I have tested my instructions, prompt, agent, skill, or workflow with GitHub Copilot.
- [ ] I have run `npm start` and verified that `README.md` is up to date.

---
Expand All @@ -22,7 +22,8 @@
- [ ] New agent file.
- [ ] New plugin.
- [ ] New skill file.
- [ ] Update to existing instruction, prompt, agent, plugin, or skill.
- [ ] New agentic workflow.
- [ ] Update to existing instruction, prompt, agent, plugin, skill, or workflow.
- [ ] Other (please specify):

---
Expand Down
125 changes: 125 additions & 0 deletions .github/workflows/validate-agentic-workflows-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
name: Validate Agentic Workflow Contributions

on:
pull_request:
branches: [staged]
types: [opened, synchronize, reopened]
paths:
- "workflows/**"

permissions:
contents: read
pull-requests: write

jobs:
check-forbidden-files:
name: Block forbidden files
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Check for forbidden files
id: check
run: |
# Check for YAML/lock files in workflows/ and any .github/ modifications
forbidden=$(git diff --name-only --diff-filter=ACM origin/${{ github.base_ref }}...HEAD -- \
'workflows/**/*.yml' \
'workflows/**/*.yaml' \
'workflows/**/*.lock.yml' \
'.github/*' \
'.github/**')
Comment on lines +27 to +33
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The forbidden-file check relies on origin/${{ github.base_ref }}...HEAD and --diff-filter=ACM. In Actions this ref can be missing/ambiguous depending on checkout mode, and the filter also ignores deletions/renames. Consider diffing ${{ github.event.pull_request.base.sha }}...${{ github.event.pull_request.head.sha }} (or ${{ github.event.pull_request.base.sha }}...${{ github.sha }}) and either removing --diff-filter or including D/R so forbidden deletions/renames are also caught. Also, this currently only blocks *.yml/*.yaml/*.lock.yml under workflows/**; the PR description says all such files should be rejected for workflow contributions—please align implementation and docs.

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot open a new pull request to apply changes based on this feedback


if [ -n "$forbidden" ]; then
echo "❌ Forbidden files detected:"
echo "$forbidden"
echo "files<<EOF" >> "$GITHUB_OUTPUT"
echo "$forbidden" >> "$GITHUB_OUTPUT"
echo "EOF" >> "$GITHUB_OUTPUT"
exit 1
else
echo "✅ No forbidden files found"
fi

- name: Comment on PR
if: failure()
uses: marocchino/sticky-pull-request-comment@v2
with:
Comment on lines +46 to +49
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR-commenting step runs unconditionally on failure, but pull_request workflows from forks typically don't have permission to write PR comments, which will make the job fail noisily. Mirror the pattern used in validate-readme.yml (gate on github.event.pull_request.head.repo.permissions.push == true, and otherwise log the message to the workflow output).

This issue also appears on line 108 of the same file.

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot open a new pull request to apply changes based on this feedback

header: workflow-forbidden-files
message: |
## 🚫 Forbidden files in `workflows/`

Only `.md` markdown files are accepted in the `workflows/` directory. The following are **not allowed**:
- Compiled workflow files (`.yml`, `.yaml`, `.lock.yml`) — could contain untrusted Actions code
- `.github/` modifications — workflow contributions must not modify repository configuration

**Files that must be removed:**
```
${{ steps.check.outputs.files }}
```

Contributors provide the workflow **source** (`.md`) only. Compilation happens downstream via `gh aw compile`.

Please remove these files and push again.

compile-workflows:
name: Compile and validate
needs: check-forbidden-files
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install gh-aw CLI
uses: github/gh-aw/actions/setup-cli@main
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

github/gh-aw/actions/setup-cli@main is a moving ref. Pin to a tagged release or a commit SHA to reduce supply-chain risk and improve reproducibility of CI runs.

Suggested change
uses: github/gh-aw/actions/setup-cli@main
uses: github/gh-aw/actions/setup-cli@v1.0.0

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aaronpowell are we ok with using main from a GitHub Inc. maintained action?


- name: Compile workflow files
id: compile
run: |
exit_code=0
found=0

# Find all .md files directly in workflows/
for workflow_file in workflows/*.md; do
[ -f "$workflow_file" ] || continue

found=$((found + 1))
echo "::group::Compiling $workflow_file"
if gh aw compile --validate "$workflow_file"; then
echo "✅ $workflow_file compiled successfully"
else
echo "❌ $workflow_file failed to compile"
exit_code=1
fi
echo "::endgroup::"
done

if [ "$found" -eq 0 ]; then
echo "No workflow .md files found to validate."
else
echo "Validated $found workflow file(s)."
fi

echo "status=$( [ $exit_code -eq 0 ] && echo success || echo failure )" >> "$GITHUB_OUTPUT"
exit $exit_code

- name: Comment on PR if compilation failed
if: failure()
uses: marocchino/sticky-pull-request-comment@v2
with:
header: workflow-validation
message: |
## ❌ Agentic Workflow compilation failed

One or more workflow files in `workflows/` failed to compile with `gh aw compile --validate`.

Please fix the errors and push again. You can test locally with:

```bash
gh extension install github/gh-aw
gh aw compile --validate <your-workflow-file>.md
```

See the [Agentic Workflows documentation](https://github.github.com/gh-aw) for help.
1 change: 1 addition & 0 deletions .github/workflows/validate-readme.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ on:
- "prompts/**"
- "agents/**"
- "plugins/**"
- "workflows/**"
- "*.js"
- "README.md"
- "docs/**"
Expand Down
35 changes: 34 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ The Awesome GitHub Copilot repository is a community-driven collection of custom
- **Instructions** - Coding standards and best practices applied to specific file patterns
- **Skills** - Self-contained folders with instructions and bundled resources for specialized tasks
- **Hooks** - Automated workflows triggered by specific events during development
- **Workflows** - [Agentic Workflows](https://github.github.com/gh-aw) for AI-powered repository automation in GitHub Actions
- **Plugins** - Installable packages that group related agents, commands, and skills around specific themes

## Repository Structure
Expand All @@ -20,6 +21,7 @@ The Awesome GitHub Copilot repository is a community-driven collection of custom
├── instructions/ # Coding standards and guidelines (.instructions.md files)
├── skills/ # Agent Skills folders (each with SKILL.md and optional bundled assets)
├── hooks/ # Automated workflow hooks (folders with README.md + hooks.json)
├── workflows/ # Agentic Workflows (.md files for GitHub Actions automation)
├── plugins/ # Installable plugin packages (folders with plugin.json)
├── docs/ # Documentation for different resource types
├── eng/ # Build and automation scripts
Expand Down Expand Up @@ -96,6 +98,17 @@ All agent files (`*.agent.md`), prompt files (`*.prompt.md`), and instruction fi
- Follow the [GitHub Copilot hooks specification](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/use-hooks)
- Optionally includes `tags` field for categorization

#### Workflow Files (workflows/*.md)
- Each workflow is a standalone `.md` file in the `workflows/` directory
- Must have `name` field (human-readable name)
- Must have `description` field (wrapped in single quotes, not empty)
- Should have `triggers` field (array of trigger types, e.g., `['schedule', 'issues']`)
- Contains agentic workflow frontmatter (`on`, `permissions`, `safe-outputs`) and natural language instructions
- File names should be lower case with words separated by hyphens
- Only `.md` files are accepted — `.yml`, `.yaml`, and `.lock.yml` files are blocked by CI
- Optionally includes `tags` field for categorization
- Follow the [GitHub Agentic Workflows specification](https://github.github.com/gh-aw)

#### Plugin Folders (plugins/*)
- Each plugin is a folder containing a `.github/plugin/plugin.json` file with metadata
- plugin.json must have `name` field (matching the folder name)
Expand All @@ -107,7 +120,7 @@ All agent files (`*.agent.md`), prompt files (`*.prompt.md`), and instruction fi

### Adding New Resources

When adding a new agent, prompt, instruction, skill, hook, or plugin:
When adding a new agent, prompt, instruction, skill, hook, workflow, or plugin:

**For Agents, Prompts, and Instructions:**
1. Create the file with proper front matter
Expand All @@ -125,6 +138,14 @@ When adding a new agent, prompt, instruction, skill, hook, or plugin:
7. Verify the hook appears in the generated README


**For Workflows:**
1. Create a new `.md` file in `workflows/` with a descriptive name (e.g., `daily-issues-report.md`)
2. Include frontmatter with `name`, `description`, `triggers`, plus agentic workflow fields (`on`, `permissions`, `safe-outputs`)
3. Compile with `gh aw compile --validate` to verify it's valid
4. Update the README.md by running: `npm run build`
5. Verify the workflow appears in the generated README


**For Skills:**
1. Run `npm run skill:create` to scaffold a new skill folder
2. Edit the generated SKILL.md file with your instructions
Expand Down Expand Up @@ -241,6 +262,18 @@ For hook folders (hooks/*/):
- [ ] Follows [GitHub Copilot hooks specification](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/use-hooks)
- [ ] Optionally includes `tags` array field for categorization

For workflow files (workflows/*.md):
- [ ] File has markdown front matter
- [ ] Has `name` field with human-readable name
- [ ] Has non-empty `description` field wrapped in single quotes
- [ ] Has `triggers` array field listing workflow trigger types
- [ ] File name is lower case with hyphens
- [ ] Contains `on` and `permissions` in frontmatter
- [ ] Workflow uses least-privilege permissions and safe outputs
- [ ] No `.yml`, `.yaml`, or `.lock.yml` files included
- [ ] Follows [GitHub Agentic Workflows specification](https://github.github.com/gh-aw)
- [ ] Optionally includes `tags` array field for categorization

For plugins (plugins/*/):
- [ ] Directory contains a `.github/plugin/plugin.json` file
- [ ] Directory contains a `README.md` file
Expand Down
53 changes: 52 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,11 +161,61 @@ plugins/my-plugin-id/
- **Clear purpose**: The plugin should solve a specific problem or workflow
- **Validate before submitting**: Run `npm run plugin:validate` to ensure your plugin is valid

### Adding Agentic Workflows

[Agentic Workflows](https://github.github.com/gh-aw) are AI-powered repository automations that run coding agents in GitHub Actions. Defined in markdown with natural language instructions, they enable scheduled and event-triggered automation with built-in guardrails.

1. **Create your workflow file**: Add a new `.md` file in the `workflows/` directory (e.g., `daily-issues-report.md`)
2. **Include frontmatter**: Add `name`, `description`, `triggers`, and optionally `tags` at the top, followed by agentic workflow frontmatter (`on`, `permissions`, `safe-outputs`) and natural language instructions
3. **Test locally**: Compile with `gh aw compile --validate` to verify it's valid
4. **Update the README**: Run `npm run build` to update the generated README tables

> **Note:** Only `.md` files are accepted — do not include compiled `.lock.yml` or `.yml` files. CI will block them.
#### Workflow file example

```markdown
---
name: 'Daily Issues Report'
description: 'Generates a daily summary of open issues and recent activity as a GitHub issue'
triggers: ['schedule']
tags: ['reporting', 'issues', 'automation']
on:
schedule: daily on weekdays
permissions:
contents: read
issues: read
safe-outputs:
create-issue:
title-prefix: "[daily-report] "
labels: [report]
---

## Daily Issues Report

Create a daily summary of open issues for the team.

## What to Include

- New issues opened in the last 24 hours
- Issues closed or resolved
- Stale issues that need attention
```

#### Workflow Guidelines

- **Security first**: Use least-privilege permissions and safe outputs instead of direct write access
- **Clear instructions**: Write clear natural language instructions in the workflow body
- **Descriptive names**: Use lowercase filenames with hyphens (e.g., `daily-issues-report.md`)
- **Test locally**: Use `gh aw compile --validate` to verify your workflow compiles
- **No compiled files**: Only submit the `.md` source — `.lock.yml` and `.yml` files are not accepted
- Learn more at the [Agentic Workflows documentation](https://github.github.com/gh-aw)

## Submitting Your Contribution

1. **Fork this repository**
2. **Create a new branch** for your contribution
3. **Add your instruction, prompt file, chatmode, or plugin** following the guidelines above
3. **Add your instruction, prompt file, chatmode, workflow, or plugin** following the guidelines above
4. **Run the update script**: `npm start` to update the README with your new file (make sure you run `npm install` first if you haven't already)
- A GitHub Actions workflow will verify that this step was performed correctly
- If the README.md would be modified by running the script, the PR check will fail with a comment showing the required changes
Expand Down Expand Up @@ -234,6 +284,7 @@ We welcome many kinds of contributions, including the custom categories below:
| **Prompts** | Reusable or one-off prompts for GitHub Copilot | ⌨️ |
| **Agents** | Defined GitHub Copilot roles or personalities | 🎭 |
| **Skills** | Specialized knowledge of a task for GitHub Copilot | 🧰 |
| **Workflows** | Agentic Workflows for AI-powered repository automation ||
| **Plugins** | Installable packages of related prompts, agents, or skills | 🎁 |

In addition, all standard contribution types supported by [All Contributors](https://allcontributors.org/emoji-key/) are recognized.
Expand Down
11 changes: 9 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ This repository provides a comprehensive toolkit for enhancing GitHub Copilot wi
- **👉 [Awesome Prompts](docs/README.prompts.md)** - Focused, task-specific prompts for generating code, documentation, and solving specific problems
- **👉 [Awesome Instructions](docs/README.instructions.md)** - Comprehensive coding standards and best practices that apply to specific file patterns or entire projects
- **👉 [Awesome Hooks](docs/README.hooks.md)** - Automated workflows triggered by specific events during development, testing, and deployment
- **👉 [Awesome Agentic Workflows](docs/README.workflows.md)** - AI-powered repository automations that run coding agents in GitHub Actions with natural language instructions
- **👉 [Awesome Skills](docs/README.skills.md)** - Self-contained folders with instructions and bundled resources that enhance AI capabilities for specialized tasks
- **👉 [Awesome Plugins](docs/README.plugins.md)** - Curated plugins of related prompts, agents, and skills organized around specific themes and workflows
- **👉 [Awesome Cookbook Recipes](cookbook/README.md)** - Practical, copy-paste-ready code snippets and real-world examples for working with GitHub Copilot tools and features
Expand Down Expand Up @@ -101,6 +102,10 @@ Instructions automatically apply to files based on their patterns and provide co

Hooks enable automated workflows triggered by specific events during GitHub Copilot coding agent sessions (like sessionStart, sessionEnd, userPromptSubmitted). They can automate tasks like logging, auto-committing changes, or integrating with external services.

### ⚡ Agentic Workflows

[Agentic Workflows](https://github.github.com/gh-aw) are AI-powered repository automations that run coding agents in GitHub Actions. Defined in markdown with natural language instructions, they enable event-triggered and scheduled automation — from issue triage to daily reports.

## 🎯 Why Use Awesome GitHub Copilot?

- **Productivity**: Pre-built agents, prompts and instructions save time and provide consistent results.
Expand All @@ -112,7 +117,7 @@ Hooks enable automated workflows triggered by specific events during GitHub Copi

We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details on how to:

- Add new prompts, instructions, hooks, agents, or skills
- Add new prompts, instructions, hooks, workflows, agents, or skills
- Improve existing content
- Report issues or suggest enhancements

Expand All @@ -131,6 +136,8 @@ For AI coding agents working with this project, refer to [AGENTS.md](AGENTS.md)
├── prompts/ # Task-specific prompts (.prompt.md)
├── instructions/ # Coding standards and best practices (.instructions.md)
├── agents/ # AI personas and specialized modes (.agent.md)
├── hooks/ # Automated hooks for Copilot coding agent sessions
├── workflows/ # Agentic Workflows for GitHub Actions automation
├── plugins/ # Installable plugins bundling related items
├── scripts/ # Utility scripts for maintenance
└── skills/ # AI capabilities for specialized tasks
Expand All @@ -152,7 +159,7 @@ The customizations in this repository are sourced from and created by third-part

---

**Ready to supercharge your coding experience?** Start exploring our [prompts](docs/README.prompts.md), [instructions](docs/README.instructions.md), [hooks](docs/README.hooks.md), and [custom agents](docs/README.agents.md)!
**Ready to supercharge your coding experience?** Start exploring our [prompts](docs/README.prompts.md), [instructions](docs/README.instructions.md), [hooks](docs/README.hooks.md), [agentic workflows](docs/README.workflows.md), and [custom agents](docs/README.agents.md)!

## Contributors ✨

Expand Down
31 changes: 31 additions & 0 deletions docs/README.workflows.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# ⚡ Agentic Workflows

[Agentic Workflows](https://github.github.com/gh-aw) are AI-powered repository automations that run coding agents in GitHub Actions. Defined in markdown with natural language instructions, they enable event-triggered and scheduled automation with built-in guardrails and security-first design.

### How to Use Agentic Workflows

**What's Included:**
- Each workflow is a single `.md` file with YAML frontmatter and natural language instructions
- Workflows are compiled to `.lock.yml` GitHub Actions files via `gh aw compile`
- Workflows follow the [GitHub Agentic Workflows specification](https://github.github.com/gh-aw)

**To Install:**
- Install the `gh aw` CLI extension: `gh extension install github/gh-aw`
- Copy the workflow `.md` file to your repository's `.github/workflows/` directory
- Compile with `gh aw compile` to generate the `.lock.yml` file
- Commit both the `.md` and `.lock.yml` files

**To Activate/Use:**
- Workflows run automatically based on their configured triggers (schedules, events, slash commands)
- Use `gh aw run <workflow>` to trigger a manual run
- Monitor runs with `gh aw status` and `gh aw logs`

**When to Use:**
- Automate issue triage and labeling
- Generate daily status reports
- Maintain documentation automatically
- Run scheduled code quality checks
- Respond to slash commands in issues and PRs
- Orchestrate multi-step repository automation

_No entries found yet._
Loading
Loading