| name | before-anything-else |
| description | Author a better skill, retry, and compare outputs. |
| version | 0.1.0 |
| author | Chad Keith |
| license | MIT |
| platforms | ["linux","macos","windows"] |
| metadata | {"hermes":{"tags":["skills","routing","quality","authoring"],"related_skills":["hermes-agent-skill-authoring"]}} |
Before Anything Else — author, retry, compare
This is the procedure skill. The plugin injects routing automatically via
pre_llm_call. Load this skill only when a gap or a quality-retry flag says
the existing skills were meh.
Do not turn this into a hub that lists sibling skills. Route from the plugin.
When to Use
- The injected block says
GAP or QUALITY RETRY.
- You finished a non-trivial task and the result is below bar.
- A skill exists but is too thin, wrong, or stale for this job.
Don't use for: greetings, one-shot trivia, or tasks a current skill already
covers well.
Procedure
- Name the missing capability in one sentence. Criterion: a stranger could
load the new skill from that sentence alone.
- Survey
skills_list and search_files under the Hermes skills tree. If a
peer is close, skill_manage(action='patch') it instead of creating a twin.
- Author with
skill_manage(action='create') into the user skills tree.
Frontmatter must include name, description (trigger in the first 57
chars), version, author (human first), license, platforms.
- Put checkable steps in the body. Name Hermes tools (
terminal,
read_file, web_search), not raw cat/grep.
- Copy the new skill directory into this repo under
authored-skills/<name>/
so it can be published later.
- Redo the original user task following the new skill. Criterion: every
required step in the skill was actually executed.
- Compare old vs new in 5–10 lines: what changed, what is still weak, whether
to keep the skill.
- If
.env in the repo has GITHUB_TOKEN and GITHUB_USERNAME, run
python scripts/publish_skill.py authored-skills/<name>. Otherwise stop
after the local install and tell the user the publish command.
Pitfalls
- Do not spawn a second
hermes chat from a hook. That loops and burns money.
Retry happens on the next turn via the pending-retry file.
- Do not publish
.env.
- Do not store client PII in a skill.
- In-repo Hermes official skills reject router/hub skills. This procedure
skill is user/plugin-local on purpose.
Verification
skill_view(name='<new-skill>') returns the body.
- The retry produced a concrete artifact or tool-backed result.
python scripts/publish_skill.py --dry-run authored-skills/<name> passes
when a token is present.