SKILL.md
Project Skill Creator
Create project-managed skills in .chalk/skills without conflicting with Chalk-managed skills.
Workflow
- Ask the user for:
- skill name - purpose/description - optional triggers/examples
- Normalize the provided skill name to kebab-case:
- lowercase - replace spaces/underscores with - - remove characters outside a-z, 0-9, and - - collapse repeated - - trim leading/trailing -
- Reject the normalized name if it starts with
chalk-. - Ensure
.chalk/skillsexists. - Check for collisions:
- If .chalk/skills/<normalized-name>/ already exists, do not overwrite. - Ask for explicit confirmation before any replace behavior. - Default behavior is create-only.
- Create folder
.chalk/skills/<normalized-name>/. - Create
.chalk/skills/<normalized-name>/SKILL.mdwith frontmatter:
```yaml
name: <normalized-name> description: <purpose/description> owner: project version: "1.0.0" metadata-version: "2"
```
- Add these markdown sections to the generated skill file:
- # <Skill Name> - ## Purpose - ## Workflow - ## Inputs - ## Output - ## Guardrails
- In
## Purpose, include the user-provided purpose/description. - If provided, include user triggers/examples in the generated skill (typically under
## Inputsor## Workflow). - Confirm the created path and summarize what was generated.
Inputs
- Required: skill name, purpose/description
- Optional: triggers/examples
Output
- New project skill folder at
.chalk/skills/<normalized-name>/ - New skill definition file at
.chalk/skills/<normalized-name>/SKILL.md - Confirmation message including normalized name, created paths, and included sections
Guardrails
- Never modify existing Chalk-managed skills.
- Never modify skills named with
chalk-*prefix. - Never overwrite existing project skill folders unless user explicitly confirms replace.
- Default to create-only behavior.
- If validation fails (invalid or reserved name), stop and request a new name.