wtf.setup
Original:🇺🇸 English
Translated
This skill should be used when a user wants to set up WTF in a new repository, verify their environment is ready, check that GitHub CLI is installed and authenticated, install required gh extensions, or ensure the .github/ISSUE_TEMPLATE/ templates are in place — for example "set up wtf", "run setup", "check my environment", "install wtf templates", "verify everything is configured", "initialize wtf", "onboard to wtf", "first time setup", "configure gh for wtf", "prepare this repo for wtf", "is wtf ready", "get wtf running", or "a new dev joined, set them up". Run once per repo when onboarding, or when a contributor joins the project.
6installs
Sourcexiduzo/wtf
Added on
NPX Install
npx skill4agent add xiduzo/wtf wtf.setupTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Setup
Pre-flight check and installer for the WTF workflow. Validates the GitHub CLI, installs required extensions, ensures contains all required templates, creates all lifecycle labels, and installs the PR template so both agents and humans can create structured issues and pull requests.
.github/ISSUE_TEMPLATE/Process
1. Verify gh
is installed
ghbash
gh --versionIf not found: tell the user that the GitHub CLI is required, link them to https://cli.github.com, and stop. Do not proceed until is confirmed installed.
gh2. Verify gh
is authenticated
ghbash
gh auth statusIf not authenticated: tell the user to run and stop. Do not proceed until authentication is confirmed.
gh auth login3. Check and install required extensions
bash
gh extension listCheck the output for both of the following extensions. For each that is missing, install it:
bash
# Sub-issue hierarchy (epic → feature → task)
gh extension install yahsan2/gh-sub-issue
# Issue dependency tracking (X blocks Y)
gh extension install xiduzo/gh-issue-dependencyIf installation fails (e.g. network error, permissions), warn the user that relationship tracking will be unavailable until the extension is installed. Note the failure — it will be included in the final status report.
After attempting installation, verify the command syntax for any newly installed extension:
bash
gh sub-issue --help
gh issue-dependency --helpRecord two booleans for the final report:
- : true if
gh-sub-issue-availableis installed and workingyahsan2/gh-sub-issue - : true if
gh-issue-dependency-availableis installed and workingxiduzo/gh-issue-dependency
4. Detect repo context
bash
gh repo view --json nameWithOwner -q .nameWithOwnerIf this fails (not inside a git repo, or no GitHub remote), warn the user and note that issue creation will not work until the repo is connected to GitHub. Continue to the template check regardless.
5. Check issue templates
Check whether exists and contains all four required templates:
.github/ISSUE_TEMPLATE/bash
ls .github/ISSUE_TEMPLATE/Required files:
BUG.mdEPIC.mdFEATURE.mdTASK.md
For each missing file, copy it from this skill's bundled references:
bash
mkdir -p .github/ISSUE_TEMPLATE
# Copy each missing template from the skill's references folder.
# The references folder is at: skills/wtf-setup/references/
cp skills/wtf-setup/references/BUG.md .github/ISSUE_TEMPLATE/BUG.md
cp skills/wtf-setup/references/EPIC.md .github/ISSUE_TEMPLATE/EPIC.md
cp skills/wtf-setup/references/FEATURE.md .github/ISSUE_TEMPLATE/FEATURE.md
cp skills/wtf-setup/references/TASK.md .github/ISSUE_TEMPLATE/TASK.mdOnly copy files that are missing — do not overwrite existing templates. After copying, list the final contents of to confirm.
.github/ISSUE_TEMPLATE/6. Check PR template
Check whether exists:
.github/pull_request_template.mdbash
ls .github/pull_request_template.md 2>/dev/nullIf missing, copy it from the skill's bundled references:
bash
cp skills/wtf-setup/references/pull_request_template.md .github/pull_request_template.mdDo not overwrite if it already exists.
7. Create required GitHub labels
Create all lifecycle labels the workflow depends on. Using makes the command idempotent — it updates the description/color if the label already exists and creates it if it does not:
--forcebash
gh label create epic --color 5319e7 --description "Strategic initiative spanning multiple features" --force
gh label create feature --color 0075ca --description "User-facing capability delivered as a vertical slice" --force
gh label create task --color e4e669 --description "Implementable vertical slice of a Feature" --force
gh label create bug --color d73a4a --description "Something is broken" --force
gh label create implemented --color 0e8a16 --description "Implementation complete — ready for QA" --force
gh label create designed --color f9d0c4 --description "Design coverage added to the Task" --force
gh label create verified --color 006b75 --description "QA verified — ready for merge" --forceIf any label creation fails (e.g. insufficient permissions), warn the user — note that the affected skills will fall back to creating labels on first use.
Closing convention: GitHub has no native setting to require PR-based closure, so this is enforced by skill behavior. Issues are only "closed as completed" when a merged PR contains. DirectCloses #<n>calls are reserved forgh issue close(won't implement) and--reason "not planned"only. Surface this convention in the status report.--reason "duplicate"
8. Report status
Print a clear status summary covering every check:
WTF Setup — Status Report
─────────────────────────
gh CLI installed ✅
gh authenticated ✅
gh-sub-issue extension ✅ (or ⚠️ not installed — relationship links unavailable)
gh-issue-dependency ext ✅ (or ⚠️ not installed — dependency links unavailable)
Repo context ✅ owner/repo (or ⚠️ not detected)
Issue templates
BUG.md ✅ (or ✅ installed from references)
EPIC.md ✅ (or ✅ installed from references)
FEATURE.md ✅ (or ✅ installed from references)
TASK.md ✅ (or ✅ installed from references)
PR template ✅ (or ✅ installed from references)
GitHub labels ✅ epic, feature, task, bug, implemented, designed, verified
─────────────────────────
Ready to use WTF. Start with `write-epic` to plan your first initiative.If any item failed (gh not installed, not authenticated), replace the closing line with a clear "Fix the issues above before proceeding." and do not suggest next steps.
9. Offer to set up steering docs
If setup completed without fatal errors, call with:
AskUserQuestion-
: "Setup complete. The steering docs (VISION.md, TECH.md, DESIGN.md, QA.md) capture your project's principles and standards — every skill reads them automatically. Would you like to create them now?"
question -
: "Steering docs"
header -
:
optionssteer-vision[{label: "Yes — set them up now", description: "Run(it will chain to the others)"}, {label: "Not now", description: "Skip — skills will prompt you to create them on first use"}] -
Yes → follow theprocess (it will offer to chain to TECH, DESIGN, and QA at the end).
steer-vision -
Not now → exit.