website/docs/user-guide/skills/optional/devops/devops-setup-wizard-generator.md
Generate a bash wizard guiding a human through manual setup.
| Source | Optional — install with hermes skills install official/devops/setup-wizard-generator |
| Path | optional-skills/devops\setup-wizard-generator |
| Version | 1.0.0 |
| Author | Matt Pocock (mattpocock/skills, wizard) + Hermes Agent |
| License | MIT |
| Platforms | linux, macos |
| Tags | wizard, setup, onboarding, credentials, secrets, migration, bash, human-in-the-loop |
:::info The following is the complete skill definition that Hermes loads when this skill is triggered. This is what the agent sees as instructions when the skill is active. :::
Generates an interactive bash wizard: a script that walks a human, step
by step, through a manual procedure that is tedious to do by hand and tedious
to re-explain every time. It opens each URL, says exactly what to click and
copy, captures the values, writes them where they belong (.env, GitHub
secrets), confirms at every stage, and shows how many stages are left.
Ported from mattpocock/skills' MIT-licensed wizard skill.
Do NOT use for steps the agent can perform itself — do those directly.
bash; gh CLI only if stages write GitHub secrets/variablestemplates/template.sh in this skill's directoryWork out every manual step the human must take and every value captured along the way. Read the repo first, don't ask cold:
.env, .env.example, README, docker-compose*, framework
config, and .github/workflows/* (every secrets.* / vars.* reference
is a value the wizard must produce).Show the user the ordered stage list and the values each produces; they may
add, drop, or reorder. Done when every stage is named in order and, for each
captured value, you know (a) where the human gets it, (b) where it's written
(.env, a GitHub secret, both, or nowhere), and (c) whether it's secret
(hidden entry) or public.
For each stage, write the precise path a human follows: which URL to open, what to do there, where the value is shown — e.g. "Dashboard → Developers → API keys → Reveal test key → copy". Where you don't know the current UI or exact command, say so and check the docs or ask — never invent steps that may not exist.
Copy templates/template.sh (from this skill's directory) to the target
path. Replace the example stage with one stage per step, in dependency
order. Set TOTAL_STAGES to the number of stages you wrote.
Library helpers: stage, say/step/note/warn, open_url,
ask/ask_secret, write_env, set_secret/set_var, pause/confirm,
banner, finish. The library above the STAGES marker is identical in
every wizard — never hand-edit it; that consistency is the point.
Hold the bar the template sets: open the URL before asking for its value,
ask_secret for anything secret, write_env every persisted value,
set_secret only what CI actually needs, and confirm before anything
irreversible. Each stage clears the screen — keep one focused task per
stage so nothing the human needs scrolls away.
A wizard is ephemeral by default: save it to a scratch or scripts/ path,
delete it when the job's done. Commit it only when the user wants a
repeatable setup path living in the repo.
bash -n <script>; run shellcheck if available; chmod +x <script>.set_secret name exactly matches a
secrets.* reference in CI.STAGES marker is
the wizard library; author only below it.set_secret for values CI doesn't use. Only push to GitHub secrets
what a workflow actually references.bash -n is the verification.bash -n passes; script is executableset_secret name matches a CI secrets.* reference