agentleFS
SantiagoVqzSantiagoVqz/claude-skills/skills/support/wizard/SKILL.md

wizard

Skill2 starsChanged 10 days agoMITView on GitHub

Write an interactive bash wizard that walks a human through the steps only they can do: get credentials or API keys from a dashboard, set CI secrets, provision a third-party service, or run a one-off migration or cutover. Use when the user runs /wizard, or when work stops on a manual step that the agent cannot do.

  • Reads credentials

170 other projects use a version of this, 125 of them edited; 3 new projects in the last 4 weeks, against 2 the 4 before.

Adopted by

Rising: 3 new projects took it in the last 4 weeks, 1.5× the 4 weeks before.thin data

Week of Sep 13: 0 new projectsWeek of Sep 20: 0 new projectsWeek of Sep 27: 1 new projectWeek of Oct 4: 1 new projectWeek of Oct 11: 2 new projectsWeek of Oct 18: 0 new projectsWeek of Oct 25: 1 new projectWeek of Nov 1: 0 new projects
Sep 2026Oct 2026Nov 2026
New projects taking a version of this file each week, over the 8 weeks our latest run read: only 5 in all, so this is a hint, not a trend.

Most recently taken up by

Used with

Projects with it also use setup-ts-deep-modules, writing-beats and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • liufeng1976Skill

    setup-ts-deep-modules

    Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point files. User-invoked.

    Also in 42 projects that use this

  • LesaniSkill

    writing-beats

    Shape an article as a journey of beats, choose-your-own-adventure style. The user picks a starting beat from the raw material, you write only that beat, then offer options for where to pivot next, beat by beat, until the article reaches a natural end. Use when the user has raw material and wants to assemble it as a narrative rather than an argument.

    Also in 56 projects that use this

  • RoentekSkill

    loop-me

    Grill me about specs for the workflows I want to build, within this workspace.

    Also in 49 projects that use this

  • ryotaroh180105Skill

    claude-handoff

    Hand the current conversation off to a fresh background agent that picks up the work immediately.

    Also in 41 projects that use this

  • LesaniSkill

    writing-shape

    Take a markdown file of raw material and shape it into an article through a conversational session — drafting candidate openings, growing the piece paragraph by paragraph, arguing about format (lists, tables, callouts, quotes) at each step. Use when the user has a pile of notes, fragments, or a rough draft and wants help turning it into something publishable.

    Also in 54 projects that use this

  • simo97Skill

    migrate-to-shoehorn

    Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.

    Also in 47 projects that use this

  • +1 more from Lesani

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 154 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Write a wizard in place of numbered steps in chat.

    line 11
  2. Distinctive:

    Read the repo before you ask the user anything:

    line 17
  3. Very specific:

    Use the library helpers: stage, say, step, note, warn, open_url, ask, ask_secret, write_env, set_secret, set_var, pause and confirm.

    line 53
  4. Very specific:

    Keep every stage inside run_wizard, and keep the last line of the file as it is.

    line 64
  5. Very specific:

    Run bash -n <script>, and run shellcheck <script> when it is installed.

    line 70

“Common” is measured: kept by at least 6 in 10 of the 154 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Wizard

A wizard is a bash script that walks a human through a manual procedure, one stage at a time. It opens each URL, says what to click and copy, captures each value, and writes the value where it belongs: .env, a GitHub secret or a GitHub variable. You write the script. The human runs it, so their secrets never enter your context.

Write a wizard in place of numbered steps in chat. Steps in chat scroll away, and a script fails visibly when a step goes stale.

template.sh holds the UX: progress, confirm gates, URL opening on macOS, Linux and WSL, hidden secret entry, idempotent .env writes, gh secret and gh variable writes, and a closing summary. The library above the STAGES marker is the same in every wizard. Copy it unchanged. Your work is to scope the procedure and write the stages.

1. Scope the procedure

Read the repo before you ask the user anything:

  • Setup: .env, .env.example, .env.*, the README, docker-compose*, the framework config and .github/workflows/*. Each secrets.* or vars.* reference is a value that the wizard must produce. A value that .env already holds needs no stage.
  • Migration or cutover: the current state, the target state, and each irreversible action between them.

For each captured value, record three facts:

  • Source: where the human gets it.
  • Destination: from the table below.
  • Secret or public: a secret gets hidden entry.
DestinationWhen
.env onlyLocal dev needs it, and CI does not.
GitHub secretCI reads it, and it is sensitive.
GitHub variableCI reads it, and it is public.
.env and a GitHub secretLocal dev and CI both need it.
NowhereThe stage is an action only, such as a switch or a plan upgrade.

Show the user the ordered stages and the values of each stage. The user can add, drop or reorder stages. Write no script before the user confirms.

Completion: the user confirmed the stage list, and each value has its source, destination and secret flag.

2. Map each stage

For each stage, write the exact path that a stranger follows. Example: "Dashboard → Developers → API keys → Reveal test key → copy". When you do not know the current UI or the exact command, check the vendor docs or ask the user. Each click in the script comes from the docs, the user or the code.

Completion: each stage has concrete instructions, each with a known source.

3. Write the script

  1. Copy template.sh to the target path. A one-off wizard goes to the scratchpad or scripts/. A setup path that the next person needs goes to scripts/.
  2. Replace the example stage with one stage for each step, in dependency order.
  3. Set TOTAL_STAGES to the number of stages.
  4. Set the banner title.

Use the library helpers: stage, say, step, note, warn, open_url, ask, ask_secret, write_env, set_secret, set_var, pause and confirm.

Each stage follows these rules:

  • It does one focused task that fits one screen, because stage clears the terminal.
  • It calls open_url before it asks for a value from that page.
  • It reads each secret with ask_secret.
  • It calls write_env for each value that .env keeps.
  • It calls set_secret only for the values that CI reads.
  • It puts confirm before each irreversible action.

Keep every stage inside run_wizard, and keep the last line of the file as it is. Bash then parses the whole file before the first prompt.

Completion: each value from step 1 has a capture call and a write call to its destination.

4. Check and hand off

  1. Run bash -n <script>, and run shellcheck <script> when it is installed.
  2. Run chmod +x <script>.
  3. Trace the script statically. Do not run it, because it opens browsers and waits for human input. Check that each value lands at its destination from step 1. Check that each set_secret name matches a secrets.* reference in CI.
  4. Give the user the command to run it. Tell the user that Ctrl-C and a re-run is safe, because ask offers each saved .env value as the default.

A wizard is for one run by default. Delete it after the run. Commit it only when the user wants a repeatable setup path, and link it from the README.

Completion: the script passes bash -n, the trace finds no gap, and the user has the run command.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.