brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
skill-creatorGuide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Independent GitHub snapshot · Automated classification · Original documentation governs
This skill provides guidance for creating effective skills.
Skills are modular, self-contained packages that extend Claude's capabilities by providing specialized knowledge, workflows, and tools. Think of them as "onboarding guides" for specific domains or tasks—they transform Claude from a general-purpose agent into a specialized agent equipped with procedural knowledge that no model can fully possess.
Skills are most powerful for repeatable workflows. Three common categories:
frontend-design, docx-creator)skill-creator, sprint-planner)sentry-code-review)Skills use a three-level loading system to manage context efficiently:
*Unlimited because scripts can be executed without reading into context window.
Claude can load multiple skills simultaneously. Skills should work well alongside others—don't assume the skill is the only capability available.
Skills work identically across Claude.ai, Claude Code, and the API. Create a skill once and it works across all surfaces without modification.
For MCP integrations, skills add a knowledge layer on top of tool access:
| MCP (Connectivity) | Skills (Knowledge) | |
|---|---|---|
| Provides | Tool access and real-time data | Workflows and best practices |
| Answers | What Claude can do | How Claude should do it |
Without skills, users connecting an MCP server must figure out workflows themselves, leading to inconsistent results and support burden. Skills embed best practices so they activate automatically.
See references/workflow-patterns.md for five proven patterns (sequential orchestration, multi-MCP coordination, iterative refinement, context-aware tool selection, domain-specific intelligence).
Every skill consists of a required SKILL.md file and optional bundled resources:
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter metadata (required)
│ │ ├── name: (required)
│ │ └── description: (required)
│ └── Markdown instructions (required)
└── Bundled Resources (optional)
├── scripts/ - Executable code (Python/Bash/etc.)
├── references/ - Documentation loaded into context as needed
└── assets/ - Files used in output (templates, icons, fonts, etc.)
Important: Do NOT include README.md inside the skill folder. All documentation goes in SKILL.md or references/. A repo-level README is fine for human visitors to a GitHub repo hosting the skill, but it must not be inside the skill folder itself.
Metadata Quality: The name and description in YAML frontmatter determine when Claude will use the skill. Be specific about what the skill does and when to use it. Use third-person phrasing (e.g., "This skill should be used when..." rather than "Use this skill when...").
YAML Frontmatter Fields:
---
name: skill-name-in-kebab-case # required; lowercase, hyphens only, max 64 chars
description: What it does and when. # required; WHAT + WHEN, max 1024 chars
license: MIT # optional; for open-source skills
allowed-tools: "Bash(python:*) WebFetch" # optional; restrict available tools
compatibility: Requires internet access # optional; environment requirements, 1-500 chars
metadata: # optional; custom key-value pairs
author: Your Name
version: 1.0.0
mcp-server: your-service-name
tags: [automation, productivity]
---
Security restrictions:
< >) anywhere in frontmatter (appears in system prompt)Writing effective descriptions — structure: [What it does] + [When to use it] + [Key capabilities]
# Good — specific trigger phrases
description: Manages Linear project workflows including sprint planning and task
creation. Use when user mentions "sprint", "Linear tasks", "project planning",
or asks to "create tickets".
# Good — file types + trigger phrases
description: Analyzes Figma design files and generates developer handoff docs.
Use when user uploads .fig files or asks for "design specs" or
"design-to-code handoff".
# Bad — too vague, no triggers
description: Helps with projects.
To prevent over-triggering, add explicit exclusions:
description: Advanced CSV statistical analysis for regression, clustering, and
modeling. Do NOT use for simple data exploration (use data-viz skill instead).
scripts/)Executable code (Python/Bash/etc.) for tasks that require deterministic reliability or are repeatedly rewritten.
scripts/rotate_pdf.py for PDF rotation tasksreferences/)Documentation and reference material intended to be loaded as needed into context to inform Claude's process and thinking.
references/schema.md for database schemas, references/api_docs.md for API specs, references/policies.md for company policiesassets/)Files used in the output Claude produces, not loaded into context.
assets/logo.png for brand assets, assets/slides.pptx for PowerPoint templates, assets/frontend-template/ for HTML/React boilerplateTo create a skill, follow these steps in order, skipping only with clear reason.
Skip only when usage patterns are already clearly understood.
Gather 2–3 concrete use cases by asking targeted questions—avoid overwhelming users with too many at once:
Also define success criteria before building:
Quantitative targets (rough benchmarks):
Qualitative targets:
Conclude when there is a clear picture of the functionality and what success looks like.
To turn concrete examples into an effective skill, analyze each example by:
| Use Case | Analysis | Resource |
|---|---|---|
| "Rotate this PDF" | Same code rewritten each time | scripts/rotate_pdf.py |
| "Build me a todo app" | Same HTML/React boilerplate each time | assets/hello-world/ template |
| "How many users logged in?" | Table schemas re-discovered each time | references/schema.md |
| "Review this PR via Sentry" | Complex multi-MCP workflow | Structured sequence in SKILL.md |
Produce a list of the reusable resources to include.
Skip only if the skill already exists and only iteration is needed.
When creating a new skill from scratch, always run the init_skill.py script:
scripts/init_skill.py <skill-name> --path <output-directory>
The script:
scripts/, references/, and assets/After initialization, customize or remove the generated SKILL.md and example files as needed.
The skill is being created for another Claude instance to use. Focus on procedural knowledge, domain-specific details, and reusable assets that would be non-obvious.
Implement the resources identified in Step 2 first: scripts/, references/, and assets/ files. User input may be required for domain-specific content (e.g., brand assets, company policies, API documentation).
Delete any example files not needed for the skill—the initialization script creates placeholders to demonstrate structure, but most skills won't need all of them.
Writing style: Use imperative/infinitive form (verb-first), not second person. Write "To accomplish X, do Y" rather than "You should do X." This maintains consistency and clarity for AI consumption.
To complete SKILL.md, answer:
Critical instruction guidelines:
## Critical or ## Important headersCRITICAL: Before calling create_project, run scripts/validate_input.py
references/ and link to it; keep SKILL.md under 5,000 wordsFor MCP-enhancing skills, also include:
Run three types of tests:
1. Triggering tests — Does the skill load at the right times?
2. Functional tests — Does the skill produce correct outputs?
3. Performance comparison — Does the skill improve results?
Effective iteration strategy: Focus on a single challenging task until Claude succeeds, then extract the winning approach into the skill. Once there's a working foundation, expand to multiple test cases for coverage.
scripts/package_skill.py <path/to/skill-folder>
Optional output directory:
scripts/package_skill.py <path/to/skill-folder> ./dist
The packaging script:
Validates the skill, checking:
README.md inside the skill folderPackages into a distributable zip file if validation passes
Fix any validation errors and rerun if validation fails.
For individuals / open-source:
For organizations (January 2026+):
For programmatic / API use:
/v1/skills endpoint to list and manage skillscontainer.skills parameterAfter testing, improve based on observed signals:
Under-triggering (skill doesn't load for relevant queries, users invoke it manually):
Over-triggering (skill loads for irrelevant queries, users disable it):
Execution issues (inconsistent results, users correcting output, failed MCP calls):
| Error | Cause | Fix |
|---|---|---|
| "Invalid frontmatter" | Missing --- delimiters or unclosed quotes | Add delimiters, fix YAML syntax |
| "Invalid skill name" | Spaces, capitals, or underscores in name | Rename to kebab-case |
| "Could not find SKILL.md" | File not named exactly SKILL.md | Rename (case-sensitive) |
## Critical / ## Important headersreferences/references/ and link to them from SKILL.mdreferences/workflow-patterns.md — Five proven patterns for MCP and automated workflows