skill tutorial · scenario
Plan a full workshop agenda with your agent
Installing one skill preps one activity. Build me a 90-minute communication workshop for twelve people, no projector
is a different job — the agent has to pick several folders, make the minutes add up, and keep to your constraints. Here is that loop, with the exact commands.
Why the agent can do this at all
Because the folders ship data, not adjectives. Each SKILL.md frontmatter states group_size, duration_minutes, setting and props as numbers and enums, and the machine index skills.json mirrors them. So the agent solves the agenda as arithmetic — 12 people, no projector, 90 minutes
becomes a filter plus a sum — and only then writes the running order. Humans read the printed run sheet; agents parse the fields. The split is the design.
Step 1 — give the agent the brief, with constraints
The magic is in naming the constraints out loud, because those are the same fields the catalog filters on.
the brief that produces a real agenda
> 12 people, 90 minutes, no projector, one measurable core. > Pick three candidates (opener + core + close) from the > communication category and show the agenda math before you install.
Say no projector and the agent drops anything that needs a screen; say measurable core and it reaches for an assessment-type folder that carries a pre/post measure. Constraints in, sensible shortlist out.
Step 2 — let it filter skills.json, not browse
If your agent has a shell, it can narrow the drawer itself instead of guessing:
filter candidates by the brief
curl -s https://workshopskill.com/en/skills.json | jq -r ' .skills[] | select(.category=="communication" and (.group_size|test("^[0-9]+$")) and (.duration_minutes|tonumber) <= 20) | .name' # the agent returns names + their minutes; you keep the ones that sum to your window
Step 3 — install the chosen set in one loop
Once you have picked, the whole shortlist installs in a single pass — each bundle unzips to a loader-ready folder:
one bundle per chosen activity
for s in blind-portrait the-listening-ladder exit-ticket; do curl -LO https://workshopskill.com/en/activities/$s/files/$s.zip unzip -o $s.zip done # each folder: SKILL.md + run sheet + props + debrief + assessment.json (if assessment-type)
Step 4 — assemble the agenda, then print the kit
Now ask the agent to lay the chosen folders into the day and hand you the human outputs — the run sheet to print, the shopping list from the props fields, and the live-measure decision: assessment.json on paper (zero accounts) or the formlm-cli lane for a delta report. Two gates stay human by design: the printer, and the one login line.
keep going
questions
How does the agent know how long each activity runs?
Every SKILL.md carries numbers in its frontmatter: duration_minutes, group_size, setting and props. The agent reads those fields, not the marketing prose, so it can add the agenda as arithmetic — opener 10, core 15, debrief 10 — and check the total fits your window before it commits. That is why the folders ship data, not just descriptions.
Can it plan a whole multi-activity workshop, not one exercise?
Yes — that is the point of this workflow versus installing a single skill. You give the brief (headcount, total minutes, projector or not, and how many measurable cores you want), the agent filters skills.json down to candidates that satisfy the constraints, then sequences them opener / core / core / close so the minutes add up. It proposes; you pick. The agent assembles, the human decides.
Does it print anything or need an account?
The planning and the curl downloads run unattended — they are anonymous. The two things that stay human are the printer itself and, if you want a live pre/post measure, the FormLM login step; the skill tells the agent to stop and hand that one line to you. Paper measures need no account at all.