You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Consolidate scripts and automate report management (#1540)
* removing old scripts
* consolidated folder
* Updating usage of scripts
* Adding script to generate an open PR report, rather than making AI gen it each time
* Adding step to close old quality report discussions
Copy file name to clipboardExpand all lines: AGENTS.md
+39-18Lines changed: 39 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,18 +57,21 @@ npm run skill:create -- --name <skill-name>
57
57
58
58
All agent files (`*.agent.md`) and instruction files (`*.instructions.md`) must include proper markdown front matter. Agent Skills are folders containing a `SKILL.md` file with frontmatter and optional bundled assets. Hooks are folders containing a `README.md` with frontmatter and a `hooks.json` configuration file:
59
59
60
-
#### Agent Files (*.agent.md)
60
+
#### Agent Files (\*.agent.md)
61
+
61
62
- Must have `description` field (wrapped in single quotes)
62
63
- File names should be lower case with words separated by hyphens
63
64
- Recommended to include `tools` field
64
65
- Strongly recommended to specify `model` field
65
66
66
-
#### Instruction Files (*.instructions.md)
67
+
#### Instruction Files (\*.instructions.md)
68
+
67
69
- Must have `description` field (wrapped in single quotes, not empty)
68
70
- Must have `applyTo` field specifying file patterns (e.g., `'**.js, **.ts'`)
69
71
- File names should be lower case with words separated by hyphens
70
72
71
-
#### Agent Skills (skills/*/SKILL.md)
73
+
#### Agent Skills (skills/\*/SKILL.md)
74
+
72
75
- Each skill is a folder containing a `SKILL.md` file
73
76
- SKILL.md must have `name` field (lowercase with hyphens, matching folder name, max 64 characters)
74
77
- SKILL.md must have `description` field (wrapped in single quotes, 10-1024 characters)
@@ -78,7 +81,8 @@ All agent files (`*.agent.md`) and instruction files (`*.instructions.md`) must
78
81
- Asset files should be reasonably sized (under 5MB per file)
79
82
- Skills follow the [Agent Skills specification](https://agentskills.io/specification)
80
83
81
-
#### Hook Folders (hooks/*/README.md)
84
+
#### Hook Folders (hooks/\*/README.md)
85
+
82
86
- Each hook is a folder containing a `README.md` file with frontmatter
83
87
- README.md must have `name` field (human-readable name)
84
88
- README.md must have `description` field (wrapped in single quotes, not empty)
@@ -89,7 +93,8 @@ All agent files (`*.agent.md`) and instruction files (`*.instructions.md`) must
89
93
- Follow the [GitHub Copilot hooks specification](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/use-hooks)
90
94
- Optionally includes `tags` field for categorization
91
95
92
-
#### Workflow Files (workflows/*.md)
96
+
#### Workflow Files (workflows/\*.md)
97
+
93
98
- Each workflow is a standalone `.md` file in the `workflows/` directory
94
99
- Must have `name` field (human-readable name)
95
100
- Must have `description` field (wrapped in single quotes, not empty)
@@ -98,7 +103,8 @@ All agent files (`*.agent.md`) and instruction files (`*.instructions.md`) must
98
103
- Only `.md` files are accepted — `.yml`, `.yaml`, and `.lock.yml` files are blocked by CI
99
104
- Follow the [GitHub Agentic Workflows specification](https://github.github.com/gh-aw/reference/workflow-structure/)
100
105
101
-
#### Plugin Folders (plugins/*)
106
+
#### Plugin Folders (plugins/\*)
107
+
102
108
- Each plugin is a folder containing a `.github/plugin/plugin.json` file with metadata
103
109
- plugin.json must have `name` field (matching the folder name)
104
110
- plugin.json must have `description` field (describing the plugin's purpose)
@@ -112,12 +118,14 @@ All agent files (`*.agent.md`) and instruction files (`*.instructions.md`) must
112
118
When adding a new agent, instruction, skill, hook, workflow, or plugin:
113
119
114
120
**For Agents and Instructions:**
121
+
115
122
1. Create the file with proper front matter
116
123
2. Add the file to the appropriate directory
117
124
3. Update the README.md by running: `npm run build`
118
125
4. Verify the resource appears in the generated README
119
126
120
127
**For Hooks:**
128
+
121
129
1. Create a new folder in `hooks/` with a descriptive name
122
130
2. Create `README.md` with proper frontmatter (name, description, hooks, tags)
123
131
3. Create `hooks.json` with hook configuration following GitHub Copilot hooks spec
@@ -126,16 +134,16 @@ When adding a new agent, instruction, skill, hook, workflow, or plugin:
126
134
6. Update the README.md by running: `npm run build`
127
135
7. Verify the hook appears in the generated README
128
136
129
-
130
137
**For Workflows:**
138
+
131
139
1. Create a new `.md` file in `workflows/` with a descriptive name (e.g., `daily-issues-report.md`)
132
140
2. Include frontmatter with `name` and `description`, plus agentic workflow fields (`on`, `permissions`, `safe-outputs`)
133
141
3. Compile with `gh aw compile --validate` to verify it's valid
134
142
4. Update the README.md by running: `npm run build`
135
143
5. Verify the workflow appears in the generated README
136
144
137
-
138
145
**For Skills:**
146
+
139
147
1. Run `npm run skill:create` to scaffold a new skill folder
140
148
2. Edit the generated SKILL.md file with your instructions
141
149
3. Add any bundled assets (scripts, templates, data) to the skill folder
@@ -144,6 +152,7 @@ When adding a new agent, instruction, skill, hook, workflow, or plugin:
144
152
6. Verify the skill appears in the generated README
145
153
146
154
**For Plugins:**
155
+
147
156
1. Run `npm run plugin:create -- --name <plugin-name>` to scaffold a new plugin
148
157
2. Define agents, commands, and skills in `plugin.json` using Claude Code spec fields
149
158
3. Edit the generated `plugin.json` with your metadata
@@ -152,6 +161,7 @@ When adding a new agent, instruction, skill, hook, workflow, or plugin:
152
161
6. Verify the plugin appears in `.github/plugin/marketplace.json`
153
162
154
163
**For External Plugins:**
164
+
155
165
1. Edit `plugins/external.json` and add an entry with `name`, `source`, `description`, and `version`
156
166
2. The `source` field should be an object specifying a GitHub repo, git URL, npm package, or pip package (see [CONTRIBUTING.md](CONTRIBUTING.md#adding-external-plugins))
157
167
3. Run `npm run build` to regenerate marketplace.json
@@ -168,25 +178,28 @@ npm run skill:validate
168
178
npm run build
169
179
170
180
# Fix line endings (required before committing)
171
-
bash scripts/fix-line-endings.sh
181
+
bash eng/fix-line-endings.sh
172
182
```
173
183
174
184
Before committing:
185
+
175
186
- Ensure all markdown front matter is correctly formatted
176
187
- Verify file names follow the lower-case-with-hyphens convention
177
188
- Run `npm run build` to update the README
178
-
-**Always run `bash scripts/fix-line-endings.sh`** to normalize line endings (CRLF → LF)
189
+
-**Always run `bash eng/fix-line-endings.sh`** to normalize line endings (CRLF → LF)
179
190
- Check that your new resource appears correctly in the README
180
191
181
192
## Code Style Guidelines
182
193
183
194
### Markdown Files
195
+
184
196
- Use proper front matter with required fields
185
197
- Keep descriptions concise and informative
186
198
- Wrap description field values in single quotes
187
199
- Use lower-case file names with hyphens as separators
188
200
189
201
### JavaScript/Node.js Scripts
202
+
190
203
- Located in `eng/` and `scripts/` directories
191
204
- Follow Node.js ES module conventions (`.mjs` extension)
192
205
- Use clear, descriptive function and variable names
@@ -201,37 +214,41 @@ When creating a pull request:
201
214
2.**Front matter validation**: Ensure all markdown files have the required front matter fields
202
215
3.**File naming**: Verify all new files follow the lower-case-with-hyphens naming convention
203
216
4.**Build check**: Run `npm run build` before committing to verify README generation
204
-
5.**Line endings**: **Always run `bash scripts/fix-line-endings.sh`** to normalize line endings to LF (Unix-style)
217
+
5.**Line endings**: **Always run `bash eng/fix-line-endings.sh`** to normalize line endings to LF (Unix-style)
205
218
6.**Description**: Provide a clear description of what your agent/instruction does
206
219
7.**Testing**: If adding a plugin, run `npm run plugin:validate` to ensure validity
207
220
208
221
### Pre-commit Checklist
209
222
210
223
Before submitting your PR, ensure you have:
224
+
211
225
-[ ] Run `npm install` (or `npm ci`) to install dependencies
212
226
-[ ] Run `npm run build` to generate the updated README.md
213
-
-[ ] Run `bash scripts/fix-line-endings.sh` to normalize line endings
227
+
-[ ] Run `bash eng/fix-line-endings.sh` to normalize line endings
214
228
-[ ] Verified that all new files have proper front matter
215
229
-[ ] Tested that your contribution works with GitHub Copilot
216
230
-[ ] Checked that file names follow the naming convention
217
231
218
232
### Code Review Checklist
219
233
220
-
For instruction files (*.instructions.md):
234
+
For instruction files (\*.instructions.md):
235
+
221
236
-[ ] Has markdown front matter
222
237
-[ ] Has non-empty `description` field wrapped in single quotes
223
238
-[ ] Has `applyTo` field with file patterns
224
239
-[ ] File name is lower case with hyphens
225
240
226
-
For agent files (*.agent.md):
241
+
For agent files (\*.agent.md):
242
+
227
243
-[ ] Has markdown front matter
228
244
-[ ] Has non-empty `description` field wrapped in single quotes
229
245
-[ ] Has `name` field with human-readable name (e.g., "Address Comments" not "address-comments")
230
246
-[ ] File name is lower case with hyphens
231
247
-[ ] Includes `model` field (strongly recommended)
232
248
-[ ] Considers using `tools` field
233
249
234
-
For skills (skills/*/):
250
+
For skills (skills/\*/):
251
+
235
252
-[ ] Folder contains a SKILL.md file
236
253
-[ ] SKILL.md has markdown front matter
237
254
-[ ] Has `name` field matching folder name (lowercase with hyphens, max 64 characters)
@@ -240,7 +257,8 @@ For skills (skills/*/):
240
257
-[ ] Any bundled assets are referenced in SKILL.md
241
258
-[ ] Bundled assets are under 5MB per file
242
259
243
-
For hook folders (hooks/*/):
260
+
For hook folders (hooks/\*/):
261
+
244
262
-[ ] Folder contains a README.md file with markdown front matter
245
263
-[ ] Has `name` field with human-readable name
246
264
-[ ] Has non-empty `description` field wrapped in single quotes
0 commit comments