> ## Documentation Index
> Fetch the complete documentation index at: https://docs.skillcreator.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Build your first skill

> A hands-on walkthrough of creating a skill from scratch.

This guide walks through creating a complete skill manually, without the AI generator. This helps you understand the format and write better prompts for the Studio.

## What we are building

A skill that teaches Claude Code how to write Git commit messages following the Conventional Commits specification.

## Step 1: Create the file

In the Editor, create a new file called `SKILL.md`:

```yaml SKILL.md theme={"dark"}
---
name: conventional-commits
description: Write Git commit messages following the Conventional Commits spec
tags: [git, conventions, workflow]
allowed-tools: [Bash, Read, Write]
---
```

## Step 2: Write the instructions

```markdown theme={"dark"}
# Conventional commits

## Instructions

1. Analyze the staged changes using `git diff --cached`
2. Determine the commit type based on the nature of the changes
3. Write a commit message in the format: `type(scope): description`
4. If the change is breaking, add `!` after the type/scope
5. Add a body if the change needs explanation beyond the subject line
6. Add footer(s) for breaking changes or issue references
```

## Step 3: Add constraints

```markdown theme={"dark"}
## Constraints

- Subject line must be under 72 characters
- Use imperative mood: "add feature" not "added feature"
- Do not capitalize the first letter of the description
- Do not end the subject line with a period
- Allowed types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert
- Scope is optional but recommended for monorepos
```

## Step 4: Add verification

```markdown theme={"dark"}
## Verification

- [ ] Commit type is one of the allowed types
- [ ] Subject line is under 72 characters
- [ ] Description uses imperative mood
- [ ] Breaking changes are marked with `!` and documented in footer
- [ ] Related issues are referenced in footer
```

## Step 5: Add examples

```markdown theme={"dark"}
## Examples

### Simple feature
`feat(auth): add password reset flow`

### Bug fix with scope
`fix(api): handle null response from payment provider`

### Breaking change
`feat(api)!: remove deprecated v1 endpoints`

```

BREAKING CHANGE: The /v1/\* endpoints have been removed.
Migrate to /v2/\* before upgrading.

```
```

## Step 6: Run evals

Navigate to the Evals view in the main navigation, enter the skill ID, and run an evaluation. You should see high scores across 6 dimensions: Structure, Content, Evidence, Usage, Toolchain, and Freshness. If any dimension is flagged, review the suggestions and improve that section.

## Step 7: Install

Open the skill in the Library, go to the Deploy tab, and install to Claude Code. SkillCreator writes the skill directory to `~/.claude/skills/conventional-commits/`. The next time you use Claude Code, it will follow these commit conventions automatically.
