unifai 2.0.1

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 (77) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +106 -0
  3. package/dist/adapters/antigravity.d.ts +24 -0
  4. package/dist/adapters/antigravity.d.ts.map +1 -0
  5. package/dist/adapters/base.d.ts +60 -0
  6. package/dist/adapters/base.d.ts.map +1 -0
  7. package/dist/adapters/claude.d.ts +25 -0
  8. package/dist/adapters/claude.d.ts.map +1 -0
  9. package/dist/adapters/copilot.d.ts +25 -0
  10. package/dist/adapters/copilot.d.ts.map +1 -0
  11. package/dist/adapters/cursor.d.ts +30 -0
  12. package/dist/adapters/cursor.d.ts.map +1 -0
  13. package/dist/adapters/index.d.ts +39 -0
  14. package/dist/adapters/index.d.ts.map +1 -0
  15. package/dist/adapters/opencode.d.ts +25 -0
  16. package/dist/adapters/opencode.d.ts.map +1 -0
  17. package/dist/chunk-63EFN7CX.js +450 -0
  18. package/dist/cli.d.ts +3 -0
  19. package/dist/cli.d.ts.map +1 -0
  20. package/dist/cli.js +14908 -0
  21. package/dist/cli.js.map +97 -0
  22. package/dist/commands/agent.d.ts +34 -0
  23. package/dist/commands/agent.d.ts.map +1 -0
  24. package/dist/commands/init.d.ts +16 -0
  25. package/dist/commands/init.d.ts.map +1 -0
  26. package/dist/commands/install.d.ts +8 -0
  27. package/dist/commands/install.d.ts.map +1 -0
  28. package/dist/commands/list.d.ts +8 -0
  29. package/dist/commands/list.d.ts.map +1 -0
  30. package/dist/commands/mcp.d.ts +40 -0
  31. package/dist/commands/mcp.d.ts.map +1 -0
  32. package/dist/commands/remove.d.ts +8 -0
  33. package/dist/commands/remove.d.ts.map +1 -0
  34. package/dist/commands/sync.d.ts +19 -0
  35. package/dist/commands/sync.d.ts.map +1 -0
  36. package/dist/commands/tui.d.ts +14 -0
  37. package/dist/commands/tui.d.ts.map +1 -0
  38. package/dist/data/prompts.d.ts +36 -0
  39. package/dist/data/prompts.d.ts.map +1 -0
  40. package/dist/index.d.ts +16 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +10648 -0
  43. package/dist/index.js.map +82 -0
  44. package/dist/openskill-ai.exe +0 -0
  45. package/dist/registry.d.ts +38 -0
  46. package/dist/registry.d.ts.map +1 -0
  47. package/dist/types/config.d.ts +103 -0
  48. package/dist/types/config.d.ts.map +1 -0
  49. package/dist/types/index.d.ts +8 -0
  50. package/dist/types/index.d.ts.map +1 -0
  51. package/dist/types.d.ts +23 -0
  52. package/dist/types.d.ts.map +1 -0
  53. package/dist/utils/agents.d.ts +15 -0
  54. package/dist/utils/agents.d.ts.map +1 -0
  55. package/dist/utils/fs-helpers.d.ts +29 -0
  56. package/dist/utils/fs-helpers.d.ts.map +1 -0
  57. package/dist/utils/git.d.ts +23 -0
  58. package/dist/utils/git.d.ts.map +1 -0
  59. package/dist/utils/installer.d.ts +37 -0
  60. package/dist/utils/installer.d.ts.map +1 -0
  61. package/dist/utils/project-detector.d.ts +23 -0
  62. package/dist/utils/project-detector.d.ts.map +1 -0
  63. package/dist/utils/readme-generator.d.ts +9 -0
  64. package/dist/utils/readme-generator.d.ts.map +1 -0
  65. package/dist/utils/skills.d.ts +11 -0
  66. package/dist/utils/skills.d.ts.map +1 -0
  67. package/package.json +78 -0
  68. package/skills/skill-writer-skills/AGENTS.md +637 -0
  69. package/skills/skill-writer-skills/README.md +49 -0
  70. package/skills/skill-writer-skills/SKILL.md +97 -0
  71. package/skills/skill-writer-skills/metadata.json +17 -0
  72. package/skills/skill-writer-skills/references/common-pitfalls.md +291 -0
  73. package/skills/skill-writer-skills/references/core-principles.md +147 -0
  74. package/skills/skill-writer-skills/references/creation-process.md +250 -0
  75. package/skills/skill-writer-skills/references/design-patterns.md +300 -0
  76. package/skills/skill-writer-skills/references/skill-anatomy.md +174 -0
  77. package/skills/skill-writer-skills/references/validation-checklist.md +194 -0
@@ -0,0 +1,637 @@
1
+ # Complete Guide to Creating Agent Skills
2
+
3
+ Comprehensive guide for AI agents to create high-quality Skills for any technology, language, or domain.
4
+
5
+ ---
6
+
7
+ ## Table of Contents
8
+
9
+ 1. [Understanding Skills](#1-understanding-skills)
10
+ 2. [Core Principles](#2-core-principles)
11
+ 3. [Skill Anatomy](#3-skill-anatomy)
12
+ 4. [The 6-Step Creation Process](#4-the-6-step-creation-process)
13
+ 5. [Design Patterns](#5-design-patterns)
14
+ 6. [Common Pitfalls](#6-common-pitfalls)
15
+ 7. [Validation Checklist](#7-validation-checklist)
16
+ 8. [Complete Examples](#8-complete-examples)
17
+
18
+ ---
19
+
20
+ ## 1. Understanding Skills
21
+
22
+ ### What Skills Are
23
+
24
+ Skills are modular, self-contained packages that extend AI capabilities by providing:
25
+
26
+ - **Specialized workflows** - Multi-step procedures for specific domains
27
+ - **Tool integrations** - Instructions for working with file formats or APIs
28
+ - **Domain expertise** - Schemas, business logic, conventions
29
+ - **Bundled resources** - Scripts, references, assets for complex tasks
30
+
31
+ Think of skills as "onboarding guides" for specific domains—they transform a general-purpose AI into a specialized agent equipped with procedural knowledge.
32
+
33
+ ### What Skills Are NOT
34
+
35
+ Skills themselves are **not tools**. They are orchestrators/knowledge bases that:
36
+
37
+ - Guide AI on HOW to use tools
38
+ - Provide specialized knowledge and workflows
39
+ - Define best practices for specific domains
40
+ - Bundle reusable resources
41
+
42
+ For skills to be useful, they need actual tools/data/APIs to work with.
43
+
44
+ ---
45
+
46
+ ## 2. Core Principles
47
+
48
+ ### Principle 1: Concise is Key
49
+
50
+ **The context window is a public good.** Skills share context with:
51
+ - System prompt
52
+ - Conversation history
53
+ - Other skills' metadata
54
+ - The actual user request
55
+
56
+ **Default assumption:** Claude is already very smart. Only add context Claude doesn't already have.
57
+
58
+ **Challenge each piece of information:**
59
+ - "Does Claude really need this explanation?"
60
+ - "Does this paragraph justify its token cost?"
61
+ - "Can I show this with an example instead of explaining it?"
62
+
63
+ **Prefer examples over explanations:**
64
+
65
+ ❌ Verbose:
66
+ ```markdown
67
+ When processing user data, you should validate each field according
68
+ to the schema. The validation process involves checking that required
69
+ fields are present, that data types match the expected types, and that
70
+ values fall within acceptable ranges.
71
+ ```
72
+
73
+ ✓ Concise:
74
+ ```markdown
75
+ Validate fields against schema:
76
+ - Required fields present
77
+ - Types match
78
+ - Values in range
79
+ ```
80
+
81
+ ### Principle 2: Degrees of Freedom
82
+
83
+ Match the level of specificity to the task's fragility and variability.
84
+
85
+ | Freedom Level | Use When | Example |
86
+ |--------------|----------|---------|
87
+ | **High** (text) | Multiple approaches valid, context-dependent | "Analyze data and choose appropriate visualization" |
88
+ | **Medium** (pseudocode) | Preferred pattern exists, some variation OK | "Query data, apply template, format as [PDF\|HTML\|MD]" |
89
+ | **Low** (scripts) | Fragile operations, consistency critical | "Run validate.py, then transform.py, then output.py" |
90
+
91
+ **Mental model:** Think of Claude exploring a path:
92
+ - Narrow bridge with cliffs → Specific guardrails (low freedom)
93
+ - Open field → Many valid routes (high freedom)
94
+
95
+ ### Principle 3: Progressive Disclosure
96
+
97
+ Skills use a three-level loading system:
98
+
99
+ | Level | Content | Loaded | Purpose |
100
+ |-------|---------|--------|---------|
101
+ | 1. Metadata | name + description (~100 words) | Always | Determines when skill triggers |
102
+ | 2. SKILL.md body | Instructions (<5k words) | When triggered | Core workflow, navigation |
103
+ | 3. Bundled resources | Scripts, refs, assets | As needed | Detailed information |
104
+
105
+ **Guidelines:**
106
+ - Keep SKILL.md under 500 lines
107
+ - Move details to references/ when approaching limit
108
+ - Core workflow in SKILL.md, specifics in references
109
+
110
+ ---
111
+
112
+ ## 3. Skill Anatomy
113
+
114
+ ### Directory Structure
115
+
116
+ ```
117
+ skill-name/
118
+ ├── SKILL.md (REQUIRED)
119
+ │ ├── YAML frontmatter (REQUIRED)
120
+ │ │ ├── name: (REQUIRED)
121
+ │ │ └── description: (REQUIRED)
122
+ │ └── Markdown instructions (REQUIRED)
123
+ └── Bundled Resources (OPTIONAL)
124
+ ├── scripts/ - Executable code
125
+ ├── references/ - Documentation
126
+ └── assets/ - Files for output
127
+ ```
128
+
129
+ ### SKILL.md
130
+
131
+ Every SKILL.md has two parts:
132
+
133
+ #### 1. Frontmatter (YAML)
134
+
135
+ ```yaml
136
+ ---
137
+ name: skill-name
138
+ description: What it does and when to use it.
139
+ ---
140
+ ```
141
+
142
+ **Name field:**
143
+ - Lowercase letters, numbers, hyphens only
144
+ - Must match directory name
145
+ - Max 64 characters
146
+
147
+ ✓ Good: `pdf-processor`, `git-commit-helper`
148
+ ❌ Bad: `PDF_Processor`, `Git Commits!`
149
+
150
+ **Description field:**
151
+ - Include BOTH what the skill does AND when to trigger
152
+ - Max 1024 characters
153
+ - This is the PRIMARY triggering mechanism
154
+
155
+ ✓ Good:
156
+ ```yaml
157
+ description: Extract text and tables from PDF files, fill forms,
158
+ merge documents. Use when working with PDF files or when the user
159
+ mentions PDFs, forms, document extraction, or .pdf files.
160
+ ```
161
+
162
+ ❌ Bad:
163
+ ```yaml
164
+ description: Helps with documents
165
+ ```
166
+
167
+ #### 2. Body (Markdown)
168
+
169
+ - Only loaded AFTER skill triggers
170
+ - Keep under 500 lines
171
+ - Use imperative form
172
+ - Reference bundled resources clearly
173
+
174
+ ### Bundled Resources
175
+
176
+ #### scripts/ Directory
177
+
178
+ **Purpose:** Executable code for deterministic tasks.
179
+
180
+ **When to include:**
181
+ - Same code rewritten repeatedly
182
+ - Deterministic reliability needed
183
+ - Complex, error-prone operations
184
+
185
+ **Examples:** `validate_data.py`, `rotate_pdf.py`, `transform.sh`
186
+
187
+ **Benefits:**
188
+ - Token efficient (execute without loading)
189
+ - Deterministic results
190
+ - Reusable across invocations
191
+
192
+ #### references/ Directory
193
+
194
+ **Purpose:** Documentation Claude should reference while working.
195
+
196
+ **When to include:**
197
+ - Large documentation that shouldn't bloat SKILL.md
198
+ - Domain-specific knowledge
199
+ - Detailed guides for specific features
200
+
201
+ **Examples:** `schema.md`, `api_docs.md`, `policies.md`
202
+
203
+ **Best practices:**
204
+ - For large files (>10k words), include search patterns in SKILL.md
205
+ - Info lives in EITHER SKILL.md OR references, not both
206
+
207
+ #### assets/ Directory
208
+
209
+ **Purpose:** Files used in output, not loaded into context.
210
+
211
+ **When to include:**
212
+ - Files for final output
213
+ - Templates to copy or modify
214
+ - Binary files (images, fonts)
215
+
216
+ **Examples:** `logo.png`, `template.pptx`, `frontend-template/`
217
+
218
+ ### Resource Selection Guide
219
+
220
+ | Scenario | Resource | Example |
221
+ |----------|----------|---------|
222
+ | Same code repeated | scripts/ | `rotate_pdf.py` |
223
+ | Need determinism | scripts/ | `validate.py` |
224
+ | Reference docs | references/ | `api_docs.md` |
225
+ | Large schemas | references/ | `database.md` |
226
+ | Images for output | assets/ | `logo.png` |
227
+ | File templates | assets/ | `report.docx` |
228
+
229
+ ### What NOT to Include
230
+
231
+ Do NOT create:
232
+ - README.md
233
+ - CHANGELOG.md
234
+ - INSTALLATION.md
235
+ - CONTRIBUTING.md
236
+ - Test files
237
+
238
+ **Only include what AI needs to do the job.**
239
+
240
+ ---
241
+
242
+ ## 4. The 6-Step Creation Process
243
+
244
+ ### Step 1: Understanding with Concrete Examples
245
+
246
+ **Goal:** Understand concrete examples of skill usage.
247
+
248
+ **Process:**
249
+ 1. Gather concrete examples
250
+ 2. Ask clarifying questions:
251
+ - "What functionality should it support?"
252
+ - "How would it be used?"
253
+ - "What triggers it?"
254
+
255
+ **Conclude when:** Clear sense of required functionality.
256
+
257
+ ### Step 2: Planning Reusable Contents
258
+
259
+ **Goal:** Identify helpful reusable resources.
260
+
261
+ **For each example, analyze:**
262
+ - How to execute from scratch
263
+ - What scripts/references/assets would help
264
+
265
+ **Example analyses:**
266
+
267
+ | Query | Analysis | Resource |
268
+ |-------|----------|----------|
269
+ | "Rotate this PDF" | Same code each time | `scripts/rotate.py` |
270
+ | "Build me a todo app" | Same boilerplate needed | `assets/template/` |
271
+ | "Query user logins" | Need table schemas | `references/schema.md` |
272
+
273
+ **Outcome:** List of resources to include.
274
+
275
+ ### Step 3: Initializing the Skill
276
+
277
+ **Goal:** Create directory structure.
278
+
279
+ ```bash
280
+ mkdir skill-name
281
+ mkdir skill-name/scripts
282
+ mkdir skill-name/references
283
+ mkdir skill-name/assets
284
+ ```
285
+
286
+ Create SKILL.md template:
287
+ ```yaml
288
+ ---
289
+ name: skill-name
290
+ description: [TODO: What + when]
291
+ ---
292
+
293
+ # Skill Name
294
+
295
+ ## Overview
296
+ [TODO]
297
+
298
+ ## Usage
299
+ [TODO]
300
+ ```
301
+
302
+ ### Step 4: Editing the Skill
303
+
304
+ **Mindset:** Create for another AI to use. Include non-obvious, beneficial information.
305
+
306
+ #### Step 4A: Implement Resources
307
+
308
+ **scripts/:** Write and test executable code
309
+ **references/:** Write documentation organized by domain
310
+ **assets/:** Gather/create files for output
311
+
312
+ **Important:** Test all scripts. Delete unused files.
313
+
314
+ #### Step 4B: Write SKILL.md
315
+
316
+ **Frontmatter:**
317
+ ```yaml
318
+ ---
319
+ name: lowercase-hyphenated
320
+ description: WHAT + WHEN with specific triggers
321
+ ---
322
+ ```
323
+
324
+ **Body - Multi-step processes:**
325
+ ```markdown
326
+ Process involves these steps:
327
+ 1. Validate input (run validate.py)
328
+ 2. Transform data (run transform.py)
329
+ 3. Generate output (run output.py)
330
+ ```
331
+
332
+ **Body - Conditional workflows:**
333
+ ```markdown
334
+ 1. Determine type:
335
+ **Creating?** → Creation workflow
336
+ **Editing?** → Editing workflow
337
+
338
+ ## Creation Workflow
339
+ [steps]
340
+
341
+ ## Editing Workflow
342
+ [steps]
343
+ ```
344
+
345
+ ### Step 5: Packaging
346
+
347
+ **Validate before packaging:**
348
+ - [ ] Frontmatter valid
349
+ - [ ] Description includes WHAT and WHEN
350
+ - [ ] SKILL.md under 500 lines
351
+ - [ ] All scripts tested
352
+ - [ ] No unnecessary files
353
+ - [ ] No duplication
354
+
355
+ ### Step 6: Iterate
356
+
357
+ **Workflow:**
358
+ 1. Use on real tasks
359
+ 2. Notice struggles
360
+ 3. Identify improvements
361
+ 4. Implement changes
362
+ 5. Test again
363
+
364
+ **Common iterations:**
365
+ - Users need more examples → Add to references/
366
+ - Scripts fail → Update error handling
367
+ - Wrong triggers → Refine description
368
+ - SKILL.md too long → Move to references/
369
+
370
+ ---
371
+
372
+ ## 5. Design Patterns
373
+
374
+ ### Workflow Patterns
375
+
376
+ #### Sequential Workflow
377
+
378
+ ```markdown
379
+ ## Process
380
+
381
+ 1. Validate input (run validate.py)
382
+ 2. Query database (run query.py)
383
+ 3. Generate report (run report.py)
384
+ 4. Export PDF (run export.py)
385
+ ```
386
+
387
+ #### Conditional Workflow
388
+
389
+ ```markdown
390
+ ## Process
391
+
392
+ 1. Determine task type:
393
+ - **Creating?** → Creation Workflow
394
+ - **Editing?** → Editing Workflow
395
+
396
+ ## Creation Workflow
397
+ 1. Initialize template
398
+ 2. Fill sections
399
+ 3. Validate and save
400
+
401
+ ## Editing Workflow
402
+ 1. Load document
403
+ 2. Apply changes
404
+ 3. Validate and save
405
+ ```
406
+
407
+ ### Output Patterns
408
+
409
+ #### Template Pattern (Strict)
410
+
411
+ ```markdown
412
+ ## Report Structure
413
+
414
+ ALWAYS use this template:
415
+
416
+ # [Title]
417
+
418
+ ## Executive Summary
419
+ [Overview paragraph]
420
+
421
+ ## Key Findings
422
+ - Finding 1
423
+ - Finding 2
424
+
425
+ ## Recommendations
426
+ 1. Recommendation 1
427
+ 2. Recommendation 2
428
+ ```
429
+
430
+ #### Examples Pattern (Flexible)
431
+
432
+ ```markdown
433
+ ## Commit Messages
434
+
435
+ Follow these examples:
436
+
437
+ **Example 1:**
438
+ Input: Added authentication
439
+ Output:
440
+ feat(auth): implement JWT authentication
441
+ Add login endpoint and token validation
442
+
443
+ **Example 2:**
444
+ Input: Fixed date bug
445
+ Output:
446
+ fix(reports): correct date formatting
447
+ Use UTC timestamps consistently
448
+ ```
449
+
450
+ ### Progressive Disclosure Pattern
451
+
452
+ **In SKILL.md:**
453
+ ```markdown
454
+ ## Quick Start
455
+ [Brief example]
456
+
457
+ ## Advanced
458
+ - Feature A: See [refs/a.md](refs/a.md)
459
+ - Feature B: See [refs/b.md](refs/b.md)
460
+ ```
461
+
462
+ **In references/:**
463
+ ```markdown
464
+ # Complete Feature A Guide
465
+ [Detailed documentation]
466
+ ```
467
+
468
+ ---
469
+
470
+ ## 6. Common Pitfalls
471
+
472
+ | Pitfall | Problem | Solution |
473
+ |---------|---------|----------|
474
+ | Verbose SKILL.md | Info Claude knows | Challenge each sentence |
475
+ | "When to use" in body | Body loads AFTER trigger | Put in description |
476
+ | Untested scripts | Scripts fail | Always test |
477
+ | Unnecessary files | README, CHANGELOG | Only include essentials |
478
+ | Duplicated info | Same in SKILL.md and refs | Pick one location |
479
+ | Over-specifying | Rigid for flexible tasks | Match specificity to fragility |
480
+ | No progressive disclosure | SKILL.md too long | Split to references |
481
+
482
+ ---
483
+
484
+ ## 7. Validation Checklist
485
+
486
+ ### Frontmatter
487
+ - [ ] name: lowercase, hyphenated, matches directory
488
+ - [ ] description: WHAT + WHEN + triggers
489
+ - [ ] No extra fields
490
+
491
+ ### SKILL.md
492
+ - [ ] Under 500 lines
493
+ - [ ] Only essential info
494
+ - [ ] Imperative form
495
+ - [ ] Clear resource references
496
+
497
+ ### Resources
498
+ - [ ] scripts/ tested and working
499
+ - [ ] references/ no duplication
500
+ - [ ] assets/ only output files
501
+
502
+ ### Structure
503
+ - [ ] No README, CHANGELOG, etc.
504
+ - [ ] No duplicated information
505
+ - [ ] Appropriate freedom levels
506
+
507
+ ---
508
+
509
+ ## 8. Complete Examples
510
+
511
+ ### Example: Data Validator Skill
512
+
513
+ ```yaml
514
+ ---
515
+ name: data-validator
516
+ description: Validate JSON, CSV, and XML data against schemas. Use when
517
+ validating data files, checking data quality, or ensuring data conforms
518
+ to specifications. Triggers on validation requests, schema checking,
519
+ or data quality analysis.
520
+ ---
521
+
522
+ # Data Validator
523
+
524
+ ## Quick Start
525
+
526
+ Validate JSON against schema:
527
+ ```bash
528
+ python scripts/validate.py data.json --schema schema.json
529
+ ```
530
+
531
+ ## Supported Formats
532
+
533
+ | Format | Script | Schema Format |
534
+ |--------|--------|---------------|
535
+ | JSON | validate.py | JSON Schema |
536
+ | CSV | validate_csv.py | CSV Schema |
537
+ | XML | validate_xml.py | XSD |
538
+
539
+ ## Validation Options
540
+
541
+ ```bash
542
+ # Strict mode (fail on first error)
543
+ python scripts/validate.py data.json --strict
544
+
545
+ # Report mode (collect all errors)
546
+ python scripts/validate.py data.json --report errors.json
547
+ ```
548
+
549
+ ## Custom Rules
550
+
551
+ For custom validation rules, see [references/custom-rules.md](references/custom-rules.md).
552
+
553
+ ## Common Schemas
554
+
555
+ Pre-built schemas available in assets/schemas/:
556
+ - `user.json` - User data
557
+ - `product.json` - Product catalog
558
+ - `order.json` - Order data
559
+ ```
560
+
561
+ **Structure:**
562
+ ```
563
+ data-validator/
564
+ ├── SKILL.md
565
+ ├── scripts/
566
+ │ ├── validate.py
567
+ │ ├── validate_csv.py
568
+ │ └── validate_xml.py
569
+ ├── references/
570
+ │ └── custom-rules.md
571
+ └── assets/
572
+ └── schemas/
573
+ ├── user.json
574
+ ├── product.json
575
+ └── order.json
576
+ ```
577
+
578
+ ---
579
+
580
+ ### Example: Report Generator Skill
581
+
582
+ ```yaml
583
+ ---
584
+ name: report-generator
585
+ description: Generate professional reports including quarterly summaries,
586
+ financial analysis, and executive dashboards. Use when creating business
587
+ reports, data visualizations, or executive summaries. Triggers on Q1/Q2/Q3/Q4
588
+ reports, metrics dashboards, financial documentation, or report requests.
589
+ ---
590
+
591
+ # Report Generator
592
+
593
+ ## Quick Start
594
+
595
+ Generate a quarterly report:
596
+ ```bash
597
+ python scripts/generate.py --quarter Q3 --year 2024 --output report.pdf
598
+ ```
599
+
600
+ ## Report Types
601
+
602
+ | Type | Template | See |
603
+ |------|----------|-----|
604
+ | Quarterly | quarterly.md | [refs/quarterly.md](refs/quarterly.md) |
605
+ | Financial | financial.md | [refs/financial.md](refs/financial.md) |
606
+ | Executive | executive.md | [refs/executive.md](refs/executive.md) |
607
+
608
+ ## Process
609
+
610
+ 1. Select report type
611
+ 2. Gather data (run gather_data.py)
612
+ 3. Generate visualizations (run charts.py)
613
+ 4. Compile report (run compile.py)
614
+ 5. Export to PDF (run export.py)
615
+
616
+ ## Customization
617
+
618
+ For custom report templates, see [references/custom-templates.md](references/custom-templates.md).
619
+ ```
620
+
621
+ ---
622
+
623
+ ## Summary
624
+
625
+ Creating effective skills requires:
626
+
627
+ 1. **Understanding** concrete use cases
628
+ 2. **Planning** reusable resources
629
+ 3. **Following** the three core principles:
630
+ - Concise is key
631
+ - Appropriate degrees of freedom
632
+ - Progressive disclosure
633
+ 4. **Structuring** with proper anatomy
634
+ 5. **Validating** before distribution
635
+ 6. **Iterating** based on real usage
636
+
637
+ Skills are orchestrators, not tools. They guide AI on how to use tools, APIs, and data to accomplish specialized tasks effectively.
@@ -0,0 +1,49 @@
1
+ # Skill Writer
2
+
3
+ A universal meta-skill that guides AI agents to create high-quality Skills for any technology, language, or domain.
4
+
5
+ ## What This Skill Does
6
+
7
+ When an AI agent uses this skill, it learns:
8
+ - **Core principles** for effective skill design
9
+ - **Skill anatomy** - directory structure and file types
10
+ - **6-step creation process** from concept to packaging
11
+ - **Design patterns** for workflows and outputs
12
+ - **Common pitfalls** and how to avoid them
13
+
14
+ ## Structure
15
+
16
+ ```
17
+ skill-writer/
18
+ ├── SKILL.md # Main skill (triggers + overview)
19
+ ├── AGENTS.md # Full compiled guide
20
+ ├── metadata.json # Version and references
21
+ ├── README.md # This file
22
+ └── references/
23
+ ├── core-principles.md
24
+ ├── skill-anatomy.md
25
+ ├── creation-process.md
26
+ ├── design-patterns.md
27
+ ├── common-pitfalls.md
28
+ └── validation-checklist.md
29
+ ```
30
+
31
+ ## Usage
32
+
33
+ The skill activates when users ask to:
34
+ - Create a new skill
35
+ - Write or update SKILL.md files
36
+ - Structure skills with scripts/references/assets
37
+ - Package or validate skills
38
+ - Convert workflows into reusable skills
39
+
40
+ ## Key Principles
41
+
42
+ 1. **Concise is Key** - Context window is shared; every token costs
43
+ 2. **Degrees of Freedom** - Match specificity to task fragility
44
+ 3. **Progressive Disclosure** - Load details only when needed
45
+
46
+ ## References
47
+
48
+ - [Claude Skills Documentation](https://claude.ai/docs/skills)
49
+ - [Vercel Agent Skills](https://github.com/vercel-labs/agent-skills)