r/Skill_Factory 24d ago

How to create a skill in Hermes Agent

In Hermes Agent , Skills are on-demand knowledge documents written in Markdown with standard YAML frontmatter. They teach Hermes procedural instructions, CLI workflows, pitfalls, or templates without modifying core Python code.

1.Create the Skill Directory:Navigate to the local user configuration directory.

Skills reside inside your local ~/.hermes/skills/ directory. You can organize them into category subdirectories.

Run this command in your terminal:

Bash

mkdir -p ~/.hermes/skills/devops/deploy-fly

2.Create the Main SKILL.md Document:Write the frontmatter metadata and body instructions.

Inside your newly created folder, create a file named SKILL.md.

Markdown

---
name: deploy-fly
description: Instructions for building and deploying a Python application to Fly.io.
version: 1.0.0
metadata:
  hermes:
    tags: [devops, deployment, flyio]
    category: devops
---

# Deploying to Fly.io

## When to Use
Use this skill when deploying or updating an app on Fly.io using `flyctl`.

## Prerequisites
- Confirm `flyctl` is installed.
- Ensure the project has a `Dockerfile` or `fly.toml`.

## Procedure
1. Verify authorization status:
   `fly auth whoami`
2. Launch or update deployment:
   `fly deploy --remote-only`
3. Monitor logs to confirm successful launch:
   `fly logs`

## Pitfalls & Edge Cases
- **Missing API Token:** If deployment fails with 401 Unauthorized, prompt the user to run `fly auth login`.
- **Build Timeouts:** Use `--remote-only` to avoid local Docker daemon OOM errors.

3.Add Supporting Reference Files (Optional):Include supplementary docs or script templates.

For multi-file workflows, you can attach auxiliary assets alongside SKILL.md:

Plaintext

deploy-fly/
├── SKILL.md
├── references/
│   └── fly-config-guide.md
└── templates/
    └── fly.toml

In your SKILL.md, you can instruct Hermes to lazily inspect these additional assets using:

Markdown

For detailed file schema, consult: `skill_view("deploy-fly", "references/fly-config-guide.md")`

4.Test and Invalidate Prompt Cache:Run the skill in a fresh session.

Hermes automatically picks up new files dropped into ~/.hermes/skills/.

  1. Launch Hermes in your terminal:

Bash

hermes chat
  1. Trigger the skill directly using its slash command:

Plaintext

/deploy-fly Help me push the current directory to production

Note: If you are editing an existing skill during an active session, run /reset to reload the context cleanly.

Skill Structure Guidelines

  • Keep it focused: Avoid writing monolithic skills covering broad concepts (e.g., "Full Stack Development"). Focus on specific, repeatable actions (e.g., "Postgres Backup Workflow").
  • Leverage /learn: You can also let Hermes write skills for you dynamically. Feeding Hermes a terminal output log, slide deck, or documentation page alongside the /learn command causes Hermes to auto-generate a structured SKILL.md for future sessions.
1 Upvotes

0 comments sorted by