swe-copilot-agents 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- swe_copilot_agents-0.1.0/.gitignore +36 -0
- swe_copilot_agents-0.1.0/CLAUDE.md +161 -0
- swe_copilot_agents-0.1.0/LICENSE +21 -0
- swe_copilot_agents-0.1.0/PKG-INFO +326 -0
- swe_copilot_agents-0.1.0/README.md +299 -0
- swe_copilot_agents-0.1.0/agents/brainstormer.agent.md +377 -0
- swe_copilot_agents-0.1.0/agents/dev-orchestrator.agent.md +556 -0
- swe_copilot_agents-0.1.0/agents/knowledge-graph-agent.agent.md +347 -0
- swe_copilot_agents-0.1.0/agents/plan-executor.agent.md +80 -0
- swe_copilot_agents-0.1.0/agents/plan-reviewer.agent.md +346 -0
- swe_copilot_agents-0.1.0/agents/pytest-agent.agent.md +237 -0
- swe_copilot_agents-0.1.0/awesome_copilot/__init__.py +9 -0
- swe_copilot_agents-0.1.0/awesome_copilot/cli.py +62 -0
- swe_copilot_agents-0.1.0/copilot-agent-sources/create-custom-agent.md +164 -0
- swe_copilot_agents-0.1.0/copilot-agent-sources/custom-agents-configuration.md +192 -0
- swe_copilot_agents-0.1.0/copilot-agent-sources/github-blog.txt +179 -0
- swe_copilot_agents-0.1.0/copilot-agent-sources/subagent-vscode.txt +214 -0
- swe_copilot_agents-0.1.0/pyproject.toml +67 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/examples/README.md +59 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/skill.py +141 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/__init__.py +3 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/branding/__init__.py +6 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/branding/brand_manager.py +221 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/branding/color_palette.py +125 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/charts/__init__.py +6 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/charts/chart_factory.py +256 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/charts/style_manager.py +193 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/generator.py +201 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/slides/__init__.py +19 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/slides/base_slide.py +161 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/slides/chart_slide.py +66 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/slides/content_slide.py +154 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/slides/section_slide.py +81 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/slides/stats_slide.py +162 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/slides/title_slide.py +94 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/slides/two_column_slide.py +139 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/utils/__init__.py +6 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/utils/pdf_helpers.py +204 -0
- swe_copilot_agents-0.1.0/skills/pdf-slides/src/utils/validators.py +181 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# Virtual environments
|
|
7
|
+
.venv/
|
|
8
|
+
venv/
|
|
9
|
+
ENV/
|
|
10
|
+
env/
|
|
11
|
+
|
|
12
|
+
# Build artifacts
|
|
13
|
+
dist/
|
|
14
|
+
build/
|
|
15
|
+
*.egg-info/
|
|
16
|
+
.eggs/
|
|
17
|
+
|
|
18
|
+
# IDE
|
|
19
|
+
.vscode/
|
|
20
|
+
.idea/
|
|
21
|
+
*.swp
|
|
22
|
+
*.swo
|
|
23
|
+
|
|
24
|
+
# OS
|
|
25
|
+
.DS_Store
|
|
26
|
+
Thumbs.db
|
|
27
|
+
|
|
28
|
+
# Testing
|
|
29
|
+
.pytest_cache/
|
|
30
|
+
.coverage
|
|
31
|
+
htmlcov/
|
|
32
|
+
|
|
33
|
+
# Type checking
|
|
34
|
+
.mypy_cache/
|
|
35
|
+
.dmypy.json
|
|
36
|
+
dmypy.json
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project Objective
|
|
6
|
+
|
|
7
|
+
This repository generates GitHub Copilot agents from source materials. Agents are defined in `.agent.md` files with YAML frontmatter and custom instructions that define the agent's persona, tech stack, project structure, workflows, commands, and boundaries.
|
|
8
|
+
|
|
9
|
+
### Workflow
|
|
10
|
+
|
|
11
|
+
1. **Read source** from `copilot-agent-sources/` folder (contains source materials like blog posts, documentation)
|
|
12
|
+
2. **Generate agents** and save to `agents/` folder
|
|
13
|
+
3. **Human-in-the-loop**: Humans review and improve `agent.md` files based on real-world usage experience
|
|
14
|
+
|
|
15
|
+
### Key Concepts from Source Material
|
|
16
|
+
|
|
17
|
+
Effective agent.md files are **specific**, not vague. The best agents have:
|
|
18
|
+
- **Clear persona**: "QA software engineer who writes tests" not "helpful assistant"
|
|
19
|
+
- **Executable commands**: Put commands early with flags (`pytest -v`, `npm run build`)
|
|
20
|
+
- **Code examples**: Show good output style, don't just describe it
|
|
21
|
+
- **Clear boundaries**: What to always do, ask first, never do
|
|
22
|
+
- **Specific stack**: "React 18, TypeScript, Vite, Tailwind" not "React project"
|
|
23
|
+
|
|
24
|
+
### Agent File Structure
|
|
25
|
+
|
|
26
|
+
GitHub Copilot agents use the `.agent.md` file extension with YAML frontmatter:
|
|
27
|
+
|
|
28
|
+
```yaml
|
|
29
|
+
---
|
|
30
|
+
name: agent-name # Optional: defaults to filename
|
|
31
|
+
description: Required description of agent's purpose
|
|
32
|
+
target: vscode | github-copilot # Optional: defaults to both
|
|
33
|
+
tools: ["read", "edit", "search"] # Optional: omit for all tools
|
|
34
|
+
disable-model-invocation: false # Optional: manual selection only
|
|
35
|
+
---
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
#### YAML Frontmatter Properties
|
|
39
|
+
|
|
40
|
+
| Property | Type | Required | Purpose |
|
|
41
|
+
|----------|------|----------|---------|
|
|
42
|
+
| `name` | string | No | Display name (defaults to filename) |
|
|
43
|
+
| `description` | string | **Yes** | Agent's purpose and capabilities |
|
|
44
|
+
| `target` | string | No | `vscode` or `github-copilot` (both if omitted) |
|
|
45
|
+
| `tools` | list | No | Tool names to enable (all if omitted) |
|
|
46
|
+
| `disable-model-invocation` | boolean | No | Require manual selection if `true` |
|
|
47
|
+
| `mcp-servers` | object | No | MCP server configs (org/enterprise only) |
|
|
48
|
+
| `metadata` | object | No | Key-value annotation pairs |
|
|
49
|
+
|
|
50
|
+
#### Tool Aliases
|
|
51
|
+
|
|
52
|
+
| Primary | Compatible aliases | Purpose |
|
|
53
|
+
|---------|-------------------|---------|
|
|
54
|
+
| `execute` | `shell`, `Bash`, `powershell` | Run shell commands |
|
|
55
|
+
| `read` | `Read`, `NotebookRead` | Read file contents |
|
|
56
|
+
| `edit` | `Edit`, `MultiEdit`, `Write`, `NotebookEdit` | Edit files |
|
|
57
|
+
| `search` | `Grep`, `Glob` | Search files/text |
|
|
58
|
+
| `agent` | `custom-agent`, `Task` | Invoke other agents |
|
|
59
|
+
| `web` | `WebSearch`, `WebFetch` | Web search/fetch |
|
|
60
|
+
| `todo` | `TodoWrite` | Manage task lists |
|
|
61
|
+
|
|
62
|
+
### Agent Naming
|
|
63
|
+
|
|
64
|
+
- Filename (without `.agent.md`) used as default `name` if not specified
|
|
65
|
+
- Only these characters allowed: `.`, `-`, `_`, `a-z`, `A-Z`, `0-9`
|
|
66
|
+
- For org/enterprise: place in root `agents/` directory (not `.github/agents/`)
|
|
67
|
+
|
|
68
|
+
### Agent Versioning
|
|
69
|
+
|
|
70
|
+
- Based on Git commit SHAs of the agent profile file
|
|
71
|
+
- Branches/tags can have different agent versions
|
|
72
|
+
- PRs use consistent agent version throughout
|
|
73
|
+
|
|
74
|
+
## Folder Structure
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
copilot-agent-sources/ # Source materials (blog posts, docs)
|
|
78
|
+
├── github-blog.txt # Original patterns source
|
|
79
|
+
├── create-custom-agent.md # How to create agents
|
|
80
|
+
└── custom-agents-configuration.md # YAML configuration reference
|
|
81
|
+
|
|
82
|
+
agents/ # Generated .agent.md files
|
|
83
|
+
└── [agent-name].agent.md # Individual agent definitions
|
|
84
|
+
|
|
85
|
+
skills/ # Additional tools (includes pdf-slides skill)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Creating a New Agent
|
|
89
|
+
|
|
90
|
+
When creating an agent from source materials:
|
|
91
|
+
|
|
92
|
+
1. Read the relevant source file from `copilot-agent-sources/`
|
|
93
|
+
2. Extract the agent persona, commands, and best practices
|
|
94
|
+
3. Create a new agent file in `agents/[agent-name].agent.md` with this structure:
|
|
95
|
+
|
|
96
|
+
```markdown
|
|
97
|
+
---
|
|
98
|
+
name: agent-name
|
|
99
|
+
description: One-sentence description of agent's purpose and capabilities
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
You are an expert [role] for this project.
|
|
103
|
+
|
|
104
|
+
## Persona
|
|
105
|
+
- You specialize in [specific task]
|
|
106
|
+
- Your output: [what you produce]
|
|
107
|
+
|
|
108
|
+
## Project knowledge
|
|
109
|
+
- **Tech Stack:** [technologies with versions]
|
|
110
|
+
- **File Structure:**
|
|
111
|
+
- `src/` – [description]
|
|
112
|
+
- `tests/` – [description]
|
|
113
|
+
|
|
114
|
+
## Tools you can use
|
|
115
|
+
- **Build:** `command` (description)
|
|
116
|
+
- **Test:** `command` (description)
|
|
117
|
+
|
|
118
|
+
## Standards
|
|
119
|
+
[Code style examples, naming conventions]
|
|
120
|
+
|
|
121
|
+
## Boundaries
|
|
122
|
+
- ✅ **Always:** [what to do]
|
|
123
|
+
- ⚠️ **Ask first:** [what requires approval]
|
|
124
|
+
- 🚫 **Never:** [what to avoid]
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
4. Have a human review and refine based on actual usage
|
|
128
|
+
|
|
129
|
+
## Human-in-the-Loop Process
|
|
130
|
+
|
|
131
|
+
After using an agent:
|
|
132
|
+
1. Note what worked well and what didn't
|
|
133
|
+
2. Update the agent.md file with:
|
|
134
|
+
- Missing commands that were needed
|
|
135
|
+
- New boundaries based on mistakes
|
|
136
|
+
- Better examples from successful interactions
|
|
137
|
+
3. The agent.md file evolves through real-world iteration
|
|
138
|
+
|
|
139
|
+
## Common Agent Types
|
|
140
|
+
|
|
141
|
+
- **@docs-agent** - Writes documentation from code
|
|
142
|
+
- **@test-agent** - Writes unit/integration/tests
|
|
143
|
+
- **@lint-agent** - Fixes code style and formatting
|
|
144
|
+
- **@api-agent** - Builds API endpoints
|
|
145
|
+
- **@security-agent** - Analyzes code for security issues
|
|
146
|
+
- **@deploy-agent** - Handles builds and deployments
|
|
147
|
+
- **@planner-agent** - Creates implementation plans (read/search/edit only)
|
|
148
|
+
|
|
149
|
+
## Skills: PDF Slides Generator
|
|
150
|
+
|
|
151
|
+
The `skills/pdf-slides/` folder contains a separate skill for generating PDF slide decks from JSON outlines. This is independent of the agent generation workflow.
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# Generate PDF from JSON outline
|
|
155
|
+
python skills/pdf-slides/skill.py outline.json -o output.pdf
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Additional Resources
|
|
159
|
+
|
|
160
|
+
- [awesome-copilot community collection](https://github.com/github/awesome-copilot/tree/main/agents)
|
|
161
|
+
- [Custom agents tutorials](https://code.visualstudio.com/docs/copilot/customization/custom-agents)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Awesome Copilot Agents Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: swe-copilot-agents
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: GitHub Copilot custom agents for orchestrating the complete software development lifecycle
|
|
5
|
+
Project-URL: Homepage, https://github.com/khaerulumam42/agent-generator
|
|
6
|
+
Project-URL: Repository, https://github.com/khaerulumam42/agent-generator
|
|
7
|
+
Project-URL: Issues, https://github.com/khaerulumam42/agent-generator/issues
|
|
8
|
+
Author-email: Khaerul Umam <khaerul@example.com>
|
|
9
|
+
License: MIT
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: agents,ai,copilot,development,github
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Topic :: Software Development
|
|
20
|
+
Requires-Python: >=3.11
|
|
21
|
+
Provides-Extra: dev
|
|
22
|
+
Requires-Dist: black>=24.0.0; extra == 'dev'
|
|
23
|
+
Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
|
|
24
|
+
Requires-Dist: pytest>=8.0.0; extra == 'dev'
|
|
25
|
+
Requires-Dist: ruff>=0.1.0; extra == 'dev'
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
|
|
28
|
+
# Awesome Skills - GitHub Copilot Agents
|
|
29
|
+
|
|
30
|
+
A collection of specialized GitHub Copilot custom agents for orchestrating the complete software development lifecycle, from requirements gathering through implementation, testing, and review.
|
|
31
|
+
|
|
32
|
+
## Overview
|
|
33
|
+
|
|
34
|
+
This repository contains AI agents that follow the **"coordinator and worker" pattern**—where specialist agents perform focused work under the guidance of an orchestrator. Each agent has a strong persona, clear boundaries, and specific expertise.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Agents
|
|
39
|
+
|
|
40
|
+
### @dev-orchestrator
|
|
41
|
+
|
|
42
|
+
**Role:** Meticulous technical lead who conducts specialist agents like an orchestra conductor
|
|
43
|
+
|
|
44
|
+
**Persona:**
|
|
45
|
+
- **Philosophy:** "Right agent, right time, right order"
|
|
46
|
+
- **Traits:** Meticulous, patient, organized, clear
|
|
47
|
+
- **Metaphor:** Orchestra conductor who doesn't play instruments but brings out the best performance from each soloist
|
|
48
|
+
|
|
49
|
+
**Responsibilities:**
|
|
50
|
+
- Coordinates the complete development lifecycle across 4 movements
|
|
51
|
+
- Tracks state obsessively (which movement, which soloist, which outputs)
|
|
52
|
+
- Manages review cycles with automatic fix loops (max 2 reviews)
|
|
53
|
+
- Seeks human approval at each intermission
|
|
54
|
+
|
|
55
|
+
**Orchestrated Agents:**
|
|
56
|
+
- @brainstormer (Movement I - Planning)
|
|
57
|
+
- @plan-executor (Movement II - Implementation)
|
|
58
|
+
- @plan-reviewer (Movement III - Review)
|
|
59
|
+
- @pytest-agent (Movement IV - Testing, optional)
|
|
60
|
+
|
|
61
|
+
**Best Practices:** ✅ **EXCELLENT**
|
|
62
|
+
- Strong, distinctive persona with musical terminology throughout
|
|
63
|
+
- Clear YAML configuration with `agents` restriction
|
|
64
|
+
- Visual workflow diagram (ASCII art)
|
|
65
|
+
- Comprehensive error handling and human intervention pathways
|
|
66
|
+
- Review cycle feedback loop with automatic fixes
|
|
67
|
+
- Memorable tagline: *"A great conductor doesn't play every instrument—they know exactly when each section should perform."*
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
### @brainstormer
|
|
72
|
+
|
|
73
|
+
**Role:** Curious planning agent who asks clarifying questions to crystallize requirements
|
|
74
|
+
|
|
75
|
+
**Persona:**
|
|
76
|
+
- **Philosophy:** Uncertainty triggers questions, not assumptions
|
|
77
|
+
- **Traits:** Insatiably curious, thorough, multi-round questioner (1-10 rounds)
|
|
78
|
+
- **Metaphor:** Exploratory researcher who never assumes
|
|
79
|
+
|
|
80
|
+
**Responsibilities:**
|
|
81
|
+
- Asks 1-10 rounds of clarifying questions before writing plans
|
|
82
|
+
- Queries knowledge graph for impact analysis (downstream, cycles, bottlenecks, test seams)
|
|
83
|
+
- Creates detailed markdown plan documents in `docs/plan/YYYY-MM-DD-*.md`
|
|
84
|
+
- Integrates knowledge graph findings into every plan
|
|
85
|
+
|
|
86
|
+
**Best Practices:** ✅ **EXCELLENT**
|
|
87
|
+
- Strong persona ("insatiably curious")
|
|
88
|
+
- Knowledge graph integration for impact analysis
|
|
89
|
+
- Multi-round questioning framework with defined stages
|
|
90
|
+
- Clear completion criteria (user confirmation before writing plan)
|
|
91
|
+
- Comprehensive plan output template with KG analysis sections
|
|
92
|
+
- Workflow summary diagram
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
### @plan-executor
|
|
97
|
+
|
|
98
|
+
**Role:** Senior Python engineer who executes plans by blending seamlessly with existing codebases
|
|
99
|
+
|
|
100
|
+
**Persona:**
|
|
101
|
+
- **Philosophy:** "Consistency > Clean Code"
|
|
102
|
+
- **Traits:** Chameleon-like, adaptive, pattern-matching
|
|
103
|
+
- **Metaphor:** Code chameleon who becomes indistinguishable from existing code
|
|
104
|
+
|
|
105
|
+
**Responsibilities:**
|
|
106
|
+
- Reads 3-5 existing files to understand patterns before writing
|
|
107
|
+
- Matches existing style exactly (naming, imports, error handling, formatting)
|
|
108
|
+
- Implements requirements from plan documents
|
|
109
|
+
- Never "fixes" existing code because it's ugly
|
|
110
|
+
|
|
111
|
+
**Best Practices:** ✅ **EXCELLENT**
|
|
112
|
+
- Strong persona with clear philosophy ("Consistency > Clean Code")
|
|
113
|
+
- Concrete code examples showing good vs. bad matching
|
|
114
|
+
- Specific matching table (naming, imports, errors, strings, formatting)
|
|
115
|
+
- Clear boundaries (never "revamp" existing code)
|
|
116
|
+
- Executable commands for studying patterns
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
### @plan-reviewer
|
|
121
|
+
|
|
122
|
+
**Role:** Senior code reviewer and quality assurance engineer who rigorously audits implementation against plans
|
|
123
|
+
|
|
124
|
+
**Persona:**
|
|
125
|
+
- **Philosophy:** "Evidence over assumptions"
|
|
126
|
+
- **Traits:** Ruthlessly thorough, evidence-driven, uncompromising
|
|
127
|
+
- **Metaphor:** Auditor who proves everything through code inspection
|
|
128
|
+
|
|
129
|
+
**Responsibilities:**
|
|
130
|
+
- Extracts all requirements from plan documents
|
|
131
|
+
- Searches codebase for concrete evidence of each requirement
|
|
132
|
+
- Categorizes execution status (Fully/Partially/Not Executed)
|
|
133
|
+
- Performs brittleness analysis via knowledge graph (high centrality, excessive dependencies, deep chains)
|
|
134
|
+
- Provides prioritized remediation recommendations
|
|
135
|
+
|
|
136
|
+
**Best Practices:** ✅ **EXCELLENT**
|
|
137
|
+
- Strong persona ("ruthlessly thorough")
|
|
138
|
+
- Clear execution status definitions with evidence gathering checklist
|
|
139
|
+
- Knowledge graph brittleness analysis with risk levels
|
|
140
|
+
- Comprehensive report output format
|
|
141
|
+
- Priority assignment criteria (P0-P3)
|
|
142
|
+
- Status determination rules with specific conditions
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
### @pytest-agent
|
|
147
|
+
|
|
148
|
+
**Role:** Senior Python QA engineer specializing in pytest with expert-level mocking and patching
|
|
149
|
+
|
|
150
|
+
**Persona:**
|
|
151
|
+
- **Philosophy:** "Depth over breadth"
|
|
152
|
+
- **Traits:** Exhaustive, comprehensive, edge-case obsessed
|
|
153
|
+
- **Metaphor:** Test surgeon who operates at every code path
|
|
154
|
+
|
|
155
|
+
**Responsibilities:**
|
|
156
|
+
- Writes exhaustive test suites (happy path, edge cases, errors, state, integration)
|
|
157
|
+
- Expert-level mocking and patching (Mock, MagicMock, patch, PropertyMock)
|
|
158
|
+
- Targets >80% coverage for new code
|
|
159
|
+
- Tests only newly implemented code (respects scope boundaries)
|
|
160
|
+
|
|
161
|
+
**Best Practices:** ✅ **EXCELLENT**
|
|
162
|
+
- Strong persona ("depth over breadth")
|
|
163
|
+
- Comprehensive test coverage requirements table
|
|
164
|
+
- Expert mocking examples with all patterns
|
|
165
|
+
- Clarification protocol for ambiguous behavior
|
|
166
|
+
- Clear scope boundaries (only test new code)
|
|
167
|
+
- Code style examples (good vs. bad)
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
### @knowledge-graph-agent
|
|
172
|
+
|
|
173
|
+
**Role:** Expert code analysis specialist who builds knowledge-base graphs from codebases
|
|
174
|
+
|
|
175
|
+
**Persona:**
|
|
176
|
+
- **Philosophy:** Static analysis reveals code architecture
|
|
177
|
+
- **Traits:** Multi-lingual, systematic, incremental
|
|
178
|
+
- **Metaphor:** Code cartographer who maps relationships
|
|
179
|
+
|
|
180
|
+
**Responsibilities:**
|
|
181
|
+
- Scans codebases and generates `knowledge-graph.yaml` in project root
|
|
182
|
+
- Tracks relationships: files, functions, classes, imports, call chains, concerns
|
|
183
|
+
- Supports incremental updates (only changed files)
|
|
184
|
+
- Version tracking via git commit hashes
|
|
185
|
+
- Multi-language support (Python, JS/TS, Go, Java, Rust)
|
|
186
|
+
|
|
187
|
+
**Best Practices:** ✅ **EXCELLENT**
|
|
188
|
+
- Clear startup behavior with git hash comparison
|
|
189
|
+
- Incremental update mode to avoid full rescans
|
|
190
|
+
- Comprehensive YAML output format specification
|
|
191
|
+
- Complete analysis standards with good/bad examples
|
|
192
|
+
- Web framework pattern recognition (Flask, FastAPI, Express, Gin)
|
|
193
|
+
- Validation checklist before completion
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## Best Practices Summary
|
|
198
|
+
|
|
199
|
+
| Agent | Persona | Boundaries | Commands | Examples | Workflow Diagram | Overall |
|
|
200
|
+
|-------|---------|------------|----------|----------|------------------|---------|
|
|
201
|
+
| @dev-orchestrator | ✅ Strong | ✅ Clear | ✅ Complete | ✅ Musical | ✅ ASCII | **EXCELLENT** |
|
|
202
|
+
| @brainstormer | ✅ Strong | ✅ Clear | ✅ Complete | ✅ Plan format | ✅ Flowchart | **EXCELLENT** |
|
|
203
|
+
| @plan-executor | ✅ Strong | ✅ Clear | ✅ Complete | ✅ Code style | ❌ None | **EXCELLENT** |
|
|
204
|
+
| @plan-reviewer | ✅ Strong | ✅ Clear | ✅ Complete | ✅ Report format | ❌ None | **EXCELLENT** |
|
|
205
|
+
| @pytest-agent | ✅ Strong | ✅ Clear | ✅ Complete | ✅ Test style | ❌ None | **EXCELLENT** |
|
|
206
|
+
| @knowledge-graph-agent | ✅ Strong | ✅ Clear | ✅ Complete | ✅ YAML format | ❌ None | **EXCELLENT** |
|
|
207
|
+
|
|
208
|
+
**Overall Repository Quality:** ✅ **EXCELLENT** - All agents follow GitHub Copilot custom agent best practices with strong personas, clear boundaries, executable commands, and comprehensive examples.
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Workflow Orchestration
|
|
213
|
+
|
|
214
|
+
### Complete Development Cycle
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
User Request
|
|
218
|
+
↓
|
|
219
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
220
|
+
│ @dev-orchestrator (Conductor) │
|
|
221
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
222
|
+
│
|
|
223
|
+
├─ Movement I: @brainstormer → Plan document
|
|
224
|
+
│ (1-10 rounds of questions)
|
|
225
|
+
│ ↓ Human Approval
|
|
226
|
+
│
|
|
227
|
+
├─ Movement II: @plan-executor → Implementation
|
|
228
|
+
│ (Match existing code patterns)
|
|
229
|
+
│ ↓ Human Approval
|
|
230
|
+
│
|
|
231
|
+
├─ Movement III: @plan-reviewer → Review #1
|
|
232
|
+
│ ↓ Major issues found?
|
|
233
|
+
│ ├─ YES → Movement IIb: @plan-executor (Fix)
|
|
234
|
+
│ │ ↓ Movement IIIb: @plan-reviewer (Re-review FINAL)
|
|
235
|
+
│ │ ↓ Issues persist?
|
|
236
|
+
│ │ └─ YES → Human Intervention
|
|
237
|
+
│ └─ NO → Continue
|
|
238
|
+
│ ↓ Human Approval
|
|
239
|
+
│
|
|
240
|
+
└─ Movement IV: @pytest-agent → Tests (Optional)
|
|
241
|
+
↓
|
|
242
|
+
Finale
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Review Cycle Logic
|
|
246
|
+
|
|
247
|
+
1. **Review #1** identifies issues → If major issues found, trigger fix cycle
|
|
248
|
+
2. **Fix Cycle** (@plan-executor) implements recommendations
|
|
249
|
+
3. **Review #2 (FINAL)** re-audits → If issues persist, human intervention required
|
|
250
|
+
4. **Maximum 2 reviews** enforced
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## Usage
|
|
255
|
+
|
|
256
|
+
### Basic Agent Invocation
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
# In VS Code with GitHub Copilot Chat
|
|
260
|
+
@dev-orchestrator
|
|
261
|
+
I want to add a user authentication system with JWT tokens
|
|
262
|
+
|
|
263
|
+
# Or invoke a specific agent directly
|
|
264
|
+
@brainstormer
|
|
265
|
+
I need to add a search feature to my application
|
|
266
|
+
|
|
267
|
+
@plan-reviewer
|
|
268
|
+
Review the implementation against docs/plan/2025-03-02-auth.md
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### File Locations
|
|
272
|
+
|
|
273
|
+
- **Agents:** `agents/*.agent.md`
|
|
274
|
+
- **Plans:** `docs/plan/YYYY-MM-DD-*.md`
|
|
275
|
+
- **Knowledge Graph:** `knowledge-graph.yaml` (project root)
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## Agent File Structure
|
|
280
|
+
|
|
281
|
+
All agents follow this structure:
|
|
282
|
+
|
|
283
|
+
```yaml
|
|
284
|
+
---
|
|
285
|
+
name: agent-name
|
|
286
|
+
description: Brief description of purpose
|
|
287
|
+
tools: ["tool1", "tool2"]
|
|
288
|
+
agents: ["agent1", "agent2"] # For orchestrators only
|
|
289
|
+
target: vscode | github-copilot
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
# Persona description
|
|
293
|
+
## Core Philosophy
|
|
294
|
+
## Your Role
|
|
295
|
+
## [Specific sections per agent]
|
|
296
|
+
## Boundaries (Always Do / Ask First / Never Do)
|
|
297
|
+
## Commands
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## Contributing
|
|
303
|
+
|
|
304
|
+
When adding new agents:
|
|
305
|
+
|
|
306
|
+
1. **Follow the persona pattern** - Give each agent a distinctive personality
|
|
307
|
+
2. **Define clear boundaries** - What they always do, ask first, never do
|
|
308
|
+
3. **Include executable commands** - Concrete bash commands they can run
|
|
309
|
+
4. **Provide examples** - Good vs. bad outputs
|
|
310
|
+
5. **Add visual workflow** - ASCII diagrams for complex agents
|
|
311
|
+
6. **Document best practices** - Mark if agent follows Copilot best practices
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## License
|
|
316
|
+
|
|
317
|
+
[Your License Here]
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## Inspiration
|
|
322
|
+
|
|
323
|
+
Based on patterns from:
|
|
324
|
+
- [GitHub Custom Agents Documentation](https://docs.github.com/en/copilot/customizing-custom-agents)
|
|
325
|
+
- [awesome-copilot community collection](https://github.com/github/awesome-copilot)
|
|
326
|
+
- Subagent orchestration patterns in VS Code
|