Open-source project
Romanescu11/hermes-skill-factory avatar
Romanescu11/hermes-skill-factory

Hermes Skill Factory: the quickstart clones a placeholder URL

A meta-skill plugin for Nous Research's Hermes AI agent that watches your workflows and automatically turns them into reusable skills. Every time you work with Hermes and solve something — setting up a project, debugging code, creating a PR — that workflow disappears at the end of the session. You have to explain it again next time.

551 stars71 forksPythonLicense varies

At a glance

What is it?
A meta-skill plugin for Nous Research's Hermes Agent that watches a session, spots a repeated sequence, and offers to save it as a SKILL.md and a plugin under the user's home directory. Its quickstart clones a placeholder GitHub URL, its detector trigger is never stated, and the one committed example shows only the markdown half.
Who is it for?
Hermes Skill Factory is a sound idea with a rough edge at its front door: the quickstart clones a URL whose account segment is still `your-username`, so the manual copy plus `hermes skills enable skill-factory` is what actually installs anything.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Activity is slowing. The repository last received commits 6 months ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 5, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The quickstart clones your-username

The quick start is three lines, and the first one is a placeholder:

bash
git clone https://github.com/your-username/hermes-skill-factory
cd hermes-skill-factory
bash install.sh

The account segment in that clone URL is literally `your-username`, while this README ships with a repository under a different owner, so the command as printed cannot fetch anything. Anyone following it has to substitute the real path by hand, or obtain the tree some other way, before the remaining two lines apply. The tree does contain an `install.sh`, and the repo structure calls it a one-command installer, but the script's contents never appear, so what it copies and where it writes stay unchecked. The documented fast path therefore depends on a URL the author did not finish.

Two directories, two activation commands, one requirement

The manual route is spelled out file by file instead:

bash
# Install the meta-skill
mkdir -p ~/.hermes/skills/meta/skill-factory
cp skills/skill-factory/SKILL.md ~/.hermes/skills/meta/skill-factory/

# Install the plugin
cp plugins/skill_factory.py ~/.hermes/plugins/

Two separate trees are involved. The meta-skill lands at `~/.hermes/skills/meta/skill-factory/SKILL.md`, filed under the category `meta`, while the plugin lands flat in `~/.hermes/plugins/`. Two commands then activate both:

bash
hermes skills reload
hermes skills enable skill-factory

Because the halves go to different directories, copying one and leaving the other produces a state those two commands do not check for. The slash commands live in the plugin, so a missing plugin leaves a meta-skill that instructs the agent to propose things it can then do nothing about. The host requirement is stated once, near the top: Hermes Agent v2026.3+. Nothing in either path says how to remove what was installed.

What counts as a pattern is never stated

The demonstration proposal is the fullest description of the detector, and it is a demonstration. It reports noticing that a Python environment was set up repeatedly, that dependencies were installed, and that tests were run, always in the same order, then proposes `python-env-setup` in category `software-development` with a one-line description and three captured steps: create and activate a venv, upgrade pip and install dependencies, run pytest. The choice line offers SKILL.md, plugin.py, both, or skip, and answering with both writes the two files immediately.

Two commands exist for watching the detector from outside. `/skill-factory status` reports how many patterns are being tracked, and `/skill-factory queue` lists every detected pattern queued for proposal. Neither the repetition count that turns a sequence into a pattern, nor the moment at which the prompt appears, is given anywhere. The README calls that the right moment and stops. Those two commands are the only window onto the decision.

Category is a directory name, not a label

Category is not decoration here, it is a path. Generated skills are written to `~/.hermes/skills/<category>/<name>/SKILL.md`, and the proposal shows category as a field the agent fills in, with `software-development` in the worked example while the meta-skill itself sits under `meta`. No list of valid categories is offered, so an unexpected value does not fail loudly; it just adds a level under `~/.hermes/skills` that nothing else knows about.

The second output is flatter. `~/.hermes/plugins/<name>.py` puts one file per skill directly in the plugins directory, named after the skill rather than nested by category, so the two halves of option both do not share a layout. When the agent's proposed name is not the one you want, `/skill-factory save <name>` stores the last proposal under a name you type.

The committed example is the markdown half only

The evidence for what comes out is thin. The repo structure lists one generated example, `examples/generated/git-pr-workflow/SKILL.md`, described as an end-to-end PR creation workflow, and the contributing section asks you to send a pull request adding your own generated skills to that directory. So the single available sample is the markdown half, even though both is the answer the demo box pushes.

The SKILL.md shape appears with full front matter (name, category, description, tags), then `## When to Activate`, `## Workflow` with a `### Phase 1: Environment` heading, and `## Examples`, with ellipses standing in for the bodies. The plugin side is shorter still:

python
def register(hermes):
    @hermes.command(name="python-env-setup", ...)
    async def run_skill(ctx, args=""):
        # Step 1: Create venv
        # Step 2: Install deps
        # Step 3: Run tests
        ...

That is the whole of it: a register hook, one decorated coroutine, and comments marking where the steps belong.

Session scope decides what survives a clear

Six slash commands cover the surface. `propose` analyzes the session and proposes the top detected skill now, `list` shows what has been generated this session, `status` and `queue` report patterns, `save <name>` stores the last proposal under a custom name, and `clear` clears the current session log. Three phrasings do the same job without a command: save this as a skill, remember how to do this, and turn this workflow into a reusable skill.

The word session carries weight in that table. Pattern memory is scoped to it, `status` counts what this session has tracked and `clear` discards it, while the output is permanent files under your home directory. Two sessions in a row can detect the same sequence twice, and nothing says whether anything is remembered in between. Architecture details are deferred to `docs/how-it-works.md`, listed in the tree but not quoted.

MIT in prose, no license file, no releases

The README's closing section says MIT. The top-level entries are `README.md`, `docs/`, `examples/`, `install.sh`, `plugins/`, `skills/` and `templates/`, and no LICENSE file sits among them, while the repository's license metadata is empty, so the claim exists in prose alone. There are also no GitHub releases, which leaves nothing versioned to install and makes the v2026.3+ figure a constraint on the host agent rather than on this plugin.

The default branch is `master`, and the last commit on it is dated 2026-03-18. No release cadence is described, and the only install route the README gives in full is the one with the placeholder URL in it.

Editorial conclusion

Hermes Skill Factory is a sound idea with a rough edge at its front door: the quickstart clones a URL whose account segment is still `your-username`, so the manual copy plus `hermes skills enable skill-factory` is what actually installs anything. It suits people already on Hermes Agent v2026.3+ who want a proposed SKILL.md to edit, and it does not suit anyone who needs to know what promotes a sequence into a pattern, or who wants a packaged build: there is no GitHub release, no LICENSE file beside the README's MIT line, and the last commit on `master` is dated 2026-03-18. Read `/skill-factory status` and `queue` instead of trusting the demo box.

Frequently asked questions

What are Hermes skills?

Here a skill is a markdown file with front matter (name, category, description, tags) plus When to Activate and Workflow sections, stored at ~/.hermes/skills/<category>/<name>/SKILL.md. The README calls that Hermes' native skill format and points to docs/how-it-works.md for the architecture.

What are Hermes Agent skills and how do they work?

The host requirement stated here is Hermes Agent v2026.3+. Skill Factory itself is two halves: a meta-skill that tells the agent how to observe, detect and propose, and skill_factory.py, which supplies the /skill-factory commands and writes the files. A full breakdown is said to live in docs/how-it-works.md.

What is Hermes in software?

This repository names only its host, Nous Research's Hermes Agent, and requires v2026.3+. It does not describe the wider Hermes project, its other components, or how it relates to anything else carrying that name.

Is Hermes AI free?

Nothing here addresses the host agent's licensing or pricing. What this repository states about itself is narrower: the README's License section says MIT, the top-level tree holds no LICENSE file, and there are no GitHub releases to install from.

Official sources

  1. Issues
  2. README
  3. Romanescu11/hermes-skill-factory on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/romanescu11-hermes-skill-factory.svg)](https://hysenlabs.com/projects/romanescu11-hermes-skill-factory)