Dataforth (projects/dataforth-dos/): - UI feature: row coloring + PUSH/RE-PUSH buttons + Website Status filter - Database dedup to one row per SN (2.89M -> 469K rows, UNIQUE constraint added) - Import logic handles FAIL -> PASS retest transition - Refactored upload-to-api.js to render datasheets in-memory (dropped For_Web filesystem dep) - Bulk pushed 170,984 records to Hoffman API - Statistical sanity check: 100/100 stamped SNs verified on Hoffman GuruRMM (projects/msp-tools/guru-rmm/): - ROADMAP.md: added Terminology (5-tier hierarchy), Tunnel Channels Phase 2, Logging/Audit/Observability, Multi-tenancy, Modular Architecture, Protocol Versioning, Certificates sections + Decisions Log - CONTEXT.md: hierarchy table, new anti-patterns (bootstrap sacred, no cross-module imports), revised next-steps priorities Session logs for both projects. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.8 KiB
3.8 KiB
name, description
| name | description |
|---|---|
| skill-creator | Create new Claude Code custom skills and slash commands. Use when the user wants to create a new skill, add a slash command, build a custom command, or set up a new automation. Guides through the process of defining the skill's purpose, triggers, and implementation, then generates the proper file structure. |
Skill Creator
You help the user create new Claude Code custom skills and slash commands.
Two Types of Custom Extensions
1. Skills (.claude/skills/{name}/SKILL.md)
- Rich, multi-purpose capabilities with automatic invocation triggers
- Can include supporting files (scripts, references, checklists)
- Best for: complex behaviors, design patterns, validation workflows, integrations
2. Slash Commands (.claude/commands/{name}.md)
- Simple, user-invoked commands triggered by
/{name} - Single markdown file with instructions
- Best for: workflows the user explicitly triggers, task automation, shortcuts
- Can accept arguments via
$ARGUMENTS
Creation Process
Step 1: Gather Requirements
Ask the user:
- What should this skill/command do? (core purpose)
- Skill or command? Help them decide:
- If it should run automatically in response to certain actions -> Skill
- If the user will invoke it explicitly with
/{name}-> Command - If unsure, recommend based on the use case
- Name - short, kebab-case identifier (e.g.,
code-review,deploy-check) - When should it trigger? (for skills: automatic triggers; for commands: typical usage)
Step 2: Generate the Files
For Skills
Create .claude/skills/{name}/SKILL.md:
---
name: {name}
description: |
{Detailed description. This is used for discovery/matching, so be specific about
when this skill should be invoked. Include trigger keywords and example scenarios.}
---
# {Skill Title}
{Clear instructions for what Claude should do when this skill is invoked.}
## When to Invoke
{List specific triggers - file types, actions, keywords that should activate this skill.}
## Workflow
{Step-by-step process the skill follows.}
## Guidelines
{Rules, patterns, and best practices to follow.}
For Commands
Create .claude/commands/{name}.md:
---
description: {One-line description shown in command list}
---
# {Command Title}
{Instructions for what Claude should do when the user runs /{name}.}
## Arguments
If the command accepts arguments, reference them via `$ARGUMENTS`.
## Workflow
{Step-by-step process.}
Step 3: Register and Validate
After creating the files:
- Confirm the file was created in the correct location
- Tell the user they can invoke it:
- Skills: Explain the automatic triggers or manual invocation via
/skill-name - Commands: Tell them to use
/{name}or/{name} arguments
- Skills: Explain the automatic triggers or manual invocation via
- Remind them to update CLAUDE.md's Commands & Skills table if they want it documented there
Quality Checklist
Before finalizing, verify:
- Description is detailed enough for Claude to match it to relevant situations
- Instructions are clear and actionable (Claude will follow them literally)
- The skill/command doesn't duplicate an existing one
- File is in the correct location (
.claude/skills/or.claude/commands/) - Name uses kebab-case and is concise
- For skills with auto-triggers: triggers are specific enough to avoid false positives
Tips for Good Skills/Commands
- Be specific in descriptions - vague descriptions lead to missed or false invocations
- Include examples in the instructions so Claude understands edge cases
- Keep scope focused - one skill per concern, don't create mega-skills
- Test after creation - have the user try invoking it to verify behavior
- Reference existing patterns - look at
.claude/skills/and.claude/commands/for examples