Skip to content

Commit 80b5995

Browse files
authored
Merge branch 'main' into copilot/add-checksum-validation-install-gh-aw
2 parents e5b1ac6 + 4dd2a20 commit 80b5995

397 files changed

Lines changed: 12941 additions & 2609 deletions

File tree

Some content is hidden

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

.changeset/patch-copilot-driver-null-type-tool-call-fresh-restart.md

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.changeset/patch-emit-awf-config-json.md

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.changeset/patch-fix-continue-auth-failure.md

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.changeset/patch-fix-resume-auth-failure.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.github/agents/developer.instructions.md

Lines changed: 0 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,6 @@ The codebase exhibits several well-organized patterns that should be emulated:
4444
- `create_code_scanning_alert.go` - Code scanning alert creation
4545
- `create_agent_task.go` - Agent task creation logic
4646

47-
**Why it works**:
48-
- Clear separation of concerns
49-
- Enables quick location of specific functionality
50-
- Prevents files from becoming too large
51-
- Facilitates parallel development
52-
- Makes testing straightforward
53-
5447
#### 2. Engine Separation Pattern
5548

5649
**Pattern**: Each AI engine has its own file with shared helpers in `engine_helpers.go`
@@ -62,12 +55,6 @@ The codebase exhibits several well-organized patterns that should be emulated:
6255
- `custom_engine.go` (300 lines) - Custom engine support
6356
- `engine_helpers.go` (424 lines) - Shared engine utilities
6457

65-
**Why it works**:
66-
- Engine-specific logic is isolated
67-
- Shared code is centralized
68-
- Allows addition of new engines without affecting existing ones
69-
- Clear boundaries reduce merge conflicts
70-
7158
#### 3. Test Organization Pattern
7259

7360
**Pattern**: Tests live alongside implementation files with descriptive names
@@ -77,12 +64,6 @@ The codebase exhibits several well-organized patterns that should be emulated:
7764
- Integration tests: `feature_integration_test.go`
7865
- Specific scenario tests: `feature_scenario_test.go`
7966

80-
**Why it works**:
81-
- Tests are co-located with implementation
82-
- Clear test purpose from filename
83-
- Encourages comprehensive testing
84-
- Separates integration from unit tests
85-
8667
### File Creation Decision Tree
8768

8869
```mermaid
@@ -450,15 +431,6 @@ graph TD
450431
| **Fuzz Tests** | Find edge cases | `*_fuzz_test.go` | Continuous |
451432
| **Benchmark Tests** | Performance tracking | `*_benchmark_test.go` | Pre-release |
452433

453-
### Test Maintenance
454-
455-
The testing framework is designed to be:
456-
- **Self-validating**: The validation script ensures all tests work correctly
457-
- **Comprehensive**: Covers all aspects of functionality and interface design
458-
- **Maintainable**: Clear structure and documentation for future updates
459-
- **Scalable**: Tests can be added incrementally as functionality is implemented
460-
- **Security-focused**: Security regression tests prevent reintroduction of vulnerabilities
461-
462434
### Visual Regression Testing
463435

464436
Visual regression tests ensure console output formatting remains consistent across code changes. The system uses golden files to capture expected output for table layouts, box rendering, tree structures, and error formatting.
@@ -581,14 +553,6 @@ graph TD
581553
| **Workflow Health Manager** | `workflow-health-manager.md` | Monitor workflow health | Daily |
582554
| **Agent Performance Analyzer** | `agent-performance-analyzer.md` | Analyze agent quality | Daily |
583555

584-
**Key Capabilities**:
585-
- Cross-workflow coordination
586-
- Workflow health monitoring
587-
- Performance trend analysis
588-
- Strategic priority management
589-
- Proactive maintenance
590-
- Quality assessment
591-
592556
**Implementation**: See scratchpad/agents/hierarchical-agents.md and `.github/workflows/` meta-orchestrator files
593557

594558
---
@@ -794,59 +758,4 @@ If **two or more** closed PRs already exist on the same topic:
794758

795759
---
796760

797-
## Additional Documentation
798-
799-
For detailed specifications, see individual files in `scratchpad/`:
800-
801-
### Architecture & Organization
802-
- [Code Organization Patterns](../../scratchpad/code-organization.md)
803-
- [Validation Architecture](../../scratchpad/validation-architecture.md)
804-
- [Layout System](../../scratchpad/layout.md)
805-
- [Go Type Patterns](../../scratchpad/go-type-patterns.md)
806-
807-
### Core Features
808-
- [Safe Output Messages Design](../../scratchpad/safe-output-messages.md)
809-
- [Repo-Memory System](../../scratchpad/repo-memory.md)
810-
- [MCP Gateway](../../scratchpad/mcp-gateway.md)
811-
- [MCP Logs Guardrails](../../scratchpad/mcp_logs_guardrails.md)
812-
- [Custom Actions Build](../../scratchpad/actions.md)
813-
814-
### Testing & Quality
815-
- [Testing Framework](../../scratchpad/testing.md)
816-
- [Visual Regression Testing](../../scratchpad/visual-regression-testing.md)
817-
- [End-to-End Feature Testing](../../scratchpad/end-to-end-feature-testing.md)
818-
- [Security Review](../../scratchpad/security_review.md)
819-
- [GoSec Integration](../../scratchpad/gosec.md)
820-
821-
### Security & Standards
822-
- [GitHub Actions Security](../../scratchpad/github-actions-security-best-practices.md)
823-
- [Template Injection Prevention](../../scratchpad/template-injection-prevention.md)
824-
- [String Sanitization](../../scratchpad/string-sanitization-normalization.md)
825-
- [Schema Validation](../../scratchpad/schema-validation.md)
826-
827-
### Development Guidelines
828-
- [Capitalization Guidelines](../../scratchpad/capitalization.md)
829-
- [Breaking Change Rules](../../scratchpad/breaking-cli-rules.md)
830-
- [CLI Command Patterns](../../scratchpad/cli-command-patterns.md)
831-
- [Styles Guide](../../scratchpad/styles-guide.md)
832-
- [Changesets](../../scratchpad/changesets.md)
833-
- [Labels](../../scratchpad/labels.md)
834-
835-
### Advanced Topics
836-
- [Hierarchical Agents](../../scratchpad/agents/hierarchical-agents.md)
837-
- [Hierarchical Agents Quickstart](../../scratchpad/agents/hierarchical-agents-quickstart.md)
838-
- [Gastown Multi-Agent Orchestration](../../scratchpad/gastown.md)
839-
- [mdflow Comparison](../../scratchpad/mdflow-comparison.md)
840-
- [mdflow Deep Research](../../scratchpad/mdflow.md)
841-
842-
### Technical Details
843-
- [YAML Version Gotchas](../../scratchpad/yaml-version-gotchas.md)
844-
- [Validation Refactoring](../../scratchpad/validation-refactoring.md)
845-
- [Workflow Refactoring Patterns](../../scratchpad/workflow-refactoring-patterns.md)
846-
- [Safe Output Handlers Refactoring](../../scratchpad/safe-output-handlers-refactoring.md)
847-
- [Artifact Naming Compatibility](../../scratchpad/artifact-naming-compatibility.md)
848-
- [Safe Output Environment Variables](../../scratchpad/safe-output-environment-variables.md)
849-
850-
---
851-
852761
**Last Updated**: 2026-04-28

.github/aw/agentic-chat.md

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,8 @@ Before assisting users, load and understand these instruction files from the gh-
3232
- Let the coding agent determine implementation details
3333

3434
### 3. Problem Decomposition
35-
Break down tasks into clear, actionable steps:
3635

37-
#### Step Structure
38-
Provide clear, actionable steps that include:
36+
Steps must include:
3937
- What needs to be done
4038
- Expected inputs and outputs
4139
- Constraints or considerations
@@ -68,8 +66,6 @@ When creating task descriptions, follow this structure:
6866

6967
## Pseudo-Code Guidelines
7068

71-
When pseudo-code is necessary to clarify logic:
72-
7369
**Allowed**:
7470
```
7571
IF condition THEN
@@ -98,33 +94,15 @@ When you provide the final task description for the user to use, wrap it in **5
9894

9995
**Important**: The task title must start with "create a github agentic workflow that:" to trigger loading the appropriate instructions.
10096

101-
This allows users to:
102-
1. Select the entire content between the 5-backtick blocks
103-
2. Copy it directly
104-
3. Paste it into a GitHub issue, pull request, or workflow file
105-
10697
## Interaction Guidelines
10798

108-
1. **Clarify Requirements**: Ask questions to understand the user's needs before generating a task description
99+
1. **Clarify Requirements**: Ask about expected outcome, available context (repository, issue numbers), constraints, and tools needed (GitHub API, web search, file editing, etc.)
109100
2. **Validate Understanding**: Summarize what you understand before creating the specification
110101
3. **Iterate**: Be prepared to refine the task description based on user feedback
111102
4. **Stay Focused**: Keep discussions centered on task specification, not implementation
112103
5. **Reference Documentation**: Cite the loaded instruction files when relevant
113104
6. **Summarize Updates**: On each chat turn after the initial request, provide a brief summary of the updates or changes provided by the user in the previous message, rather than re-reading the entire markdown content unless explicitly requested
114105

115-
## Example Interaction Flow
116-
117-
1. User describes a problem or task
118-
2. You ask clarifying questions about:
119-
- Expected outcome
120-
- Available context (repository, issue numbers, etc.)
121-
- Constraints or requirements
122-
- Tools needed (GitHub API, web search, file editing, etc.)
123-
3. You summarize your understanding
124-
4. You generate a structured task description
125-
5. You present it wrapped in 5 backticks for easy copy/paste
126-
6. On subsequent turns, begin by summarizing the user's latest updates before making changes
127-
128106
## Terminology
129107

130108
Use correct terminology from the gh-aw project (see dictation instructions):

.github/aw/skills.md

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
---
2+
description: Guide for leveraging skills (SKILL.md files) in agentic workflows — hint strategy and fusion strategy
3+
---
4+
5+
# Skills in Agentic Workflows
6+
7+
Consult this file when you want a workflow to take advantage of skills — domain-specific knowledge files (`SKILL.md`) that live in the repository under `skills/` or `.github/skills/`.
8+
9+
---
10+
11+
## Detecting Skills
12+
13+
At runtime, find skill files with:
14+
15+
```bash
16+
find "${GITHUB_WORKSPACE}" -name "SKILL.md" -maxdepth 6
17+
```
18+
19+
List available skills and their locations before deciding which strategy to apply.
20+
21+
---
22+
23+
## Strategy 1 — Hint (Generalist)
24+
25+
**Use when**: The task strategy is not fully known at authoring time, or when the agent must adapt to whatever skills are available.
26+
27+
The workflow prompt hints that skills exist and asks the agent to discover and apply the relevant ones itself. The agent decides which skill files to read and how much of each to use.
28+
29+
**Pattern**:
30+
31+
```markdown
32+
If the repository contains `SKILL.md` files under `skills/`, check which ones are
33+
relevant to this task. For each relevant skill, read its content and apply the
34+
guidance it provides.
35+
```
36+
37+
**When to prefer this**:
38+
- The task domain is broad or open-ended
39+
- You don't know at authoring time which skills will exist
40+
- You want the agent to self-select relevant skills from a growing library
41+
- The overhead of reading an extra file is acceptable
42+
43+
**Tradeoff**: The agent may read and summarise more skill content than needed, which costs context tokens and can dilute focus.
44+
45+
---
46+
47+
## Strategy 2 — Fusion (Ultra-Cognitive)
48+
49+
**Use when**: You know exactly which skill (or which part of a skill) is needed, and you want to minimise context overhead.
50+
51+
Extract and inline **only the specific sections** of the skill content that the agent needs. Do not paste the entire SKILL.md; identify the minimal fragment, then remix it into the workflow prompt so the agent receives precise, surgical guidance without loading the full file.
52+
53+
**Pattern**:
54+
55+
```markdown
56+
<!-- gh-skill-fusion: skills/github-mcp-server/SKILL.md#authentication -->
57+
58+
When calling GitHub MCP tools, use the pre-configured token already injected into the
59+
environment. Never prompt the user for credentials.
60+
```
61+
62+
**When to prefer this**:
63+
- You know exactly which skill section applies
64+
- Context budget is limited (long prompts or many tools already registered)
65+
- The workflow runs frequently and latency matters
66+
- You want deterministic, stable behaviour without dynamic skill discovery
67+
68+
**Tradeoff**: Requires manual authoring effort. If the upstream skill changes, the fused fragment must be updated by hand.
69+
70+
---
71+
72+
## Choosing Between the Two Strategies
73+
74+
| Factor | Hint | Fusion |
75+
|---|---|---|
76+
| **Task domain** | Broad / unknown | Narrow / well-defined |
77+
| **Skill set** | Grows dynamically | Known and stable |
78+
| **Context budget** | Generous | Tight |
79+
| **Maintenance burden** | Low (agent self-selects) | Higher (manual sync with source) |
80+
| **Determinism** | Lower (agent chooses) | Higher (exact fragment) |
81+
| **Scale** | Poor (entire skills loaded) | Good (minimal content) |
82+
83+
Fusion scales better because entire skills are never loaded. Prefer fusion when you know the task domain and the specific skill sections required.
84+
85+
---
86+
87+
## Example: Hint Strategy
88+
89+
```markdown
90+
---
91+
on:
92+
issues:
93+
types: [opened]
94+
engine: copilot
95+
tools:
96+
github:
97+
toolsets: [issues]
98+
permissions:
99+
issues: write
100+
---
101+
102+
Triage the newly opened issue.
103+
104+
If there are relevant skills under `skills/`, read them and apply their guidance.
105+
Focus on skills related to issue classification or project conventions.
106+
```
107+
108+
---
109+
110+
## Example: Fusion Strategy
111+
112+
```markdown
113+
---
114+
on:
115+
pull_request:
116+
types: [opened, synchronize]
117+
engine: copilot
118+
tools:
119+
github:
120+
toolsets: [pull_requests]
121+
permissions:
122+
pull-requests: write
123+
---
124+
125+
Review the pull request for adherence to project conventions.
126+
127+
<!-- Fused from skills/developer/SKILL.md#code-organization -->
128+
Prefer many smaller files grouped by functionality. Add new files for new features
129+
rather than extending existing ones. Keep validators under 300 lines; split when
130+
a single file covers more than one domain.
131+
<!-- End fusion -->
132+
133+
Report findings as inline review comments.
134+
```
135+
136+
---
137+
138+
## Anti-Patterns
139+
140+
-**Do not load entire skill files** when only one section is relevant — use fusion instead
141+
-**Do not hint without bounds** — if using the hint strategy, constrain the agent with a `maxdepth` and a relevance filter to avoid reading every SKILL.md in a large repo
142+
-**Do not paste skills verbatim** without adapting them to the workflow's context — fused fragments should read as natural prose, not as lifted documentation
143+
-**Do not hard-code skill file paths** in hints — use `find` so the prompt still works when skills are reorganised

0 commit comments

Comments
 (0)