FTC Metrics Skill Builder
This skill teaches you how to create high-quality skills for the FTC Metrics project. Skills are knowledge packs that help AI coding agents with specific technologies, patterns, or workflows.
Quick Reference
| Element |
Purpose |
Required |
name |
Unique identifier (kebab-case) |
Yes |
description |
WHAT it does + WHEN to use it |
Yes |
license |
Usually MIT |
Recommended |
compatibility |
Which agents support it |
Recommended |
metadata |
Author, version, category |
Recommended |
SKILL.md |
Main instructions (<500 lines) |
Yes |
Skill Categories for FTC Metrics
| Category |
Description |
Examples |
database |
Database and ORM |
Prisma, PostgreSQL patterns |
api |
Backend API patterns |
Hono, authentication, FTC Events API |
frontend |
UI components and pages |
Next.js, React, Tailwind |
analytics |
Stats and calculations |
EPA, OPR, match predictions |
realtime |
WebSocket and live updates |
Soketi, Pusher patterns |
tools |
Development utilities |
Testing, deployment, skill creation |
Skill Location
All skills are stored in:
.claude/skills/<skill-name>/
├── SKILL.md # Main instructions (required)
├── API_REFERENCE.md # Detailed API docs (optional)
├── TROUBLESHOOTING.md # Common issues (optional)
└── EXAMPLES.md # Extended examples (optional)
Writing the Description (CRITICAL)
The description field determines when your skill activates. It must answer:
- WHAT does this skill do?
- WHEN should Claude use it?
Good Description
description: >-
Configure and use Prisma 7 ORM with PostgreSQL driver adapters.
Use when setting up database schemas, migrations, or troubleshooting
Prisma configuration in the FTC Metrics project.
Bad Description
description: Helps with database stuff.
FTC Metrics Trigger Words
Include these in descriptions where relevant:
Stack:
- "Prisma", "PostgreSQL", "database", "schema", "migration"
- "Next.js", "React", "Tailwind", "TypeScript"
- "Hono", "API", "endpoint", "middleware"
- "NextAuth", "OAuth", "authentication"
- "Soketi", "WebSocket", "real-time", "Pusher"
Domain:
- "FTC", "FIRST Tech Challenge", "scouting", "match data"
- "EPA", "OPR", "analytics", "predictions"
- "teams", "events", "matches", "scores"
- "DECODE", "Into The Deep", "game scoring"
Frontmatter Reference
---
name: your-skill-name # Required: kebab-case, max 64 chars
description: >- # Required: max 1024 chars
What this skill does.
Use when [trigger 1], [trigger 2], or [trigger 3].
license: MIT # Recommended
compatibility: [Claude Code] # Array format
metadata:
author: ftcmetrics
version: "1.0.0"
category: database # See categories above
allowed-tools: Read, Write, Edit # Optional: restrict tool access
---
Content Structure
Quick Start Section
Essential setup that 80% of users need.
Key Concepts
Table of important terms and their meanings.
Common Patterns
Frequently used code patterns with examples.
Anti-Patterns
What NOT to do, marked with ❌
Examples
Good AND Bad examples side by side.
Reference Documentation
Links to detailed files for on-demand loading.
Complete SKILL.md Template
---
name: your-skill-name
description: >-
[What this skill does - specific capabilities].
Use when [trigger 1], [trigger 2], or [trigger 3].
license: MIT
compatibility: [Claude Code]
metadata:
author: ftcmetrics
version: "1.0.0"
category: database | api | frontend | analytics | realtime | tools
---
# [Skill Name]
Brief introduction - what this helps accomplish.
## Quick Start
### Installation/Setup
[How to add dependencies or configure]
### Basic Usage
\`\`\`typescript
// Minimal working example
\`\`\`
## Key Concepts
| Term | Description |
|------|-------------|
| **Term 1** | What it means |
| **Term 2** | What it means |
## Common Patterns
### Pattern 1: [Descriptive Name]
\`\`\`typescript
// Code example
\`\`\`
## Anti-Patterns
- ❌ [Thing to avoid] - [Why it's bad]
- ❌ [Thing to avoid] - [Why it's bad]
## Examples
### Good: [Descriptive title]
\`\`\`typescript
// Working example with comments
\`\`\`
### Bad: [Descriptive title]
\`\`\`typescript
// ❌ What not to do
\`\`\`
## References
- [Official Documentation](https://example.com/docs)
Skill Creation Checklist
Before finalizing your skill:
Creating a New Skill
Create directory:
mkdir -p .claude/skills/your-skill-name
Create SKILL.md with frontmatter and content
Test by asking Claude about the skill's topic
Claude should use the skill automatically based on triggers
1---2name: skill-builder-123description: Create, structure, and optimize skills for the FTC Metrics project. Use when creating a new skill, improving an existing skill, or needing guidance on skill design patterns, triggers, frontmatter, and progressive disclosure.4license: MIT5---6
7# FTC Metrics Skill Builder
8
9This skill teaches you how to create high-quality skills for the FTC Metrics project. Skills are knowledge packs that help AI coding agents with specific technologies, patterns, or workflows.
10
11## Quick Reference
12
13| Element | Purpose | Required |
14|---------|---------|----------|
15| `name` | Unique identifier (kebab-case) | Yes |
16| `description` | WHAT it does + WHEN to use it | Yes |
17| `license` | Usually MIT | Recommended |
18| `compatibility` | Which agents support it | Recommended |
19| `metadata` | Author, version, category | Recommended |
20| `SKILL.md` | Main instructions (<500 lines) | Yes |
21
22## Skill Categories for FTC Metrics
23
24| Category | Description | Examples |
25|----------|-------------|----------|
26| `database` | Database and ORM | Prisma, PostgreSQL patterns |
27| `api` | Backend API patterns | Hono, authentication, FTC Events API |
28| `frontend` | UI components and pages | Next.js, React, Tailwind |
29| `analytics` | Stats and calculations | EPA, OPR, match predictions |
30| `realtime` | WebSocket and live updates | Soketi, Pusher patterns |
31| `tools` | Development utilities | Testing, deployment, skill creation |
32
33## Skill Location
34
35All skills are stored in:
36```
37.claude/skills/<skill-name>/
38├── SKILL.md # Main instructions (required)
39├── API_REFERENCE.md # Detailed API docs (optional)
40├── TROUBLESHOOTING.md # Common issues (optional)
41└── EXAMPLES.md # Extended examples (optional)
42```
43
44## Writing the Description (CRITICAL)
45
46The `description` field determines when your skill activates. It must answer:
471. **WHAT** does this skill do?
482. **WHEN** should Claude use it?
49
50### Good Description
51
52```yaml
53description: >-
54 Configure and use Prisma 7 ORM with PostgreSQL driver adapters.
55 Use when setting up database schemas, migrations, or troubleshooting
56 Prisma configuration in the FTC Metrics project.
57```
58
59### Bad Description
60
61```yaml
62description: Helps with database stuff.
63```
64
65### FTC Metrics Trigger Words
66
67Include these in descriptions where relevant:
68
69**Stack:**
70- "Prisma", "PostgreSQL", "database", "schema", "migration"
71- "Next.js", "React", "Tailwind", "TypeScript"
72- "Hono", "API", "endpoint", "middleware"
73- "NextAuth", "OAuth", "authentication"
74- "Soketi", "WebSocket", "real-time", "Pusher"
75
76**Domain:**
77- "FTC", "FIRST Tech Challenge", "scouting", "match data"
78- "EPA", "OPR", "analytics", "predictions"
79- "teams", "events", "matches", "scores"
80- "DECODE", "Into The Deep", "game scoring"
81
82## Frontmatter Reference
83
84```yaml
85---
86name: your-skill-name # Required: kebab-case, max 64 chars
87description: >- # Required: max 1024 chars
88 What this skill does.
89 Use when [trigger 1], [trigger 2], or [trigger 3].
90license: MIT # Recommended
91compatibility: [Claude Code] # Array format
92metadata:
93 author: ftcmetrics
94 version: "1.0.0"
95 category: database # See categories above
96allowed-tools: Read, Write, Edit # Optional: restrict tool access
97---
98```
99
100## Content Structure
101
102### Quick Start Section
103Essential setup that 80% of users need.
104
105### Key Concepts
106Table of important terms and their meanings.
107
108### Common Patterns
109Frequently used code patterns with examples.
110
111### Anti-Patterns
112What NOT to do, marked with ❌
113
114### Examples
115Good AND Bad examples side by side.
116
117### Reference Documentation
118Links to detailed files for on-demand loading.
119
120## Complete SKILL.md Template
121
122```markdown
123---
124name: your-skill-name
125description: >-
126 [What this skill does - specific capabilities].
127 Use when [trigger 1], [trigger 2], or [trigger 3].
128license: MIT
129compatibility: [Claude Code]
130metadata:
131 author: ftcmetrics
132 version: "1.0.0"
133 category: database | api | frontend | analytics | realtime | tools
134---
135
136# [Skill Name]
137
138Brief introduction - what this helps accomplish.
139
140## Quick Start
141
142### Installation/Setup
143[How to add dependencies or configure]
144
145### Basic Usage
146\`\`\`typescript
147// Minimal working example
148\`\`\`
149
150## Key Concepts
151
152| Term | Description |
153|------|-------------|
154| **Term 1** | What it means |
155| **Term 2** | What it means |
156
157## Common Patterns
158
159### Pattern 1: [Descriptive Name]
160\`\`\`typescript
161// Code example
162\`\`\`
163
164## Anti-Patterns
165
166- ❌ [Thing to avoid] - [Why it's bad]
167- ❌ [Thing to avoid] - [Why it's bad]
168
169## Examples
170
171### Good: [Descriptive title]
172\`\`\`typescript
173// Working example with comments
174\`\`\`
175
176### Bad: [Descriptive title]
177\`\`\`typescript
178// ❌ What not to do
179\`\`\`
180
181## References
182
183- [Official Documentation](https://example.com/docs)
184```
185
186## Skill Creation Checklist
187
188Before finalizing your skill:
189
190- [ ] `name` in frontmatter is kebab-case
191- [ ] `description` includes WHAT and WHEN triggers
192- [ ] `description` includes relevant keywords
193- [ ] Under ~500 lines
194- [ ] Includes Quick Start section
195- [ ] Shows Good AND Bad examples
196- [ ] Anti-patterns marked with ❌
197- [ ] Code examples are tested
198
199## Creating a New Skill
200
2011. Create directory:
202 ```bash
203 mkdir -p .claude/skills/your-skill-name
204 ```
205
2062. Create SKILL.md with frontmatter and content
207
2083. Test by asking Claude about the skill's topic
209
2104. Claude should use the skill automatically based on triggers