Hermes Agent · Tutorial 04
Save a reusable Hermes workflow with skills
Write one clear procedure, test it on two inputs, and decide when it is ready to become a skill. Bundles are an optional next step.

0 of 8 complete
Essentials · Step 6 of 8 · View the route
Last checked and updated: September 8, 2026. Source and editorial review; the exercise uses fictional practice inputs.
A useful skill starts with a procedure you have already checked. Saving a vague request only makes the vague request easier to repeat.
In this lesson, write and test a short procedure for turning notes into a weekly update. You will finish with a method ready to save as a Hermes skill in the next lesson. You need a working Hermes installation and two sets of harmless practice notes.
Write the procedure before packaging it
Create weekly-update-method.md in your practice folder:
Task: Write a weekly update from supplied notes.
Audience: A teammate who missed the week.
Inputs: Only the notes supplied for this run.
Output: Under 120 words, with findings, changes, and open questions.
Method:
1. Extract dates, counts, decisions, and commitments from the notes.
2. Separate completed actions from proposed actions and untested results.
3. Write the update. Mark missing dates or owners as unknown.
4. Propose one next action, clearly labelled as a proposal.
5. Check every factual sentence against the notes before returning it.
Boundary: Do not browse, send messages, or modify the source notes.
This is an authored procedure for practice. You can edit its audience and output for your own recurring work. Keep the source and the allowed actions explicit.
Try the method on two inputs
First use these fictional notes:
Interviewed 4 customers. 3 could not find export.
Moved the button in a prototype; nobody has tested the change.
Sam offered to arrange a test; no date agreed.
Ask Hermes to read the method file and apply it to the notes. Check that it preserves the counts, calls the change untested, and does not give Sam an invented deadline.
Then use a different input in a fresh conversation:
Ran 2 customer tests of the new button position.
Both people found export without help.
We have not released the change.
No further test is booked.
A passing update reports the two observed successes without claiming that the change is released or that every customer will find the button. It must not carry Sam, the previous counts, or the old open test into the new update.
Save both outputs and note what you corrected. If the same mistake happens twice, fix the procedure before making it reusable.
What Hermes saves as a skill
Hermes documents skills as directories containing SKILL.md, with optional supporting files. A skill’s instructions can be loaded for a task, including through dynamic slash commands. Use the official skills guide for the file structure supported by your version.
Your method file is the source material. In the /learn lesson, you will turn it into a skill, inspect the generated instructions, and invoke it in a fresh session. You do not need to hand-author the package here.
Add a bundle when several skills belong together
A bundle groups installed skills under a named invocation and can include coordinating instructions. Hermes documents bundle inspection and creation in the same skills guide. Check the installed release’s help before using a command from an older video.
Keep this optional. The weekly update needs one procedure. A research workflow might later use separate source-collection, extraction, and writing skills. Group them only after each one works and the handoff between them is clear.
Loading a group of instructions is not evidence that every step ran correctly. Inspect the sources and final output just as you did for a single skill.
Ready to save
Your method is ready when both inputs produce accurate updates and the second run does not reuse facts from the first. Keep the method and the two checked outputs together.
Continue with turning the method into a Hermes command using /learn. Scheduling comes after a saved workflow works on more than one input.