Community코딩 & 개발github.com

mattpocock/wizard

대화형 bash 마법사 스크립트를 생성하여 사람만 수행할 수 있는 단계를 안내합니다. 인프라 프로비저닝, 자격 증명이나 CI 시크릿 설정, 익숙하지 않은 타사 대시보드 탐색, 일회성 마이그레이션이나 전환 작업에 사용하세요. 에이전트가 직접 수행할 수 있는 단계에는 호출하지 마세요.

wizard란 무엇인가요?

Wizard는 복잡하고 반복적인 수동 절차를 사람이 단계별로 따라갈 수 있도록 안내하는 bash 마법사 스크립트를 생성하는 도구입니다. 에이전트가 직접 수행하기 어려운 작업(예: 타사 서비스 설정, 자격 증명/CI 시크릿 등록, 일회성 마이그레이션)을 사람에게 URL을 열고, 클릭하고, 값을 복사하도록 지시하며, 각 단계에서 입력된 값을 `.env` 파일이나 GitHub Secrets에 자동으로 저장하고 변경 전 확인 절차를 제공합니다. 이 스크립트는 템플릿 기반으로 작성되어 일관된 사용자 경험을 제공하며, 에이전트가 직접 수행할 수 없는 단계만 포함합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mattpocock/skills/tree/main/skills/engineering/wizard

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

wizard은(는) 무엇을 하나요?

Wizard는 사람이 수동으로 수행하기 번거롭고 매번 AI에게 다시 설명하기도 귀찮은 절차를 단계별로 안내하는 bash 스크립트입니다. 각 URL을 열고, 정확히 무엇을 클릭하고 복사해야 하는지 알려주며, 값을 캡처하여 적절한 위치(.env, GitHub Secrets)에 기록하고, 각 단계에서 확인을 받고, 남은 단계 수를 표시합니다. 타사 서비스를 구성하거나, 일회성 마이그레이션을 실행하거나, 프로젝트를 한 상태에서 다른 상태로 전환하는 데 사용할 수 있습니다.

편리한 UX는 이미 template.sh에서 해결했습니다. 단계별 진행, 확인 게이트, 크로스 플랫폼 URL 열기(WSL 포함), 숨겨진 비밀 입력, 멱등성 있는 .env 업서트, gh secret/gh variable 쓰기, 마지막 요약이 포함됩니다. 당신의 작업은 절차를 정의하고 각 단계를 작성하는 것뿐입니다. STAGES 마커 위의 라이브러리는 모든 마법사에서 동일합니다. 이러한 일관성이 핵심이므로 직접 수정하지 마세요.

마법사는 기본적으로 일시적입니다. 한 번 실행하기 위해 생성되고, 임시 디렉토리나 scripts/ 경로에 저장되며, 작업이 끝나면 삭제됩니다. 사용자가 저장소에 유지할 반복 가능한 설정 경로를 원하는 경우에만 커밋하세요.

프로세스

1. 절차 범위 지정

사람이 수행해야 하는 모든 수동 단계와 그 과정에서 캡처되는 모든 값을 파악하세요. 먼저 저장소를 읽고, 바로 묻지 마세요.

  • 설정의 경우: .env, .env.example, .env.*, README, docker-compose*, 프레임워크 설정, .github/workflows/* (모든 secrets.* / vars.* 참조는 마법사가 생성해야 하는 값입니다).
  • 마이그레이션이나 전환의 경우: 현재 상태, 목표 상태, 그 사이의 되돌릴 수 없는 작업.

그런 다음 사용자에게 정렬된 단계 목록과 각 단계가 생성하는 값을 보여주고 확인하세요. 사용자는 단계를 추가, 삭제, 재정렬할 수 있습니다.

완료 조건: 모든 단계가 순서대로 명명되었고, 각 캡처된 값에 대해 (a) 사람이 값을 어디서 얻는지, (b) 값이 어디에 기록되는지(.env, GitHub Secrets, 둘 다, 또는 아무 곳에도 기록되지 않음; 일부 단계는 순수 작업입니다), (c) 비밀(숨겨진 입력)인지 공개인지 알고 있어야 합니다.

2. 각 단계의 경로 매핑

각 단계에 대해 사람이 따라야 할 정확한 경로를 작성하세요. 어떤 URL을 열고, 그곳에서 무엇을 할지, 값이 어디에 표시되는지, 어떤 변수를 채우는지 등을 예를 들어 "대시보드 → 개발자 → API 키 → 테스트 키 공개 → 복사"와 같이 설명하세요. 현재 UI나 정확한 명령을 실제로 모르는 경우, 그렇게 말하고 사용자에게 묻거나 문서를 확인하세요. 존재하지 않을 수 있는 단계를 절대 만들어내지 마세요.

완료 조건: 모든 단계가 낯선 사람도 따라할 수 있는 구체적인 지침으로 이어져야 합니다.

3. 마법사 작성

template.sh를 대상 경로에 복사하세요. 예제 단계를 제거하고, 각 단계를 종속성 순서대로 하나의 stage로 교체하세요. 라이브러리 헬퍼를 사용하세요: stage, say/step, open_url, ask/ask_secret, write_env, set_secret/set_var, pause/confirm. TOTAL_STAGES를 작성한 단계 수로 설정하세요.

템플릿이 설정한 기준을 유지하세요. 값을 요청하기 전에 URL을 열고, 비밀에는 ask_secret을 사용하고, 지속되는 모든 값에는 write_env를 사용하고, CI에서 실제로 필요한 값만 set_secret으로 설정하며, 되돌릴 수 없는 작업 전에는 confirm을 사용하세요. 각 stage는 화면을 지워 현재 단계만 보이게 합니다. 한 단계를 하나의 집중된 작업으로 유지하여 사람이 스크롤해야 하는 내용이 없도록 하세요. 마커 위의 라이브러리는 건드리지 마세요.

4. 검증 및 전달

  • bash -n <script>; shellcheck가 가능하면 실행하세요.
  • chmod +x <script>.
  • 직접 처음부터 끝까지 실행하지 마세요. 브라우저를 열고 사람 입력을 기다립니다. 대신 정적으로 추적하세요. 1단계의 모든 값이 캡처되어 1단계에서 지정된 위치에 기록되었는지, 모든 set_secret 이름이 CI의 secrets.* 참조와 정확히 일치하는지 확인하세요.
  • 사용자에게 실행 방법을 알려주세요. 반복 가능한 설정 경로라면 커밋하고 README에 링크를 추가하여 다음 사람이 AI에게 묻는 대신 스크립트를 실행하도록 하세요.

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.

관련 스킬