CommunityCodierung & Entwicklunggithub.com

mattpocock/wizard

Generiere ein interaktives Bash-Wizard-Skript, das einen Menschen durch Schritte führt, die nur er ausführen kann. Verwende dies zur Bereitstellung von Infrastruktur, zum Einrichten von Anmeldeinformationen oder CI-Geheimnissen, zur Navigation durch ein unbekanntes Drittanbieter-Dashboard oder zur Durchführung einer einmaligen Migration oder Umstellung. Rufe dies nicht für Schritte auf, die der Agent selbst ausführen kann.

Was ist wizard?

Das Wizard-Skill erstellt ein Bash-Skript, das einen Menschen Schritt für Schritt durch manuelle, fehleranfällige Prozesse führt – etwa die Einrichtung von CI-Secrets, das Konfigurieren von Drittanbieterdiensten oder die Durchführung einmaliger Migrationen. Es automatisiert die sonst mühsame Wiederholung dieser Schritte für jeden Nutzer oder jedes Projekt. Nach der Analyse des Repos (`.env`, `README`, `docker-compose`, CI-Workflows) generiert es ein interaktives Skript, das URLs öffnet, Anweisungen zum Klicken und Kopieren gibt, Werte erfasst (per `ask`/`ask_secret`) und sie an den richtigen Ort schreibt (`.env`, GitHub Secrets/Variablen). Das Skript basiert auf einer Vorlage (`template.sh`) mit bewährter UX: Fortschrittsanzeige, Bestätigungshürden, plattformunabhängiges URL-Öffnen, versteckte Eingabe für Secrets und idempotentes Aktualisieren von `.env`. Dadurch bleibt der Fokus auf der Logik der einzelnen Schritte, während die Benutzerführung standardisiert ist. Der Entwickler spezifiziert lediglich die Schritte und deren Abhängigkeiten und erhält ein sofort einsatzbereites Skript. Unterstützte Plattformen umfassen Bash (Linux, macOS, WSL). Das Skript ist standardmäßig für den einmaligen Gebrauch gedacht, kann aber bei Bedarf im Repository versioniert werden.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mattpocock/skills/tree/main/skills/engineering/wizard

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht wizard?

Ein Wizard ist ein Bash-Skript, das einen Menschen Schritt für Schritt durch eine manuelle Prozedur führt, die von Hand mühsam und einem KI-Assistenten jedes Mal aufs Neue zu erklären ist. Es öffnet jede URL, sagt genau, was zu klicken und zu kopieren ist, erfasst die Werte, schreibt sie an den richtigen Ort (.env, GitHub Secrets), bestätigt jeden Schritt und zeigt an, wie viele Schritte noch übrig sind. Es kann Drittanbieterdienste konfigurieren, eine einmalige Migration durchführen oder das Projekt von einem Zustand in einen anderen überführen.

Die benutzerfreundliche Oberfläche wurde bereits in template.sh gelöst: schrittweiser Fortschritt, Bestätigungshürden, plattformunabhängiges URL-Öffnen (inklusive WSL), versteckte Eingabe von Secrets, idempotentes Aktualisieren von .env, Schreiben von gh secret/gh variable und eine abschließende Zusammenfassung. Ihre Aufgabe ist nur, die Prozedur abzugrenzen und ihre Schritte zu erstellen. Der Teil oberhalb der STAGES-Markierung ist in jedem Wizard identisch; diese Konsistenz ist der entscheidende Punkt: Niemals von Hand bearbeiten.

Ein Wizard ist standardmäßig flüchtig: Er wird für einen einzigen Durchlauf erstellt, in einem scripts/- oder temporären Verzeichnis gespeichert und nach Abschluss gelöscht. Committen Sie ihn nur, wenn der Benutzer einen wiederholbaren Einrichtungspfad wünscht, der im Repository verbleiben soll.

Ablauf

1. Abgrenzung der Prozedur

Ermitteln Sie jeden manuellen Schritt, den der Mensch ausführen muss, und jeden dabei erfassten Wert. Lesen Sie zuerst das Repository, fragen Sie nicht ohne Vorbereitung:

  • Für Einrichtung: .env, .env.example, .env.*, README, docker-compose*, Framework-Konfiguration und .github/workflows/* (jeder secrets.*- / vars.*-Verweis ist ein Wert, den der Wizard erzeugen muss).
  • Für eine Migration oder Umstellung: den aktuellen Zustand, den Zielzustand und die irreversiblen Aktionen dazwischen.

Zeigen Sie dem Benutzer anschließend die geordnete Liste der Schritte und die dabei erfassten Werte und holen Sie Bestätigung ein: Er kann Schritte hinzufügen, entfernen oder umsortieren.

Abgeschlossen, wenn: jeder Schritt in der richtigen Reihenfolge benannt ist und Sie für jeden erfassten Wert wissen, (a) woher der Mensch ihn bekommt, (b) wohin er geschrieben wird (.env, ein GitHub Secret, beides oder nirgendwo; einige Schritte sind reine Aktionen), und (c) ob er geheim ist (versteckte Eingabe) oder öffentlich.

2. Weg jedes Schrittes abbilden

Schreiben Sie für jeden Schritt den genauen Weg, den ein Mensch geht: Welche URL geöffnet, was dort getan, wo ein Wert angezeigt wird, welche Variable er füllt – z. B. „Dashboard → Entwickler → API-Schlüssel → Testschlüssel anzeigen → kopieren“. Wenn Sie die aktuelle Benutzeroberfläche oder den genauen Befehl nicht kennen, sagen Sie dies und fragen Sie den Benutzer oder prüfen Sie die Dokumentation: Erfinden Sie niemals Schritte, die es möglicherweise nicht gibt.

Abgeschlossen, wenn: jeder Schritt auf konkrete Anweisungen zurückgeht, die ein Fremder befolgen könnte.

3. Wizard erstellen

Kopieren Sie template.sh an den Zielpfad. Ersetzen Sie das Beispiel durch je ein stage pro Schritt, in Abhängigkeitsreihenfolge. Verwenden Sie die Bibliothekshilfsfunktionen: stage, say/step, open_url, ask/ask_secret, write_env, set_secret/set_var, pause/confirm. Setzen Sie TOTAL_STAGES auf die Anzahl der von Ihnen erstellten Schritte.

Halten Sie die von der Vorlage gesetzte Messlatte: Öffnen Sie die URL, bevor Sie nach ihrem Wert fragen, verwenden Sie ask_secret für alles Geheime, write_env für jeden gespeicherten Wert, set_secret nur für die Werte, die CI tatsächlich benötigt, und confirm vor jeder irreversiblen Aktion. Jedes stage löscht den Bildschirm, sodass nur der aktuelle Schritt sichtbar ist: Halten Sie einen Schritt auf eine fokussierte Aufgabe beschränkt, damit nichts, was der Mensch braucht, aus dem Bild scrollt. Berühren Sie nicht die Bibliothek oberhalb der Markierung.

4. Verifizieren und übergeben

  • bash -n <Skript>; führen Sie shellcheck aus, falls verfügbar.
  • chmod +x <Skript>.
  • Führen Sie es nicht selbst vollständig aus: Es öffnet Browser und wartet auf Benutzereingaben. Prüfen Sie stattdessen statisch: Jeder Wert aus Schritt 1 wird erfasst und landet dort, wo Schritt 1 es vorgesehen hat, und jeder set_secret-Name entspricht exakt einem secrets.*-Verweis in CI.
  • Teilen Sie dem Benutzer mit, wie er es ausführt. Wenn es ein wiederholbarer Einrichtungspfad ist, committen Sie es und verlinken Sie es in der README, sodass die nächste Person das Skript ausführt, anstatt einen KI-Assistenten zu fragen.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

mattpocock/ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

mattpocock/caveman

Ultra-compressed communication mode. Cuts token usage ~75% by dropping filler, articles, and pleasantries while keeping full technical accuracy. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman.

mattpocock/claude-handoff

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

mattpocock/codebase-design

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

mattpocock/design-an-interface

Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions "design it twice".

mattpocock/diagnose

Disciplined diagnosis loop for hard bugs and performance regressions. Reproduce → minimise → hypothesise → instrument → fix → regression-test. Use when user says "diagnose this" / "debug this", reports a bug, says something is broken/throwing/failing, or describes a performance regression.

mattpocock/diagnosing-bugs

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.

mattpocock/domain-modeling

Build and sharpen a project's domain model. Use when the user wants to pin down domain terminology or a ubiquitous language, record an architectural decision, or when another skill needs to maintain the domain model.

mattpocock/edit-article

Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.

mattpocock/git-guardrails-claude-code

Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.

mattpocock/grilling

Grill the user relentlessly about a plan or design. Use when the user wants to stress-test a plan before building, or uses any 'grill' trigger phrases.

mattpocock/grill-me

Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".

mattpocock/grill-with-docs

Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.

mattpocock/handoff

Compact the current conversation into a handoff document for another agent to pick up.

mattpocock/implement

Implement a piece of work based on a PRD or set of issues.

mattpocock/implement-spec

Implement a specification in code.

mattpocock/improve-codebase-architecture

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

mattpocock/loop-me

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

mattpocock/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.

mattpocock/obsidian-vault

Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.

Verwandte Skills