Skip to content

Commit a3f767e

Browse files
committed
Merge branch 'master' into yt/qwen3-vl
2 parents e84d588 + 3b35df0 commit a3f767e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+3013
-279
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,5 @@
6565
*.vsdx filter=lfs diff=lfs merge=lfs -text
6666
*.bmp filter=lfs diff=lfs merge=lfs -text
6767
*.svg filter=lfs diff=lfs merge=lfs -text
68+
69+
.github/workflows/*.lock.yml linguist-generated=true merge=ours

.github/actions/install_wheel/package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
---
2+
description: GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing
3+
disable-model-invocation: true
4+
---
5+
6+
# GitHub Agentic Workflows Agent
7+
8+
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.
9+
10+
## What This Agent Does
11+
12+
This is a **dispatcher agent** that routes your request to the appropriate specialized prompt based on your task:
13+
14+
- **Creating new workflows**: Routes to `create` prompt
15+
- **Updating existing workflows**: Routes to `update` prompt
16+
- **Debugging workflows**: Routes to `debug` prompt
17+
- **Upgrading workflows**: Routes to `upgrade-agentic-workflows` prompt
18+
- **Creating shared components**: Routes to `create-shared-agentic-workflow` prompt
19+
20+
Workflows may optionally include:
21+
22+
- **Project tracking / monitoring** (GitHub Projects updates, status reporting)
23+
- **Orchestration / coordination** (one workflow assigning agents or dispatching and coordinating other workflows)
24+
25+
## Files This Applies To
26+
27+
- Workflow files: `.github/workflows/*.md` and `.github/workflows/**/*.md`
28+
- Workflow lock files: `.github/workflows/*.lock.yml`
29+
- Shared components: `.github/workflows/shared/*.md`
30+
- Configuration: https://github.com/github/gh-aw/blob/v0.46.5/.github/aw/github-agentic-workflows.md
31+
32+
## Problems This Solves
33+
34+
- **Workflow Creation**: Design secure, validated agentic workflows with proper triggers, tools, and permissions
35+
- **Workflow Debugging**: Analyze logs, identify missing tools, investigate failures, and fix configuration issues
36+
- **Version Upgrades**: Migrate workflows to new gh-aw versions, apply codemods, fix breaking changes
37+
- **Component Design**: Create reusable shared workflow components that wrap MCP servers
38+
39+
## How to Use
40+
41+
When you interact with this agent, it will:
42+
43+
1. **Understand your intent** - Determine what kind of task you're trying to accomplish
44+
2. **Route to the right prompt** - Load the specialized prompt file for your task
45+
3. **Execute the task** - Follow the detailed instructions in the loaded prompt
46+
47+
## Available Prompts
48+
49+
### Create New Workflow
50+
**Load when**: User wants to create a new workflow from scratch, add automation, or design a workflow that doesn't exist yet
51+
52+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.46.5/.github/aw/create-agentic-workflow.md
53+
54+
**Use cases**:
55+
- "Create a workflow that triages issues"
56+
- "I need a workflow to label pull requests"
57+
- "Design a weekly research automation"
58+
59+
### Update Existing Workflow
60+
**Load when**: User wants to modify, improve, or refactor an existing workflow
61+
62+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.46.5/.github/aw/update-agentic-workflow.md
63+
64+
**Use cases**:
65+
- "Add web-fetch tool to the issue-classifier workflow"
66+
- "Update the PR reviewer to use discussions instead of issues"
67+
- "Improve the prompt for the weekly-research workflow"
68+
69+
### Debug Workflow
70+
**Load when**: User needs to investigate, audit, debug, or understand a workflow, troubleshoot issues, analyze logs, or fix errors
71+
72+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.46.5/.github/aw/debug-agentic-workflow.md
73+
74+
**Use cases**:
75+
- "Why is this workflow failing?"
76+
- "Analyze the logs for workflow X"
77+
- "Investigate missing tool calls in run #12345"
78+
79+
### Upgrade Agentic Workflows
80+
**Load when**: User wants to upgrade workflows to a new gh-aw version or fix deprecations
81+
82+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.46.5/.github/aw/upgrade-agentic-workflows.md
83+
84+
**Use cases**:
85+
- "Upgrade all workflows to the latest version"
86+
- "Fix deprecated fields in workflows"
87+
- "Apply breaking changes from the new release"
88+
89+
### Create Shared Agentic Workflow
90+
**Load when**: User wants to create a reusable workflow component or wrap an MCP server
91+
92+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.46.5/.github/aw/create-shared-agentic-workflow.md
93+
94+
**Use cases**:
95+
- "Create a shared component for Notion integration"
96+
- "Wrap the Slack MCP server as a reusable component"
97+
- "Design a shared workflow for database queries"
98+
99+
## Instructions
100+
101+
When a user interacts with you:
102+
103+
1. **Identify the task type** from the user's request
104+
2. **Load the appropriate prompt** from the GitHub repository URLs listed above
105+
3. **Follow the loaded prompt's instructions** exactly
106+
4. **If uncertain**, ask clarifying questions to determine the right prompt
107+
108+
## Quick Reference
109+
110+
```bash
111+
# Initialize repository for agentic workflows
112+
gh aw init
113+
114+
# Generate the lock file for a workflow
115+
gh aw compile [workflow-name]
116+
117+
# Debug workflow runs
118+
gh aw logs [workflow-name]
119+
gh aw audit <run-id>
120+
121+
# Upgrade workflows
122+
gh aw fix --write
123+
gh aw compile --validate
124+
```
125+
126+
## Key Features of gh-aw
127+
128+
- **Natural Language Workflows**: Write workflows in markdown with YAML frontmatter
129+
- **AI Engine Support**: Copilot, Claude, Codex, or custom engines
130+
- **MCP Server Integration**: Connect to Model Context Protocol servers for tools
131+
- **Safe Outputs**: Structured communication between AI and GitHub API
132+
- **Strict Mode**: Security-first validation and sandboxing
133+
- **Shared Components**: Reusable workflow building blocks
134+
- **Repo Memory**: Persistent git-backed storage for agents
135+
- **Sandboxed Execution**: All workflows run in the Agent Workflow Firewall (AWF) sandbox, enabling full `bash` and `edit` tools by default
136+
137+
## Important Notes
138+
139+
- Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.46.5/.github/aw/github-agentic-workflows.md for complete documentation
140+
- Use the MCP tool `agentic-workflows` when running in GitHub Copilot Cloud
141+
- Workflows must be compiled to `.lock.yml` files before running in GitHub Actions
142+
- **Bash tools are enabled by default** - Don't restrict bash commands unnecessarily since workflows are sandboxed by the AWF
143+
- Follow security best practices: minimal permissions, explicit network access, no template injection

.github/aw/actions-lock.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"entries": {
3+
"actions/github-script@v8": {
4+
"repo": "actions/github-script",
5+
"version": "v8",
6+
"sha": "ed597411d8f924073f98dfc5c65a23a2325f34cd"
7+
},
8+
"github/gh-aw/actions/setup@v0.46.5": {
9+
"repo": "github/gh-aw/actions/setup",
10+
"version": "v0.46.5",
11+
"sha": "5a79466d65414632d47c7869b27170ade5b9404e"
12+
}
13+
}
14+
}

.github/copilot-instructions.md

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,29 +16,31 @@ You are the OpenVINO GenAI Reviewer. Your mission is to ensure that all new code
1616

1717
## Code Review Instructions for PRs
1818
When analyzing a Pull Request, follow this protocol:
19-
1. Follow C++ Core Guidelines strictly. Include references in your comments.
20-
2. Check for 'Hidden' Performance Tax: Look for dynamic_cast in the hot path (inference loops). Suggest static_cast or redesigning if the type is known.
21-
3. Avoid copies: Ensure that large data structures (like tensors) are passed by reference or moved, not copied.
22-
4. Python Bindings: If C++ APIs are changed, check if the corresponding Python pybind11 wrappers in src/python need updates.
23-
5. Exceptions: Use OPENVINO_ASSERT(condition, ...) for checks instead of if + throw.
24-
6. Documentation: Ensure that any new public APIs have docstrings in C++ headers and Python bindings. Ensure that new public APIs have documentation updated in /site.
25-
7. Test Coverage: Ensure that new features or changes have corresponding tests.
26-
8. Formatting & Safety:
19+
1. PR description must be aligned with [./pull_request_template.md](./pull_request_template.md) and its checklist must be filled out. If not, request the author to update the description and checklist before proceeding with the review.
20+
2. PR description must be up to date and include all information about the changes.
21+
3. Follow C++ Core Guidelines strictly. Include references in your comments.
22+
4. Check for 'Hidden' Performance Tax: Look for dynamic_cast in the hot path (inference loops). Suggest static_cast or redesigning if the type is known.
23+
5. Avoid copies: Ensure that large data structures (like tensors) are passed by reference or moved, not copied.
24+
6. Python Bindings: If C++ APIs are changed, check if the corresponding Python pybind11 wrappers in src/python need updates.
25+
7. Exceptions: Use OPENVINO_ASSERT(condition, ...) for checks instead of if + throw.
26+
8. Documentation: Ensure that any new public APIs have docstrings in C++ headers and Python bindings. Ensure that new public APIs have documentation updated in /site.
27+
9. Test Coverage: Ensure that new features or changes have corresponding tests.
28+
10. Formatting & Safety:
2729
* No `using namespace std;`.
2830
* No `auto` for primitive types where it obscures readability.
2931
* Use `const` and `constexpr` wherever possible.
30-
9. Pass non-fundamental values by `const` reference wherever possible.
31-
10. Follow constructors and member initializer lists style instead of direct assignments in the constructor body.
32-
11. Verify that the result of every newly introduced function is used in at least one call site except for `void` functions.
33-
12. Make sure the function names are descriptive.
34-
13. Check for variables with different names but similar meaning or aliasing.
35-
14. Avoid duplicate code. Ensure that common functionality is extracted into reusable functions or utilities.
36-
15. When initial container values are known upfront, prefer initializer-list / brace-initialization over constructing an empty container and immediately inserting values.
37-
16. Avoid pronouns in comments and names to make the statements concise.
38-
17. Unused functions and constructors aren't allowed except for in `debug_utils.hpp`.
39-
18. `debug_utils.hpp` must never be included.
40-
19. Assumptions on the user's behalf aren't allowed. For example, the implementation shouldn't adjust config values silently or with a warning; it should throw an exception instead.
41-
20. Samples:
32+
11. Pass non-fundamental values by `const` reference wherever possible.
33+
12. Follow constructors and member initializer lists style instead of direct assignments in the constructor body.
34+
13. Verify that the result of every newly introduced function is used in at least one call site except for `void` functions.
35+
14. Make sure the function names are descriptive.
36+
15. Check for variables with different names but similar meaning or aliasing.
37+
16. Avoid duplicate code. Ensure that common functionality is extracted into reusable functions or utilities.
38+
17. When initial container values are known upfront, prefer initializer-list / brace-initialization over constructing an empty container and immediately inserting values.
39+
18. Avoid pronouns in comments and names to make the statements concise.
40+
19. Unused functions and constructors aren't allowed except for in `debug_utils.hpp`.
41+
20. `debug_utils.hpp` must never be included.
42+
21. Assumptions on the user's behalf aren't allowed. For example, the implementation shouldn't adjust config values silently or with a warning; it should throw an exception instead.
43+
22. Samples:
4244
* Avoid adding new samples unless there is a strong, clearly justified reason.
4345
* Keep command‑line arguments in samples minimal.
4446
* Ensure new samples have corresponding tests.

0 commit comments

Comments
 (0)