---
title: "Skills System"
source: https://docs.autohand.ai/working-with-autohand-code/skills
---

# Skills System

Skills are reusable instruction sets that guide Autohand's behavior for specific tasks. Define skills once and use them across projects to ensure consistent, high-quality output.

## What are skills?

A skill is a markdown file with YAML frontmatter that tells Autohand how to approach a specific type of task. Skills define:

-   **When to use** the skill (triggers and conditions)
-   **What tools** the skill can access
-   **How to approach** the task (conventions and best practices)
-   **What to produce** (required artifacts and verification steps)

Skills help maintain consistency across tasks and encode your team's best practices into reusable templates.

## Skill discovery

Autohand looks for skills in multiple locations, in order of priority:

| Location | Scope | Pattern |
|---|---|---|
| <project>/.autohand/skills/ | Project-specific | **/SKILL.md |
| <project>/.claude/skills/ | Project-specific | */SKILL.md |
| ~/.autohand/skills/ | User-global | **/SKILL.md |
| ~/.claude/skills/ | User-global | */SKILL.md |
| ~/.codex/skills/ | User-global | **/SKILL.md |

Skills from Claude and Codex locations are automatically copied to your Autohand location for compatibility.

## SKILL.md format

Each skill is a markdown file named `SKILL.md` with YAML frontmatter:

``` yaml
---
name: frontend-ui
description: Implement user-facing features and components. Use when building UI, implementing designs, or maintaining design system consistency.
allowed-tools: read_file write_file run_command list_files
---

# Skill: Frontend UI development

## Purpose

Implement user-facing features and components that follow established patterns and maintain consistency across the product.

## When to use this skill

- Building **new UI components** for the design system
- Implementing designs from **Figma or image references**
- Fixing **visual bugs or responsive issues**

## Conventions

- Use the **existing component library** before creating new primitives
- Follow the project's **naming conventions**
- Use **design tokens** from the design system

## Required behavior

1. Review existing components before starting
2. Implement with **accessibility first**
3. Handle all states: loading, empty, error
4. Test across **breakpoints**

## Required artifacts

- Component files in appropriate directory
- **TypeScript types** for all props
- **Unit tests** for component logic

## Verification

- All validation commands pass
- Component matches design specification
- Accessibility audit passes
```

## Frontmatter fields

| Field | Required | Description |
|---|---|---|
| name | Yes | Unique identifier for the skill |
| description | Yes | Brief description shown in skill listings |
| allowed-tools | No | Space-separated list of tools the skill can use |
| license | No | License for sharing the skill |
| compatibility | No | Minimum Autohand version required |

## Using skills

Manage skills with slash commands:

``` bash
# List all available skills
/skills

# Activate a skill for the current session
/skills use frontend-ui

# View details about a skill
/skills info frontend-ui
```

You can also invoke skills from the command line:

``` bash
# Run with a specific skill
autohand --skill frontend-ui --prompt "Create a modal dialog component"

# Combine skill with other flags
autohand --skill service-integration --yes --prompt "Add Stripe webhook handling"
```

## Auto-skill generation

Autohand can analyze your project and generate relevant skills automatically:

``` bash
# Generate skills based on project structure
autohand --auto-skill
```

The auto-skill feature detects:

-   **Languages**: TypeScript, JavaScript, Python, Rust, Go
-   **Frameworks**: React, Next.js, Vue, Express, Flask, Django
-   **Patterns**: CLI tools, testing setups, monorepos, Docker, CI/CD

Generated skills are saved to `<project>/.autohand/skills/` and can be customized to match your team's practices.

## Available tools in skills

Skills can restrict which tools they use via the `allowed-tools` field:

| Category | Tools |
|---|---|
| Files | read_file, write_file, append_file, search, semantic_search, list_files |
| Git | git_status, git_diff, git_log, git_commit, git_branch, git_merge |
| Commands | run_command, custom_command |
| Dependencies | add_dependency, remove_dependency |
| Memory | save_memory, recall_memory |
| Planning | plan, todo_write |

## Best practices

-   **Be specific**: Narrow skills work better than broad ones. "React component development" beats "frontend development".
-   **Include verification**: Define how to check if the skill completed successfully.
-   **Document safety**: Add an escalation section for when to stop and ask for help.
-   **Limit tools**: Restrict tools to only what's needed for the task.
-   **Share with your team**: Commit project-level skills to version control.

## Example skills

Browse our collection of production-ready skills:

-   [Autonomous SRE](/docs/guides/skills/autonomous-sre.html) - Incident response and remediation
-   [Frontend UI](/docs/guides/skills/frontend-ui.html) - Component development
-   [Service Integration](/docs/guides/skills/service-integration.html) - API and webhook handling
-   [Data Querying](/docs/guides/skills/data-querying.html) - SQL and database operations
-   [Vibe Coding](/docs/guides/skills/vibe-coding.html) - Rapid prototyping

## Frequently asked questions

### What are skills in Autohand?

Skills are reusable instruction packages that expand what Autohand can do for specific tasks and workflows. Each skill is a markdown file with YAML frontmatter that defines its name, description, and instructions. Skills can be built-in, installed from the community registry, or auto-generated for your project.

### How do I create a custom skill in Autohand?

Type /skills new in an interactive session to start the creation wizard. Describe what the skill should do and Autohand generates the skill file with proper YAML frontmatter, instructions, and tool permissions. You can also create skills manually as markdown files in .autohand/skills/ or ~/.autohand/skills/.

### How do I install community skills?

Type /skills install to browse the community registry, or /skills install frontend-ui to install a specific skill by name. Use /skills search to find skills by keyword and /skills trending to see popular choices. Add the --project flag to install at project level instead of global.