Docs / Skills/ Creating Custom Skills

Creating Custom Skills

Build your own skills in CRHQ — give agents new capabilities with custom instructions, API references, and scripts.

Custom skills let you extend CRHQ with your own capabilities. Create skills for internal tools, proprietary APIs, custom workflows, or any specialized task.

Creating a Skill

  1. Go to Settings → Skills
  2. Click Create Skill
  3. Fill in the details:
FieldDescription
NameLowercase, hyphenated (e.g., sales-report, deploy-staging)
DescriptionWhat this skill does — include trigger keywords for search
ContentThe full instructions in markdown
  1. Click Save

Writing Skill Content

Skill content is written in markdown. The agent reads these instructions when it needs to use the skill.

Structure

A well-written skill typically includes:

# Skill Name

Brief description of what this skill does.

## Quick Start

Most common usage pattern — the agent reads this first.

## API Reference

Endpoints, parameters, expected responses.

## Examples

Concrete examples with expected input and output.

## Error Handling

Common errors and how to resolve them.

Best Practices

  • Lead with the most common usage — Agents are smart, don't over-explain
  • Include real examples — Show actual commands and expected output
  • Be concise — Less is more; agents parse instructions efficiently
  • Reference scripts by full path — If the skill has scripts, use absolute paths
  • Include error handling — Tell the agent what to do when things go wrong

Skills with Scripts

Skills can include executable scripts that agents run. Scripts live in the skill's scripts folder on the server:

skills/<skill-name>/scripts/
├── query.js
├── helper.sh
└── analyze.py

Reference them in your skill content:

## Running a Query

To query the sales database:
\`\`\`bash
node /path/to/skills/sales-report/scripts/query.js --period weekly
\`\`\`

Naming Conventions

  • Lowercase only with hyphens: my-skill-name
  • No spaces or special characters
  • Descriptive — the name should hint at what it does
  • Unique — no duplicates allowed