hermes-repo-profiles

Bootstraps isolated repo-local Hermes profiles with a ./dev entrypoint, pruned skills, and hooks.

Updated Dec 7, 2025
One-click install
npx skills add https://github.com/harlanljones/dotfiles --skill hermes-repo-profiles-harlanljones
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: hermes-repo-profiles
Source: https://github.com/harlanljones/dotfiles/tree/main/dot_hermes/skills/software-development/hermes-repo-profiles
Command: npx skills add https://github.com/harlanljones/dotfiles --skill hermes-repo-profiles-harlanljones

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Setting up an isolated Hermes agent profile per repository involves many fragile steps — profile cloning, skill pruning, project-skill symlinks, hook registration, and project rules — and each step has silent failure modes (corrupted config keys, broken symlinks, ambiguous skill paths) that are hard to diagnose after the fact. ## Core Features & Use Cases - Repo-local profile bootstrap: Creates a ./dev entrypoint with setup, doctor, and passthrough subcommands that never touch the default Hermes profile and stay idempotent across re-runs. - Skill pruning and project-skill symlinks: Clones a profile, disables unwanted skills via a literal JSON list, symlinks project skills into ./.hermes/skills/, and trusts them from the repo root. - Per-profile hooks and project rules: Registers pre_tool_call, post_tool_call, and pre_llm_call hooks, plus AGENTS.md operating rules and a .hermes.md skill routing table with negative controls. - Use Case: You want a frontend repo to run Hermes with only its relevant skills, guarded git operations, and evidence-collecting hooks — run the procedure to mirror an existing profile repo, adapt the disabled-skills list and hooks, then verify with ./dev doctor. ## Quick Start Ask the agent to set up a repo-local Hermes profile with a ./dev entrypoint for this repository, mirroring an existing profile repo and verifying the result with ./dev doctor.

Frequently Asked Questions about hermes-repo-profiles

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create an isolated Hermes profile for a single repository?▼

Run hermes profile create <name> --clone, then set skills.disabled with a literal JSON array via config set --force. Wrap everything in an idempotent ./dev script with setup, doctor, and passthrough subcommands so a fresh machine rebuilds the profile exactly.

How do I add project-local skills to a Hermes profile?▼

Symlink skill categories into ./.hermes/skills/ (gitignored, per-machine), then run hermes --profile <name> skills trust . from the repo root. Always pass the explicit dot path, since skills trust without it fails even inside a git checkout.

Why does a Hermes slash command fail with 'Failed to load stacked skills'?▼

The same skill exists at two distinct paths: the cloned profile catalog and a symlink into the default ~/.hermes/skills directory. Point project-skill symlinks into the profile's own catalog so skill_view does not see an ambiguous name.

Why does config set corrupt my Hermes profile config?▼

Building the value by shell-expanding a file region embeds multi-line captures as garbage keys in config.yaml. Pass a literal single-line JSON string instead, and verify immediately with config get rather than trusting the --force notice.

Why are symlinked skills broken after hermes profile create --clone?▼

The clone copies relative symlinks literally, so links like ../../.agents/skills/... break inside profiles/<name>/skills/. Detect them with [ -e dir/SKILL.md ] rather than find -type d, and fall back to the default catalog for those skills.

When should I not use a cloned Hermes profile for a repo?▼

Avoid cloning when the repo needs the full default skill catalog with no pruning, since maintaining a disabled list and symlink repairs adds overhead. A shared default profile with project rules in AGENTS.md is simpler in that case.