Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Stacks Wizard

ASecurity

Use when a procedure needs a human in the loop and the agent has hit a wall it cannot pass alone - provisioning cloud credentials, verifying a sending domain, setting CI secrets, clicking through a registrar or third-party dashboard, or running a one-off cutover. Generates an interactive bash wizard that opens each URL, captures each value, and writes it into .env and GitHub secrets.

625 stars
0 votes
0 copies
0 views
Added 9/3/2026
toolstypescriptshellbashawsgit

Works with

cli

Security Analysis

A100/100

Scanned 9/3/2026

Install to Claude Code

$npx -y skills add stacksjs/stacks --skill stacks-wizard --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Stacks Wizard?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Stacks Wizard
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/stacksjs-stacks-wizard/badge)](https://www.skillsdirectory.com/skills/stacksjs-stacks-wizard)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: stacks-wizard
description: Use when a procedure needs a human in the loop and the agent has hit a wall it cannot pass alone - provisioning cloud credentials, verifying a sending domain, setting CI secrets, clicking through a registrar or third-party dashboard, or running a one-off cutover. Generates an interactive bash wizard that opens each URL, captures each value, and writes it into .env and GitHub secrets.
license: MIT
compatibility: Bun >= 1.3.0, TypeScript, bash
allowed-tools: Read Edit Write Bash Grep Glob
---

# Wizard

A **wizard** is a bash script that walks a human, step by step, through a manual
procedure that is tedious to do by hand and tedious to re-explain to an agent
every time. It opens each URL, says exactly what to click and copy, captures the
values, writes them where they belong, confirms before anything irreversible, and
shows how many stages are left.

The UX is already solved by [scripts/template.sh](scripts/template.sh):
stage-by-stage progress, confirmation gates, cross-platform URL opening including
WSL, hidden entry for secrets, idempotent `.env` upserts, `gh secret` and
`gh variable` writes, and a closing summary. **Your job is only to scope the
procedure and author its stages.** Everything above the `STAGES` marker is
identical in every wizard, and that consistency is the point. Never hand-edit it.

A wizard is ephemeral by default: built for one run, saved to a scratch path or
`scripts/`, deleted when the job is done. Commit it only when the user wants a
repeatable setup path that should live in the repo.

Credit: adapted from Matt Pocock's `wizard` skill (MIT),
<https://github.com/mattpocock/skills>. The template library is his, unchanged
except for the example stage.

## When this is the right tool

Reach for it the moment you hit a step only the human can take. In a Stacks
project that is a short and predictable list:

- **AWS access** for `buddy deploy` and `buddy cloud`, and the IAM permissions
  behind them.
- **Domains and DNS**: `buddy domains:purchase`, registrar nameserver changes,
  the delegation that has to happen at the registrar rather than in Route53.
- **Email**: SES domain verification, DKIM records, moving out of the sandbox,
  the port 25 request.
- **CI secrets**: every `secrets.*` and `vars.*` reference in
  `.github/workflows/*` is a value the wizard should produce.
- **Server provisioning**: a Hetzner or other provider token, an SSH key added to
  the account, the first-boot steps.
- **Payments**: Stripe keys and webhook endpoints.

If the agent could just do it itself, it should. This is for where a human is
genuinely in the loop.

## Process

### 1. Scope the procedure

Work out every manual step the human must take and every value captured along the
way. Read the repo first, do not ask cold:

- `.env`, `.env.example`, `.env.*`, and `config/services.ts` for what the app
  already expects.
- `config/cloud.ts`, `config/dns.ts`, `config/email.ts` for what the deploy
  targets.
- `.github/workflows/*` for every secret and variable CI reads.
- The relevant skill (`stacks-deploy`, `stacks-cloud`, `stacks-dns`,
  `stacks-email`) for which steps the CLI already automates, so the wizard covers
  only the gap.

Then show the user the ordered list of stages and the values each produces, and
confirm. 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 is written (`.env`, a GitHub secret,
both, or nowhere, since some stages are pure actions), and (c) whether it is
secret and so needs hidden entry.

### 2. Map each stage's journey

For each stage, write the precise path a human follows: which URL to open, what
to do there, where the value is shown, which variable it fills. For example
"Route53 console, Hosted zones, pick the domain, copy the four NS records".

Where you do not know the current UI or the exact command, say so and ask the
user or check the docs. Never invent steps that may not exist.

**Done when** every stage traces to concrete instructions a stranger could
follow.

### 3. Author the wizard

Copy `scripts/template.sh` to the target path. Replace the example stage with one
`stage` per step, in dependency order. Set `TOTAL_STAGES` to the number you
wrote. Use the library helpers: `stage`, `say`, `step`, `note`, `warn`,
`open_url`, `ask`, `ask_secret`, `write_env`, `set_secret`, `set_var`, `pause`,
`confirm`.

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 the values CI actually needs.
- `confirm` before anything irreversible.
- One focused task per `stage`, because each stage clears the screen and anything
  the human still needs must not have scrolled away.

In a Stacks project, finish with a stage that encrypts what you just wrote:
`./buddy env:encrypt`, and for a production file the matching
`buddy env:keypair` / `buddy env:rotate` step. A wizard that leaves plaintext
credentials in `.env.production` has done half a job. `buddy env:check` is the
verification line for the closing stage.

### 4. Verify and hand off

- `bash -n <script>`, and `shellcheck` if it is available.
- `chmod +x <script>`.
- Do not run it end to end yourself. It opens browsers and blocks on human input.
  Trace it statically instead: every value from step 1 is captured and lands
  where step 1 said, and every `set_secret` name matches a `secrets.*` reference
  in CI exactly.
- Tell the user how to run it. If it is a repeatable setup path, commit it under
  `scripts/` and link it from the README so the next person runs the script
  instead of asking an agent.

## Downstream

> Credentials in place? `/stacks-deploy` for the deploy workflow itself, and
> `/stacks-guard` before anything touches production.

Attribution

stacksjsstacksjs
View sourceMore from stacksjs →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

ucoz-landing-skill

Playbook for creating and editing uCoz landing pages via MCP tools (`templates_tool`, `ftp_tool`, `modules_tool`). Use for tasks such as: "build a landing page", "update the homepage as a landing page", "create a promo page on the homepage", "add a lead form / menu / SEO to the homepage". Homepage: `page_list`, `page_get`; first publish — `page_update` with full `page_tmpl`; HTML edits after generation — `patch_template` (module_id=2, template_id=1), not `update_template`. Activate the mail f...

107 votes

Paperclip

Interact with the Paperclip control plane API to manage tasks, coordinate with other agents, and follow company governance. Use when you need to check assignments, update task status, delegate work, post comments, set up or manage routines (recurring scheduled tasks), or call any Paperclip API endpoint. Do NOT use for the actual domain work itself (writing code, research, etc.) — only for Paperclip coordination.

798221 votes

Daw Music

Digital Audio Workstation usage, music composition, interactive music systems, and game audio implementation for immersive soundscapes.

761 votes

Instantly Rdsthomas Mission Control

Instantly.ai cold email outreach API - manage campaigns, leads, accounts, and analytics. Use for cold email automation, lead management, campaign creation/monitoring, and email account warmup.

761 votes

Caveman Compress

Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md. Trigger: /caveman-compress FILEPATH or "compress memory file"

1023330 votes
View all in tools →