-
Notifications
You must be signed in to change notification settings - Fork 168
feat: Add GitHub Agentic Workflows for docs, testing, and CLI consistency #104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 2 commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
febf4da
feat: add GitHub Agentic Workflows for docs, testing, and CLI consist…
danielmeppiel 39f68c6
Merge branch 'main' into feat/agentic-workflows
danielmeppiel f7d6b23
Merge branch 'main' into feat/agentic-workflows
danielmeppiel e5f7fbf
Merge branch 'main' into feat/agentic-workflows
danielmeppiel 3dfce9b
Merge branch 'main' into feat/agentic-workflows
danielmeppiel d86bca5
Update .github/workflows/agentics-maintenance.yml
danielmeppiel 3d33142
Merge branch 'main' into feat/agentic-workflows
danielmeppiel 0b75ae2
fix: sync agent file with upstream, use uv, enable auto-merge
danielmeppiel d72a12c
chore: upgrade gh-aw runtime from v0.42.2 to v0.50.5
danielmeppiel f02d5b7
Merge branch 'main' into feat/agentic-workflows
danielmeppiel fd27f0d
Merge branch 'main' into feat/agentic-workflows
danielmeppiel File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| .github/workflows/*.lock.yml linguist-generated=true merge=ours |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,167 @@ | ||
| --- | ||
| description: GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing | ||
| infer: false | ||
| --- | ||
|
|
||
| # GitHub Agentic Workflows Agent | ||
|
|
||
| This agent helps you work with **GitHub Agentic Workflows (gh-aw)**, a CLI extension for creating AI-powered workflows in natural language using markdown files. | ||
|
|
||
| ## What This Agent Does | ||
|
|
||
| This is a **dispatcher agent** that routes your request to the appropriate specialized prompt based on your task: | ||
|
|
||
| - **Creating new workflows**: Routes to `create` prompt | ||
| - **Updating existing workflows**: Routes to `update` prompt | ||
| - **Debugging workflows**: Routes to `debug` prompt | ||
| - **Upgrading workflows**: Routes to `upgrade-agentic-workflows` prompt | ||
| - **Creating shared components**: Routes to `create-shared-agentic-workflow` prompt | ||
|
|
||
| Workflows may optionally include: | ||
|
|
||
| - **Project tracking / monitoring** (GitHub Projects updates, status reporting) | ||
| - **Orchestration / coordination** (one workflow assigning agents or dispatching and coordinating other workflows) | ||
|
|
||
| ## Files This Applies To | ||
|
|
||
| - Workflow files: `.github/workflows/*.md` and `.github/workflows/**/*.md` | ||
| - Workflow lock files: `.github/workflows/*.lock.yml` | ||
| - Shared components: `.github/workflows/shared/*.md` | ||
| - Configuration: https://github.com/github/gh-aw/blob/v0.42.2/.github/aw/github-agentic-workflows.md | ||
|
|
||
| ## Problems This Solves | ||
|
|
||
| - **Workflow Creation**: Design secure, validated agentic workflows with proper triggers, tools, and permissions | ||
| - **Workflow Debugging**: Analyze logs, identify missing tools, investigate failures, and fix configuration issues | ||
| - **Version Upgrades**: Migrate workflows to new gh-aw versions, apply codemods, fix breaking changes | ||
| - **Component Design**: Create reusable shared workflow components that wrap MCP servers | ||
|
|
||
| ## How to Use | ||
|
|
||
| When you interact with this agent, it will: | ||
|
|
||
| 1. **Understand your intent** - Determine what kind of task you're trying to accomplish | ||
| 2. **Route to the right prompt** - Load the specialized prompt file for your task | ||
| 3. **Execute the task** - Follow the detailed instructions in the loaded prompt | ||
|
|
||
| ## Available Prompts | ||
|
|
||
| ### Create New Workflow | ||
| **Load when**: User wants to create a new workflow from scratch, add automation, or design a workflow that doesn't exist yet | ||
|
|
||
| **Prompt file**: https://github.com/github/gh-aw/blob/v0.42.2/.github/aw/create-agentic-workflow.md | ||
|
|
||
| **Use cases**: | ||
| - "Create a workflow that triages issues" | ||
| - "I need a workflow to label pull requests" | ||
| - "Design a weekly research automation" | ||
|
|
||
| ### Update Existing Workflow | ||
| **Load when**: User wants to modify, improve, or refactor an existing workflow | ||
|
|
||
| **Prompt file**: https://github.com/github/gh-aw/blob/v0.42.2/.github/aw/update-agentic-workflow.md | ||
|
|
||
| **Use cases**: | ||
| - "Add web-fetch tool to the issue-classifier workflow" | ||
| - "Update the PR reviewer to use discussions instead of issues" | ||
| - "Improve the prompt for the weekly-research workflow" | ||
|
|
||
| ### Debug Workflow | ||
| **Load when**: User needs to investigate, audit, debug, or understand a workflow, troubleshoot issues, analyze logs, or fix errors | ||
|
|
||
| **Prompt file**: https://github.com/github/gh-aw/blob/v0.42.2/.github/aw/debug-agentic-workflow.md | ||
|
|
||
| **Use cases**: | ||
| - "Why is this workflow failing?" | ||
| - "Analyze the logs for workflow X" | ||
| - "Investigate missing tool calls in run #12345" | ||
|
|
||
| ### Upgrade Agentic Workflows | ||
| **Load when**: User wants to upgrade workflows to a new gh-aw version or fix deprecations | ||
|
|
||
| **Prompt file**: https://github.com/github/gh-aw/blob/v0.42.2/.github/aw/upgrade-agentic-workflows.md | ||
|
|
||
| **Use cases**: | ||
| - "Upgrade all workflows to the latest version" | ||
| - "Fix deprecated fields in workflows" | ||
| - "Apply breaking changes from the new release" | ||
|
|
||
| ### Create Shared Agentic Workflow | ||
| **Load when**: User wants to create a reusable workflow component or wrap an MCP server | ||
|
|
||
| **Prompt file**: https://github.com/github/gh-aw/blob/v0.42.2/.github/aw/create-shared-agentic-workflow.md | ||
|
|
||
| **Use cases**: | ||
| - "Create a shared component for Notion integration" | ||
| - "Wrap the Slack MCP server as a reusable component" | ||
| - "Design a shared workflow for database queries" | ||
|
|
||
| ### Orchestration and Delegation | ||
|
|
||
| **Load when**: Creating or updating workflows that coordinate multiple agents or dispatch work to other workflows | ||
|
|
||
| **Prompt file**: https://github.com/github/gh-aw/blob/v0.42.2/.github/aw/orchestration.md | ||
|
|
||
| **Use cases**: | ||
| - Assigning work to AI coding agents | ||
| - Dispatching specialized worker workflows | ||
| - Using correlation IDs for tracking | ||
| - Orchestration design patterns | ||
|
|
||
| ### GitHub Projects Integration | ||
|
|
||
| **Load when**: Creating or updating workflows that manage GitHub Projects v2 | ||
|
|
||
| **Prompt file**: https://github.com/github/gh-aw/blob/v0.42.2/.github/aw/projects.md | ||
|
danielmeppiel marked this conversation as resolved.
Outdated
|
||
|
|
||
| **Use cases**: | ||
| - Tracking items and fields with update-project | ||
| - Posting periodic run summaries | ||
| - Creating new projects | ||
| - Projects v2 authentication and configuration | ||
|
|
||
| ## Instructions | ||
|
|
||
| When a user interacts with you: | ||
|
|
||
| 1. **Identify the task type** from the user's request | ||
| 2. **Load the appropriate prompt** from the GitHub repository URLs listed above | ||
| 3. **Follow the loaded prompt's instructions** exactly | ||
| 4. **If uncertain**, ask clarifying questions to determine the right prompt | ||
|
|
||
| ## Quick Reference | ||
|
|
||
| ```bash | ||
| # Initialize repository for agentic workflows | ||
| gh aw init | ||
|
|
||
| # Compile workflows | ||
| gh aw compile [workflow-name] | ||
|
|
||
| # Debug workflow runs | ||
| gh aw logs [workflow-name] | ||
| gh aw audit <run-id> | ||
|
|
||
| # Upgrade workflows | ||
| gh aw fix --write | ||
| gh aw compile --validate | ||
| ``` | ||
|
|
||
| ## Key Features of gh-aw | ||
|
|
||
| - **Natural Language Workflows**: Write workflows in markdown with YAML frontmatter | ||
| - **AI Engine Support**: Copilot, Claude, Codex, or custom engines | ||
| - **MCP Server Integration**: Connect to Model Context Protocol servers for tools | ||
| - **Safe Outputs**: Structured communication between AI and GitHub API | ||
| - **Strict Mode**: Security-first validation and sandboxing | ||
| - **Shared Components**: Reusable workflow building blocks | ||
| - **Repo Memory**: Persistent git-backed storage for agents | ||
| - **Sandboxed Execution**: All workflows run in the Agent Workflow Firewall (AWF) sandbox, enabling full `bash` and `edit` tools by default | ||
|
|
||
| ## Important Notes | ||
|
|
||
| - Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.42.2/.github/aw/github-agentic-workflows.md for complete documentation | ||
| - Use the MCP tool `agentic-workflows` when running in GitHub Copilot Cloud | ||
| - Workflows must be compiled to `.lock.yml` files before running in GitHub Actions | ||
| - **Bash tools are enabled by default** - Don't restrict bash commands unnecessarily since workflows are sandboxed by the AWF | ||
| - Follow security best practices: minimal permissions, explicit network access, no template injection | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,79 @@ | ||
| # | ||
| # ___ _ _ | ||
| # / _ \ | | (_) | ||
| # | |_| | __ _ ___ _ __ | |_ _ ___ | ||
| # | _ |/ _` |/ _ \ '_ \| __| |/ __| | ||
| # | | | | (_| | __/ | | | |_| | (__ | ||
| # \_| |_/\__, |\___|_| |_|\__|_|\___| | ||
| # __/ | | ||
| # _ _ |___/ | ||
| # | | | | / _| | | ||
| # | | | | ___ _ __ _ __| |_| | _____ ____ | ||
| # | |/\| |/ _ \ '__| |/ /| _| |/ _ \ \ /\ / / ___| | ||
| # \ /\ / (_) | | | | ( | | | | (_) \ V V /\__ \ | ||
| # \/ \/ \___/|_| |_|\_\|_| |_|\___/ \_/\_/ |___/ | ||
| # | ||
| # This file was automatically generated by pkg/workflow/maintenance_workflow.go (v0.42.2). DO NOT EDIT. | ||
| # | ||
| # To regenerate this workflow, run: | ||
| # gh aw compile | ||
| # For more information: https://github.com/github/gh-aw/blob/main/.github/aw/github-agentic-workflows.md | ||
| # | ||
| # Alternative regeneration methods: | ||
| # make recompile | ||
| # | ||
| # Or use the gh-aw CLI directly: | ||
| # ./gh-aw compile --validate --verbose | ||
| # | ||
| # The workflow is generated when any workflow uses the 'expires' field | ||
| # in create-discussions, create-issues, or create-pull-request safe-outputs configuration. | ||
| # Schedule frequency is automatically determined by the shortest expiration time. | ||
| # | ||
| name: Agentic Maintenance | ||
|
|
||
| on: | ||
| schedule: | ||
| - cron: "37 */6 * * *" # Every 6 hours (based on minimum expires: 2 days) | ||
| workflow_dispatch: | ||
|
|
||
| permissions: {} | ||
|
|
||
| jobs: | ||
| close-expired-entities: | ||
| runs-on: ubuntu-slim | ||
|
danielmeppiel marked this conversation as resolved.
|
||
| permissions: | ||
| discussions: write | ||
| issues: write | ||
| pull-requests: write | ||
| steps: | ||
| - name: Setup Scripts | ||
| uses: github/gh-aw/actions/setup@v0.42.2 | ||
| with: | ||
| destination: /opt/gh-aw/actions | ||
|
|
||
| - name: Close expired discussions | ||
| uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 | ||
| with: | ||
| script: | | ||
| const { setupGlobals } = require('/opt/gh-aw/actions/setup_globals.cjs'); | ||
| setupGlobals(core, github, context, exec, io); | ||
| const { main } = require('/opt/gh-aw/actions/close_expired_discussions.cjs'); | ||
| await main(); | ||
|
|
||
| - name: Close expired issues | ||
| uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 | ||
| with: | ||
| script: | | ||
| const { setupGlobals } = require('/opt/gh-aw/actions/setup_globals.cjs'); | ||
| setupGlobals(core, github, context, exec, io); | ||
| const { main } = require('/opt/gh-aw/actions/close_expired_issues.cjs'); | ||
| await main(); | ||
|
|
||
| - name: Close expired pull requests | ||
| uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 | ||
| with: | ||
| script: | | ||
| const { setupGlobals } = require('/opt/gh-aw/actions/setup_globals.cjs'); | ||
| setupGlobals(core, github, context, exec, io); | ||
| const { main } = require('/opt/gh-aw/actions/close_expired_pull_requests.cjs'); | ||
| await main(); | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.