@damian87/omp 0.1.0

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.
Files changed (166) hide show
  1. package/.github/agents/architect.md +25 -0
  2. package/.github/agents/code-reviewer.md +25 -0
  3. package/.github/agents/designer.md +26 -0
  4. package/.github/agents/executor.md +24 -0
  5. package/.github/agents/planner.md +26 -0
  6. package/.github/agents/researcher.md +26 -0
  7. package/.github/agents/verifier.md +26 -0
  8. package/.github/copilot-instructions.md +20 -0
  9. package/.github/plugin/marketplace.json +30 -0
  10. package/.github/skills/caveman/SKILL.md +20 -0
  11. package/.github/skills/code-review/SKILL.md +22 -0
  12. package/.github/skills/codebase-research/SKILL.md +20 -0
  13. package/.github/skills/create-skill/SKILL.md +78 -0
  14. package/.github/skills/create-skill/references/best-practices.md +449 -0
  15. package/.github/skills/create-skill/references/examples.md +69 -0
  16. package/.github/skills/create-skill/references/progressive-disclosure.md +25 -0
  17. package/.github/skills/create-skill/references/skill-structure.md +55 -0
  18. package/.github/skills/debug/SKILL.md +22 -0
  19. package/.github/skills/grill-me/SKILL.md +16 -0
  20. package/.github/skills/jira-ticket/SKILL.md +21 -0
  21. package/.github/skills/omp-autopilot/SKILL.md +20 -0
  22. package/.github/skills/prototype/SKILL.md +21 -0
  23. package/.github/skills/ralph/SKILL.md +20 -0
  24. package/.github/skills/ralplan/SKILL.md +21 -0
  25. package/.github/skills/self-evolve/SKILL.md +157 -0
  26. package/.github/skills/tdd/SKILL.md +19 -0
  27. package/.github/skills/team/SKILL.md +20 -0
  28. package/.github/skills/ultraqa/SKILL.md +20 -0
  29. package/.github/skills/ultrawork/SKILL.md +20 -0
  30. package/.github/skills/verify/SKILL.md +20 -0
  31. package/LICENSE +21 -0
  32. package/README.md +214 -0
  33. package/catalog/capabilities.json +729 -0
  34. package/catalog/skills-general.json +427 -0
  35. package/dist/src/catalog.d.ts +79 -0
  36. package/dist/src/catalog.js +113 -0
  37. package/dist/src/catalog.js.map +1 -0
  38. package/dist/src/cli.d.ts +9 -0
  39. package/dist/src/cli.js +475 -0
  40. package/dist/src/cli.js.map +1 -0
  41. package/dist/src/copilot/config.d.ts +7 -0
  42. package/dist/src/copilot/config.js +24 -0
  43. package/dist/src/copilot/config.js.map +1 -0
  44. package/dist/src/copilot/doctor.d.ts +18 -0
  45. package/dist/src/copilot/doctor.js +85 -0
  46. package/dist/src/copilot/doctor.js.map +1 -0
  47. package/dist/src/copilot/launch.d.ts +14 -0
  48. package/dist/src/copilot/launch.js +64 -0
  49. package/dist/src/copilot/launch.js.map +1 -0
  50. package/dist/src/copilot/list.d.ts +17 -0
  51. package/dist/src/copilot/list.js +82 -0
  52. package/dist/src/copilot/list.js.map +1 -0
  53. package/dist/src/copilot/paths.d.ts +21 -0
  54. package/dist/src/copilot/paths.js +36 -0
  55. package/dist/src/copilot/paths.js.map +1 -0
  56. package/dist/src/copilot/setup.d.ts +20 -0
  57. package/dist/src/copilot/setup.js +90 -0
  58. package/dist/src/copilot/setup.js.map +1 -0
  59. package/dist/src/copilot/version.d.ts +13 -0
  60. package/dist/src/copilot/version.js +34 -0
  61. package/dist/src/copilot/version.js.map +1 -0
  62. package/dist/src/jira.d.ts +149 -0
  63. package/dist/src/jira.js +492 -0
  64. package/dist/src/jira.js.map +1 -0
  65. package/dist/src/lint.d.ts +11 -0
  66. package/dist/src/lint.js +85 -0
  67. package/dist/src/lint.js.map +1 -0
  68. package/dist/src/mcp/server.d.ts +10 -0
  69. package/dist/src/mcp/server.js +44 -0
  70. package/dist/src/mcp/server.js.map +1 -0
  71. package/dist/src/mcp/tools/index.d.ts +9 -0
  72. package/dist/src/mcp/tools/index.js +15 -0
  73. package/dist/src/mcp/tools/index.js.map +1 -0
  74. package/dist/src/mcp/tools/notepad.d.ts +2 -0
  75. package/dist/src/mcp/tools/notepad.js +135 -0
  76. package/dist/src/mcp/tools/notepad.js.map +1 -0
  77. package/dist/src/mcp/tools/project-memory.d.ts +2 -0
  78. package/dist/src/mcp/tools/project-memory.js +91 -0
  79. package/dist/src/mcp/tools/project-memory.js.map +1 -0
  80. package/dist/src/mcp/tools/shared-memory.d.ts +2 -0
  81. package/dist/src/mcp/tools/shared-memory.js +148 -0
  82. package/dist/src/mcp/tools/shared-memory.js.map +1 -0
  83. package/dist/src/mcp/tools/state.d.ts +2 -0
  84. package/dist/src/mcp/tools/state.js +107 -0
  85. package/dist/src/mcp/tools/state.js.map +1 -0
  86. package/dist/src/mcp/tools/trace.d.ts +10 -0
  87. package/dist/src/mcp/tools/trace.js +102 -0
  88. package/dist/src/mcp/tools/trace.js.map +1 -0
  89. package/dist/src/mcp/types.d.ts +29 -0
  90. package/dist/src/mcp/types.js +7 -0
  91. package/dist/src/mcp/types.js.map +1 -0
  92. package/dist/src/mode-state/index.d.ts +4 -0
  93. package/dist/src/mode-state/index.js +5 -0
  94. package/dist/src/mode-state/index.js.map +1 -0
  95. package/dist/src/mode-state/paths.d.ts +5 -0
  96. package/dist/src/mode-state/paths.js +29 -0
  97. package/dist/src/mode-state/paths.js.map +1 -0
  98. package/dist/src/mode-state/ralph.d.ts +25 -0
  99. package/dist/src/mode-state/ralph.js +44 -0
  100. package/dist/src/mode-state/ralph.js.map +1 -0
  101. package/dist/src/mode-state/ultraqa.d.ts +26 -0
  102. package/dist/src/mode-state/ultraqa.js +51 -0
  103. package/dist/src/mode-state/ultraqa.js.map +1 -0
  104. package/dist/src/mode-state/ultrawork.d.ts +20 -0
  105. package/dist/src/mode-state/ultrawork.js +34 -0
  106. package/dist/src/mode-state/ultrawork.js.map +1 -0
  107. package/dist/src/project.d.ts +29 -0
  108. package/dist/src/project.js +101 -0
  109. package/dist/src/project.js.map +1 -0
  110. package/dist/src/skills.d.ts +17 -0
  111. package/dist/src/skills.js +61 -0
  112. package/dist/src/skills.js.map +1 -0
  113. package/dist/src/sync.d.ts +6 -0
  114. package/dist/src/sync.js +27 -0
  115. package/dist/src/sync.js.map +1 -0
  116. package/dist/src/team/api.d.ts +20 -0
  117. package/dist/src/team/api.js +55 -0
  118. package/dist/src/team/api.js.map +1 -0
  119. package/dist/src/team/heartbeat.d.ts +4 -0
  120. package/dist/src/team/heartbeat.js +27 -0
  121. package/dist/src/team/heartbeat.js.map +1 -0
  122. package/dist/src/team/idle-nudge.d.ts +27 -0
  123. package/dist/src/team/idle-nudge.js +60 -0
  124. package/dist/src/team/idle-nudge.js.map +1 -0
  125. package/dist/src/team/inbox.d.ts +3 -0
  126. package/dist/src/team/inbox.js +16 -0
  127. package/dist/src/team/inbox.js.map +1 -0
  128. package/dist/src/team/index.d.ts +11 -0
  129. package/dist/src/team/index.js +12 -0
  130. package/dist/src/team/index.js.map +1 -0
  131. package/dist/src/team/outbox.d.ts +14 -0
  132. package/dist/src/team/outbox.js +82 -0
  133. package/dist/src/team/outbox.js.map +1 -0
  134. package/dist/src/team/runtime.d.ts +84 -0
  135. package/dist/src/team/runtime.js +243 -0
  136. package/dist/src/team/runtime.js.map +1 -0
  137. package/dist/src/team/state-paths.d.ts +31 -0
  138. package/dist/src/team/state-paths.js +54 -0
  139. package/dist/src/team/state-paths.js.map +1 -0
  140. package/dist/src/team/task-store.d.ts +41 -0
  141. package/dist/src/team/task-store.js +153 -0
  142. package/dist/src/team/task-store.js.map +1 -0
  143. package/dist/src/team/tmux.d.ts +26 -0
  144. package/dist/src/team/tmux.js +87 -0
  145. package/dist/src/team/tmux.js.map +1 -0
  146. package/dist/src/team/types.d.ts +45 -0
  147. package/dist/src/team/types.js +2 -0
  148. package/dist/src/team/types.js.map +1 -0
  149. package/dist/src/team/worker-bootstrap.d.ts +8 -0
  150. package/dist/src/team/worker-bootstrap.js +52 -0
  151. package/dist/src/team/worker-bootstrap.js.map +1 -0
  152. package/docs/copilot-distribution.md +100 -0
  153. package/docs/general-skills.md +76 -0
  154. package/docs/jira.md +64 -0
  155. package/docs/self-evolve.md +22 -0
  156. package/hooks/hooks.json +74 -0
  157. package/package.json +58 -0
  158. package/plugin.json +14 -0
  159. package/scripts/error.mjs +31 -0
  160. package/scripts/lib/hook-output.mjs +30 -0
  161. package/scripts/lib/stdin.mjs +29 -0
  162. package/scripts/post-tool-use.mjs +31 -0
  163. package/scripts/pre-tool-use.mjs +30 -0
  164. package/scripts/prompt-submit.mjs +66 -0
  165. package/scripts/session-end.mjs +29 -0
  166. package/scripts/session-start.mjs +33 -0
@@ -0,0 +1,449 @@
1
+ # Skill Authoring Best Practices
2
+
3
+ Comprehensive guide for writing effective skills that agents can discover and use successfully.
4
+
5
+ ## Core Principles
6
+
7
+ ### Concise is Key
8
+
9
+ The context window is a shared resource. Your skill shares it with conversation history, other skills' metadata, and the actual request. Be concise and challenge each piece of information.
10
+
11
+ **Default assumption**: Agents are already very smart. Only add context the agent doesn't already have.
12
+
13
+ **Good example: Concise** (~50 tokens):
14
+ ````markdown
15
+ ## Extract PDF text
16
+
17
+ Use pdfplumber for text extraction:
18
+
19
+ ```python
20
+ import pdfplumber
21
+
22
+ with pdfplumber.open("file.pdf") as pdf:
23
+ text = pdf.pages[0].extract_text()
24
+ ```
25
+ ````
26
+
27
+ **Bad example: Too verbose** (~150 tokens):
28
+ ```markdown
29
+ ## Extract PDF text
30
+
31
+ PDF (Portable Document Format) files are a common file format that contains
32
+ text, images, and other content. To extract text from a PDF, you'll need to
33
+ use a library. There are many libraries available for PDF processing, but we
34
+ recommend pdfplumber because it's easy to use and handles most cases well.
35
+ First, you'll need to install it using pip. Then you can use the code below...
36
+ ```
37
+
38
+ ### Set Appropriate Degrees of Freedom
39
+
40
+ Match the level of specificity to the task's fragility and variability.
41
+
42
+ **High freedom** (text-based instructions):
43
+ - Multiple approaches are valid
44
+ - Decisions depend on context
45
+ - Heuristics guide the approach
46
+
47
+ **Medium freedom** (pseudocode or scripts with parameters):
48
+ - A preferred pattern exists
49
+ - Some variation is acceptable
50
+ - Configuration affects behavior
51
+
52
+ **Low freedom** (specific scripts, few or no parameters):
53
+ - Operations are fragile and error-prone
54
+ - Consistency is critical
55
+ - A specific sequence must be followed
56
+
57
+ ### Test with All Models
58
+
59
+ Skills act as additions to models, so effectiveness depends on the underlying model. Test your skill with all models you plan to use it with.
60
+
61
+ ## Naming Conventions
62
+
63
+ Use consistent naming patterns. We recommend **gerund form** (verb + -ing) for skill names.
64
+
65
+ **Good naming examples (gerund form)**:
66
+ - `processing-pdfs`
67
+ - `analyzing-spreadsheets`
68
+ - `managing-databases`
69
+ - `testing-code`
70
+ - `writing-documentation`
71
+
72
+ **Acceptable alternatives**:
73
+ - Noun phrases: `pdf-processing`, `spreadsheet-analysis`
74
+ - Action-oriented: `process-pdfs`, `analyze-spreadsheets`
75
+
76
+ **Avoid**:
77
+ - Vague names: `helper`, `utils`, `tools`
78
+ - Overly generic: `documents`, `data`, `files`
79
+ - Inconsistent patterns within your skill collection
80
+
81
+ ## Writing Effective Descriptions
82
+
83
+ The `description` field enables skill discovery and should include both what the skill does and when to use it.
84
+
85
+ **Always write in third person**. The description is injected into the system prompt.
86
+
87
+ - **Good:** "Processes Excel files and generates reports"
88
+ - **Avoid:** "I can help you process Excel files"
89
+ - **Avoid:** "You can use this to process Excel files"
90
+
91
+ **Be specific and include key terms**. Include both what the skill does and specific triggers/contexts for when to use it.
92
+
93
+ **Effective examples:**
94
+
95
+ ```yaml
96
+ description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
97
+ ```
98
+
99
+ ```yaml
100
+ description: Analyze Excel spreadsheets, create pivot tables, generate charts. Use when analyzing Excel files, spreadsheets, tabular data, or .xlsx files.
101
+ ```
102
+
103
+ **Avoid vague descriptions:**
104
+ ```yaml
105
+ description: Helps with documents # Too vague
106
+ ```
107
+
108
+ ## Progressive Disclosure Patterns
109
+
110
+ ### Pattern 1: High-level guide with references
111
+
112
+ ````markdown
113
+ # PDF Processing
114
+
115
+ ## Quick start
116
+
117
+ Extract text with pdfplumber:
118
+ ```python
119
+ import pdfplumber
120
+ with pdfplumber.open("file.pdf") as pdf:
121
+ text = pdf.pages[0].extract_text()
122
+ ```
123
+
124
+ ## Advanced features
125
+
126
+ **Form filling**: See [FORMS.md](FORMS.md) for complete guide
127
+ **API reference**: See [REFERENCE.md](REFERENCE.md) for all methods
128
+ **Examples**: See [EXAMPLES.md](EXAMPLES.md) for common patterns
129
+ ````
130
+
131
+ ### Pattern 2: Domain-specific organization
132
+
133
+ For skills with multiple domains, organize content by domain:
134
+
135
+ ```
136
+ bigquery-skill/
137
+ ├── SKILL.md (overview and navigation)
138
+ └── reference/
139
+ ├── finance.md (revenue, billing metrics)
140
+ ├── sales.md (opportunities, pipeline)
141
+ ├── product.md (API usage, features)
142
+ └── marketing.md (campaigns, attribution)
143
+ ```
144
+
145
+ ### Pattern 3: Conditional details
146
+
147
+ Show basic content, link to advanced content:
148
+
149
+ ```markdown
150
+ # DOCX Processing
151
+
152
+ ## Creating documents
153
+
154
+ Use docx-js for new documents. See [DOCX-JS.md](DOCX-JS.md).
155
+
156
+ ## Editing documents
157
+
158
+ For simple edits, modify the XML directly.
159
+
160
+ **For tracked changes**: See [REDLINING.md](REDLINING.md)
161
+ **For OOXML details**: See [OOXML.md](OOXML.md)
162
+ ```
163
+
164
+ ### Avoid Deeply Nested References
165
+
166
+ Keep references one level deep from SKILL.md. All reference files should link directly from SKILL.md to ensure agents read complete files when needed.
167
+
168
+ **Bad example: Too deep**:
169
+ ```markdown
170
+ # SKILL.md
171
+ See [advanced.md](advanced.md)...
172
+
173
+ # advanced.md
174
+ See [details.md](details.md)...
175
+
176
+ # details.md
177
+ Here's the actual information...
178
+ ```
179
+
180
+ **Good example: One level deep**:
181
+ ```markdown
182
+ # SKILL.md
183
+
184
+ **Basic usage**: [instructions in SKILL.md]
185
+ **Advanced features**: See [advanced.md](advanced.md)
186
+ **API reference**: See [reference.md](reference.md)
187
+ **Examples**: See [examples.md](examples.md)
188
+ ```
189
+
190
+ ### Structure Longer Reference Files
191
+
192
+ For reference files longer than 100 lines, include a table of contents at the top. This ensures agents can see the full scope of available information even when previewing with partial reads.
193
+
194
+ ## Workflows and Feedback Loops
195
+
196
+ ### Use Workflows for Complex Tasks
197
+
198
+ Break complex operations into clear, sequential steps. For particularly complex workflows, provide a checklist that the agent can copy into its response and check off as it progresses.
199
+
200
+ **Example: PDF form filling workflow**
201
+
202
+ ````markdown
203
+ ## PDF form filling workflow
204
+
205
+ Copy this checklist and check off items as you complete them:
206
+
207
+ ```
208
+ Task Progress:
209
+ - [ ] Step 1: Analyze the form (run analyze_form.py)
210
+ - [ ] Step 2: Create field mapping (edit fields.json)
211
+ - [ ] Step 3: Validate mapping (run validate_fields.py)
212
+ - [ ] Step 4: Fill the form (run fill_form.py)
213
+ - [ ] Step 5: Verify output (run verify_output.py)
214
+ ```
215
+
216
+ **Step 1: Analyze the form**
217
+
218
+ Run: `python scripts/analyze_form.py input.pdf`
219
+
220
+ This extracts form fields and their locations, saving to `fields.json`.
221
+ ````
222
+
223
+ ### Implement Feedback Loops
224
+
225
+ **Common pattern**: Run validator → fix errors → repeat
226
+
227
+ This pattern greatly improves output quality.
228
+
229
+ **Example: Document editing process**
230
+
231
+ ```markdown
232
+ ## Document editing process
233
+
234
+ 1. Make your edits to `word/document.xml`
235
+ 2. **Validate immediately**: `python ooxml/scripts/validate.py unpacked_dir/`
236
+ 3. If validation fails:
237
+ - Review the error message carefully
238
+ - Fix the issues in the XML
239
+ - Run validation again
240
+ 4. **Only proceed when validation passes**
241
+ 5. Rebuild: `python ooxml/scripts/pack.py unpacked_dir/ output.docx`
242
+ 6. Test the output document
243
+ ```
244
+
245
+ ## Content Guidelines
246
+
247
+ ### Avoid Time-Sensitive Information
248
+
249
+ Don't include information that will become outdated:
250
+
251
+ **Bad example: Time-sensitive**:
252
+ ```markdown
253
+ If you're doing this before August 2025, use the old API.
254
+ After August 2025, use the new API.
255
+ ```
256
+
257
+ **Good example** (use "old patterns" section):
258
+ ```markdown
259
+ ## Current method
260
+
261
+ Use the v2 API endpoint: `api.example.com/v2/messages`
262
+
263
+ ## Old patterns
264
+
265
+ <details>
266
+ <summary>Legacy v1 API (deprecated 2025-08)</summary>
267
+
268
+ The v1 API used: `api.example.com/v1/messages`
269
+
270
+ This endpoint is no longer supported.
271
+ </details>
272
+ ```
273
+
274
+ ### Use Consistent Terminology
275
+
276
+ Choose one term and use it throughout the skill:
277
+
278
+ **Good - Consistent**:
279
+ - Always "API endpoint"
280
+ - Always "field"
281
+ - Always "extract"
282
+
283
+ **Bad - Inconsistent**:
284
+ - Mix "API endpoint", "URL", "API route", "path"
285
+ - Mix "field", "box", "element", "control"
286
+ - Mix "extract", "pull", "get", "retrieve"
287
+
288
+ ## Common Patterns
289
+
290
+ ### Template Pattern
291
+
292
+ Provide templates for output format. Match the level of strictness to your needs.
293
+
294
+ **For strict requirements**:
295
+
296
+ ````markdown
297
+ ## Report structure
298
+
299
+ ALWAYS use this exact template structure:
300
+
301
+ ```markdown
302
+ # [Analysis Title]
303
+
304
+ ## Executive summary
305
+ [One-paragraph overview of key findings]
306
+
307
+ ## Key findings
308
+ - Finding 1 with supporting data
309
+ - Finding 2 with supporting data
310
+ ```
311
+
312
+ **For flexible guidance**:
313
+
314
+ ````markdown
315
+ ## Report structure
316
+
317
+ Here is a sensible default format, but use your best judgment:
318
+
319
+ ```markdown
320
+ # [Analysis Title]
321
+
322
+ ## Executive summary
323
+ [Overview]
324
+
325
+ ## Key findings
326
+ [Adapt sections based on what you discover]
327
+ ```
328
+
329
+ Adjust sections as needed for the specific analysis type.
330
+ ````
331
+
332
+ ### Examples Pattern
333
+
334
+ For skills where output quality depends on seeing examples, provide input/output pairs:
335
+
336
+ ````markdown
337
+ ## Commit message format
338
+
339
+ Generate commit messages following these examples:
340
+
341
+ **Example 1:**
342
+ Input: Added user authentication with JWT tokens
343
+ Output:
344
+ ```
345
+ feat(auth): implement JWT-based authentication
346
+
347
+ Add login endpoint and token validation middleware
348
+ ```
349
+
350
+ **Example 2:**
351
+ Input: Fixed bug where dates displayed incorrectly in reports
352
+ Output:
353
+ ```
354
+ fix(reports): correct date formatting in timezone conversion
355
+
356
+ Use UTC timestamps consistently across report generation
357
+ ```
358
+ ````
359
+
360
+ ## Anti-Patterns to Avoid
361
+
362
+ ### Avoid Windows-Style Paths
363
+
364
+ Always use forward slashes in file paths, even on Windows:
365
+
366
+ - ✓ **Good**: `scripts/helper.py`, `reference/guide.md`
367
+ - ✗ **Avoid**: `scripts\helper.py`, `reference\guide.md`
368
+
369
+ ### Avoid Offering Too Many Options
370
+
371
+ Don't present multiple approaches unless necessary:
372
+
373
+ ````markdown
374
+ **Bad example: Too many choices**:
375
+ "You can use pypdf, or pdfplumber, or PyMuPDF, or pdf2image, or..."
376
+
377
+ **Good example: Provide a default**:
378
+ "Use pdfplumber for text extraction:
379
+ ```python
380
+ import pdfplumber
381
+ ```
382
+
383
+ For scanned PDFs requiring OCR, use pdf2image with pytesseract instead."
384
+ ````
385
+
386
+ ## Evaluation and Iteration
387
+
388
+ ### Build Evaluations First
389
+
390
+ **Create evaluations BEFORE writing extensive documentation.** This ensures your skill solves real problems rather than documenting imagined ones.
391
+
392
+ **Evaluation-driven development:**
393
+ 1. **Identify gaps**: Run agent on representative tasks without a skill. Document specific failures or missing context
394
+ 2. **Create evaluations**: Build three scenarios that test these gaps
395
+ 3. **Establish baseline**: Measure agent's performance without the skill
396
+ 4. **Write minimal instructions**: Create just enough content to address the gaps and pass evaluations
397
+ 5. **Iterate**: Execute evaluations, compare against baseline, and refine
398
+
399
+ ### Develop Skills Iteratively
400
+
401
+ Work with one instance of the agent ("Agent A") to create a skill that will be used by other instances ("Agent B"). Agent A helps you design and refine instructions, while Agent B tests them in real tasks.
402
+
403
+ **Creating a new skill:**
404
+
405
+ 1. **Complete a task without a skill**: Work through a problem with Agent A using normal prompting. Notice what information you repeatedly provide.
406
+
407
+ 2. **Identify the reusable pattern**: After completing the task, identify what context you provided that would be useful for similar future tasks.
408
+
409
+ 3. **Ask Agent A to create a skill**: "Create a skill that captures this pattern we just used. Include the schemas, naming conventions, and filtering rules."
410
+
411
+ 4. **Review for conciseness**: Check that Agent A hasn't added unnecessary explanations.
412
+
413
+ 5. **Improve information architecture**: Ask Agent A to organize the content more effectively.
414
+
415
+ 6. **Test on similar tasks**: Use the skill with Agent B on related use cases.
416
+
417
+ 7. **Iterate based on observation**: If Agent B struggles or misses something, return to Agent A with specifics.
418
+
419
+ ## Checklist for Effective Skills
420
+
421
+ Before sharing a skill, verify:
422
+
423
+ ### Core Quality
424
+ - [ ] Description is specific and includes key terms
425
+ - [ ] Description includes both what the skill does and when to use it
426
+ - [ ] SKILL.md body is under 200 lines (ideally <500 for optimal performance)
427
+ - [ ] Additional details are in separate files (if needed)
428
+ - [ ] No time-sensitive information (or in "old patterns" section)
429
+ - [ ] Consistent terminology throughout
430
+ - [ ] Examples are concrete, not abstract
431
+ - [ ] File references are one level deep
432
+ - [ ] Progressive disclosure used appropriately
433
+ - [ ] Workflows have clear steps
434
+
435
+ ### Code and Scripts
436
+ - [ ] Scripts solve problems rather than punt to agent
437
+ - [ ] Error handling is explicit and helpful
438
+ - [ ] No "voodoo constants" (all values justified)
439
+ - [ ] Required packages listed in instructions
440
+ - [ ] Scripts have clear documentation
441
+ - [ ] No Windows-style paths (all forward slashes)
442
+ - [ ] Validation/verification steps for critical operations
443
+ - [ ] Feedback loops included for quality-critical tasks
444
+
445
+ ### Testing
446
+ - [ ] At least three evaluations created
447
+ - [ ] Tested with different models (if applicable)
448
+ - [ ] Tested with real usage scenarios
449
+ - [ ] Team feedback incorporated (if applicable)
@@ -0,0 +1,69 @@
1
+ # Good Skill Examples
2
+
3
+ ## Well-Structured Skills
4
+
5
+ ### Example 1: Language Skill
6
+
7
+ **SKILL.md** (<200 lines):
8
+ - Core principles
9
+ - When to use
10
+ - Key patterns
11
+ - Reference to `references/advanced-patterns.md`
12
+
13
+ **references/advanced-patterns.md**:
14
+ - Detailed type patterns
15
+ - Advanced features
16
+ - Complex examples
17
+
18
+ ### Example 2: Framework Skill
19
+
20
+ **SKILL.md** (<200 lines):
21
+ - Architecture overview
22
+ - Key principles
23
+ - When to use
24
+ - References to multiple reference files
25
+
26
+ **references/**:
27
+ - `components.md` - Component patterns
28
+ - `routing.md` - Routing patterns
29
+ - `forms.md` - Form handling
30
+ - `styling.md` - Styling patterns
31
+
32
+ ### Example 3: Workflow Skill
33
+
34
+ **SKILL.md** (<200 lines):
35
+ - Workflow overview
36
+ - When to use
37
+ - Core steps
38
+ - Reference to scripts and references
39
+
40
+ **scripts/**:
41
+ - `setup.sh` - Setup script
42
+ - `validate.py` - Validation script
43
+
44
+ **references/**:
45
+ - `best-practices.md` - Detailed practices
46
+ - `troubleshooting.md` - Common issues
47
+
48
+ ## Anti-Examples
49
+
50
+ ### Bad: Monolithic Skill
51
+
52
+ - 1000+ line SKILL.md with everything
53
+ - No references directory
54
+ - Hard to navigate
55
+ - Slow activation
56
+
57
+ ### Bad: Over-Fragmented
58
+
59
+ - SKILL.md too minimal (10 lines)
60
+ - 50+ tiny reference files
61
+ - No clear structure
62
+ - Hard to understand
63
+
64
+ ### Good: Balanced
65
+
66
+ - SKILL.md ~150 lines with clear structure
67
+ - 5-10 focused reference files
68
+ - Clear organization
69
+ - Fast activation
@@ -0,0 +1,25 @@
1
+ # Progressive Disclosure
2
+
3
+ The 200-line rule matters, it's the difference between fast navigation and context sludge.
4
+
5
+ ## Core Principle
6
+
7
+ Progressive disclosure isn't optional. Every skill over 200 lines should be refactored. No exceptions. If you can't fit the core instructions in 200 lines, you're putting too much in the entry point.
8
+
9
+ **Note**: While 200 lines is the strict target, skills up to 500 lines can still perform well. However, splitting content into references is always preferred for optimal performance.
10
+
11
+ ## References are First-Class Citizens
12
+
13
+ ### Structure
14
+
15
+ - **SKILL.md**: High-level overview, when to use, core principles (<200 lines)
16
+ - **references/**: Detailed documentation loaded on-demand
17
+ - Each reference file should also be <200 lines when possible
18
+
19
+ ### Example
20
+
21
+ Instead of a 1000-line SKILL.md:
22
+ - SKILL.md: Core principles, architecture overview (150 lines)
23
+ - references/components.md: Component patterns (150 lines)
24
+ - references/routing.md: Routing patterns (100 lines)
25
+ - references/forms.md: Form handling (120 lines)
@@ -0,0 +1,55 @@
1
+ # Skill Structure
2
+
3
+ ## SKILL.md Requirements
4
+
5
+ **File name:** `SKILL.md` (uppercase)
6
+ **File size:** Under 200 lines
7
+
8
+ ### YAML Frontmatter
9
+
10
+ ```yaml
11
+ ---
12
+ name: skill-name
13
+ description: Short description of what this skill does and when to use it.
14
+ ---
15
+ ```
16
+
17
+ **Metadata Quality:** The `name` and `description` determine when the agent will use the skill. Be specific about what the skill does and when to use it.
18
+
19
+ ### Writing Style
20
+
21
+ - Use imperative/infinitive form (verb-first instructions)
22
+ - Use objective, instructional language
23
+ - Example: "To accomplish X, do Y" rather than "You should do X"
24
+
25
+ ### Content Organization
26
+
27
+ 1. Purpose of the skill (few sentences)
28
+ 2. When should the skill be used
29
+ 3. How to use the skill (reference bundled resources)
30
+ 4. References section pointing to `references/` files
31
+
32
+ ## Bundled Resources
33
+
34
+ ### Scripts (`scripts/`)
35
+
36
+ - Executable code for deterministic reliability
37
+ - Prefer Node.js or Python over Bash (better Windows support)
38
+ - Include `requirements.txt` for Python scripts
39
+ - Respect `.env` files in order: `process.env` > skill-local `.env` > project-level `.env` (adjust paths based on the agent harness)
40
+ - Create `.env.example` file
41
+ - Always write tests
42
+
43
+ ### References (`references/`)
44
+
45
+ - Documentation loaded as needed
46
+ - Keep files <200 lines when possible
47
+ - Can reference other markdown files or scripts
48
+ - Sacrifice grammar for concision when needed
49
+ - Avoid duplication with SKILL.md
50
+
51
+ ### Assets (`assets/`)
52
+
53
+ - Files not loaded into context
54
+ - Used within output agent produces
55
+ - Examples: templates, images, icons, fonts, boilerplate code
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: debug
3
+ description: Reproduce, minimize, diagnose, fix, and regression-test a bug. Use with /debug for broken, failing, slow, or confusing behavior.
4
+ ---
5
+
6
+ # Debug
7
+
8
+ Use `/debug` for broken, failing, slow, or confusing behavior.
9
+
10
+ Do:
11
+ - Reproduce first.
12
+ - Minimize the case.
13
+ - Form ranked hypotheses.
14
+ - Inspect evidence.
15
+ - Fix root cause, not symptoms.
16
+ - Add or run regression checks.
17
+
18
+ Output:
19
+ - `Repro`
20
+ - `Cause`
21
+ - `Fix`
22
+ - `Regression test`
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: grill-me
3
+ description: Ask one sharp clarification question after codebase research when ambiguity still matters. Use with /grill-me before planning or implementation.
4
+ ---
5
+
6
+ # Grill Me
7
+
8
+ Use `/grill-me` after `/codebase-research` when one decision blocks safe progress.
9
+
10
+ Do:
11
+ - State current understanding in 1-2 bullets.
12
+ - Ask exactly one question.
13
+ - Include a recommended answer.
14
+ - Explain what the answer unlocks.
15
+
16
+ Stop when enough is known for `/ralplan` or direct implementation.
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: jira-ticket
3
+ description: Prepare Jira create, comment, and safe-update payloads with safe dry-run fallback. Use with /jira-ticket when work tracking is requested.
4
+ ---
5
+
6
+ # Jira Ticket
7
+
8
+ Use `/jira-ticket` when work tracking is requested.
9
+
10
+ Do:
11
+ - Create from an approved plan or slice.
12
+ - Comment with implementation or verification evidence.
13
+ - Safely update known simple fields.
14
+ - Do not guess transitions, issue links, project keys, or secrets.
15
+ - If config is missing, output a dry-run payload.
16
+
17
+ Output:
18
+ - `Operation`
19
+ - `Target`
20
+ - `Payload`
21
+ - `Human action`
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: omp-autopilot
3
+ description: Full lightweight flow from research to plan, execution, review, and verification. Use with /omp-autopilot only for clear autonomous work. (Renamed from /autopilot to avoid collision with the Copilot CLI built-in.)
4
+ ---
5
+
6
+ # OMC Autopilot
7
+
8
+ Use `/omp-autopilot` only for clear autonomous work.
9
+
10
+ Flow:
11
+ 1. `/codebase-research`
12
+ 2. `/grill-me` if ambiguity remains
13
+ 3. `/ralplan`
14
+ 4. `/team`, `/ralph`, or `/ultrawork`
15
+ 5. `/code-review`
16
+ 6. `/verify` or `/ultraqa`
17
+ 7. `/jira-ticket` if tracking is needed
18
+
19
+ Do not skip verification.
20
+ Ask only for destructive, credentialed, or materially ambiguous choices.
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: prototype
3
+ description: Build a disposable experiment to answer one design, UI, state, or data-model question. Use with /prototype when a cheap experiment beats guessing.
4
+ ---
5
+
6
+ # Prototype
7
+
8
+ Use `/prototype` when a cheap experiment beats guessing.
9
+
10
+ Do:
11
+ - State the question.
12
+ - Build the smallest throwaway version.
13
+ - Prefer isolated routes, fixtures, or tiny terminal demos.
14
+ - Mark prototype code as disposable.
15
+ - Decide keep, revise, or discard.
16
+
17
+ Output:
18
+ - `Question`
19
+ - `Prototype`
20
+ - `What we learned`
21
+ - `Decision`