一键导入
wsp-opt
Structured dev workflow with MoSCoW prioritization, GitButler branching, and atomic commits. The trigger is let's build, task management, wasup.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Structured dev workflow with MoSCoW prioritization, GitButler branching, and atomic commits. The trigger is let's build, task management, wasup.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Generate Keep-A-Changelog release notes from git history and wsp-opt/wsp-sync outputs. The trigger is changelog, release notes, relote.
Pre-release security & production gate. Checks deps, secrets, test rate, memory patterns, deprecated APIs, unused code via CLIs/skills with generic fallback. The trigger is run gate, production check, security audit, is it ready to ship.
Scan and update outdated .md files to match the codebase. The trigger is sync up, update docs, tidy up docs, clean up docs.
Town governance simulation — Mayor orchestrates citizens with optional integration to external services (wsp-opt, wsp-sync, wsp-gate, relote). The trigger is town hall, wsp-town, citizens assemble.
| name | wsp-opt |
| description | Structured dev workflow with MoSCoW prioritization, GitButler branching, and atomic commits. The trigger is let's build, task management, wasup. |
| metadata | {"author":"EdwardJoke","version":"26.2.0"} |
A structured development workflow that takes an idea from concept to released feature using MoSCoW prioritization, GitButler (but) branching, and atomic commits.
Important: All Git write operations must use the
butCLI. Never usegit add,git commit,git push,git checkout,git merge,git rebase,git stash, orgit cherry-pick. Read-only Git commands (git log,git diff,git describe) remain safe.
Generate .wasup/wasup.toml in the root directory with template:
[repo]
name = [the name of root folder]
current_version = "vx.y.z"
next_version = "vx.y.z"
[repo.branches]
dev = "dev"
main = "master"
Create .wasup/PURPOSE.md. Ask user:
mkdir -p .wasup
Ask the user: "The scope of updates in the current version is: Function (Main) / Patch (Major) / Bug (Minor) / Type your own Version Number ?"
Create a versioned todo file .wasup/todos/vx.y.z.md using strict semver format only (vX.Y.Z).
Version bump rules:
x) and reset minor/patch to zero.y) and reset patch to zero.z) only.Then update the current_version inside .wasup/wasup.toml.
Explain to user:
"MoSCoW: Must (critical — project fails without), Should (important, not blocking), Could (nice to have), Won't (explicitly out of scope this version)."
Ask the user to list tasks they can think of. As they provide tasks, help categorize them into MoSCoW buckets. Then present the organized list:
# Todo
> Target Version: vx.y.z | Mode: Function/Patch/Bug
## Must have
- [ ] M1: [Task description] - [Brief reason why critical]
- [ ] M2: [Task description]
## Should have
- [ ] S1: [Task description]
## Could have
- [ ] C1: [Task description]
## Won't have (this version/defer to vx.y.z)
- [ ] W1: [Task description]
After presenting, ask: "Do these priorities look right? Would you like to move any tasks between categories, or add/remove anything?"
Wait for their response. If they want changes, update the file and re-confirm. Repeat until they're satisfied.
Finally, add priority ordering within each category. Mark the very first task with **NEXT** label:
- [ ] **NEXT** M1: [First task to execute]
Read .wasup/todos/vx.y.z.md to identify the NEXT task. First check current state, then create a feature branch:
but status -fv
but branch new feat/v<version>-<short-description>
Example: but branch new feat/v0.1.0-auth
Focus on the current NEXT task only. Break it into small, completable steps. Work through each step:
but status -fv
but commit <branch-id> -m "type(scope): description"
Use
but status -fvfirst to get the current branch ID. The commit command will include all changes on that branch.
Commit message guidelines:
<type>(<scope>): <description>After committing, update the todo file:
- [x] M1: ...**NEXT**Repeat the build-commit cycle:
Continue until all Must-have and Should-have tasks are done, then ask for Could-have (if accept then repeat the cycle upon).
Run the reviewer by reading agents/reviewer.md and following its instructions to check the project against the todo list.
Delegate review to sub-agent if platform supports it. Otherwise scan inline for bugs, missing impl, quality issues. Compare against todos.
After the review finishes, re-run it with fresh context. Repeat until every todo item is verified complete.
Before proceeding, ensure .wasup/wasup.toml has a [gate] section:
[gate]
enabled = true
checks = ["audit", "secrets", "test_rate", "memory_patterns", "deprecated_api", "no_use"]
fail_on = ["audit", "secrets", "deprecated_api"]
thresholds.test_pass_rate = 100
Add one if missing. Then create required directories:
mkdir -p .wasup/gates
Run /wsp-gate. Output: .wasup/gates/vx.y.z.md.
Run /relote. Output: .wasup/changelogs/vx.y.z.md.
but status -fv
but commit <branch-id> -m "docs(changelog): add vx.y.z release notes"
Ask user: "Which branch should the current branch be merged into, dev or master?"
Present release checklist, require explicit confirmation:
Release plan: tag=vx.y.z, source=feat/vx.y.z-<desc>, target=master|dev
Commands: but status -fv, git tag, but merge, but push, git push --tags
If no explicit confirm, stop.
but status -fv
git tag -a v<version> -m "Release v<version>"
but merge <feature-branch-id>
but push <target-branch-id>
git push origin --tags
Present: "Release vx.y.z ready. Tagged, merged, pushed. What's next?"
Stop here. Wait for user direction.