Skip to content

Skills ​

Hamr skills extend the agent's capabilities by injecting skill instructions into the agent's system context before each model step.

Skills come from two sources:

  1. Config-based skills (.hamr.toml [skills]): explicit path entries to SKILL.md or persona.md files. These are always loaded — ideal for product personas (AutoCareer job buddy, wytOS creative partner).

  2. Auto-discovered skills: Hamr scans ~/.hamr/skills/ (global) and .hamr/skills/ (project-local) for subdirectories containing SKILL.md files. These are discovered automatically — ideal for ambient domain skills (lint conventions, style guides).

Skill Ordering ​

Config-based skills (personas) are injected first, followed by auto-discovered skills. This ensures the model internalizes the core persona identity before applying project-specific domain conventions.

Auto-Discovery ​

Hamr scans two directories for SKILL.md files:

  • ~/.hamr/skills/<skill-name>/SKILL.md — global skills (user-installed)
  • .hamr/skills/<skill-name>/SKILL.md — project-specific skills

Each skill is a directory containing a SKILL.md file with optional YAML frontmatter:

markdown
---
name: 'TypeScript Conventions'
description: 'Project TypeScript style guide'
enabled: true
---

# Instructions

- Use strict mode
- Prefer interfaces over type aliases

If enabled is false in the frontmatter, the skill is discovered but not loaded. If no name is provided, the directory name is used.

Config-Based Persona Skills ​

For product personas (large, product-specific identity files), use the [skills] config section in .hamr.toml:

toml
[skills]
enabled = ["./personas/career-coach/persona.md"]

Config-based skills are always loaded, even with --no-skills. This lets products run "pure persona only" without ambient domain skills.

Disabling Auto-Discovery ​

Use --no-skills to disable auto-discovered ambient skills while preserving config-based persona skills:

bash
hamr run --task "help me draft a resume" --no-skills
hamr chat --no-skills

Config Path Skill Format (detailed) ​

For explicit config-based skill entries, Hamr resolves paths to files. Hamr resolves the path to a SKILL.md file and loads its content.

Supported path forms:

  • Home-relative: ~/.agents/skills/coderabbit-review — expands ~ to your home directory
  • Absolute: /opt/skills/my-skill/SKILL.md — used directly
  • Project-relative: ./project-skills/lint-checker — resolved from the project root

If the resolved path is a directory, Hamr appends /SKILL.md automatically. If it's a file, it's used directly.

Bare names (without / or \) are not supported — always use a path.

Configuration ​

toml
[skills]
enabled = ["~/.agents/skills/coderabbit-review"]
disabled = ["~/.agents/skills/grill-me"]
  • enabled: Config-based skill paths loaded into the agent context
  • disabled: Skill paths explicitly turned off

If a path is listed in neither array, it defaults to disabled.

Inspecting Skills ​

bash
hamr inspect --skills           # List all discovered skills
hamr inspect --skill <name>     # Show full instructions for a skill

Diagnostics ​

At startup, Hamr resolves each enabled skill path and reports:

  • Skill id/path
  • Resolved absolute path
  • Whether SKILL.md exists
  • Whether the skill was loaded and injected

Missing or broken skills surface clear diagnostics instead of allowing the model to discover skills on its own.

Skill Requirements ​

Each skill must provide a SKILL.md manifest file with the skill's instructions. The file content is injected as a system-level message into the agent context.

Skaft Software · MIT License