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:

LocationScopePattern
<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:

---
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

FieldRequiredDescription
nameYesUnique identifier for the skill
descriptionYesBrief description shown in skill listings
allowed-toolsNoSpace-separated list of tools the skill can use
licenseNoLicense for sharing the skill
compatibilityNoMinimum Autohand version required

Using skills

Manage skills with slash commands:

# 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:

# 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:

# 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:

CategoryTools
Filesread_file, write_file, append_file, search, semantic_search, list_files
Gitgit_status, git_diff, git_log, git_commit, git_branch, git_merge
Commandsrun_command, custom_command
Dependenciesadd_dependency, remove_dependency
Memorysave_memory, recall_memory
Planningplan, 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:

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.