Назад към всички

release-discipline

// Enforce release discipline for AI agents and developers. Prevents version spam, forces quality checks before publishing, and maintains a 24-hour cooldown between releases. Use when the user wants to publish, release, deploy, or bump versions. Triggers on "release", "publish", "deploy", "version bump

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namerelease-discipline
descriptionEnforce release discipline for AI agents and developers. Prevents version spam, forces quality checks before publishing, and maintains a 24-hour cooldown between releases. Use when the user wants to publish, release, deploy, or bump versions. Triggers on "release", "publish", "deploy", "version bump", "npm publish", "릴리즈", "배포", "버전".

🛑 Release Discipline

Stop version spam. Ship quality, not quantity.

Core principle: "Only finished work counts."

When This Activates

Intercept any release/publish/deploy action and run the pre-release checklist.

Pre-Release Checklist (ALL must pass)

Before ANY version bump or publish, enforce these checks:

Gate 1: Cooldown Check

❓ When was the last release?
→ If < 24 hours ago: 🛑 BLOCKED — "Cool down. Last release was {X}h ago. Wait until 24h."
→ If ≥ 24 hours: ✅ PASS

Gate 2: User Feedback Check

❓ Has anyone used the previous version?
→ Check: GitHub issues, npm downloads, ClawHub installs, user messages
→ If no feedback exists: ⚠️ WARNING — "No one has used v{X} yet. Why release v{X+1}?"
→ If feedback exists: ✅ PASS — Summarize feedback

Gate 3: Documentation Check

❓ Is documentation updated?
→ Check for: README.md, CHANGELOG, English docs
→ Missing README: 🛑 BLOCKED
→ Missing English: ⚠️ WARNING — "Global users can't read this"
→ All present: ✅ PASS

Gate 4: Quality Check

❓ Does this release have substance?
→ Ask: "What's the ONE thing this release does better than the last?"
→ If answer is vague ("minor fixes", "improvements"): ⚠️ WARNING — "Be specific. What changed?"
→ If answer is clear: ✅ PASS

Gate 5: Kill Criteria Check

❓ What kills this project?
→ If no kill criteria defined: ⚠️ WARNING — "Define when to stop: 'If X doesn't happen in Y weeks, shut it down.'"
→ If defined: ✅ PASS — Remind user of their kill criteria

Gate 6: Self-Contradiction Check

❓ Does this action match your stated principles?
→ Read SOUL.md (or equivalent principles file)
→ Look for contradictions:
  - "Ship one thing at a time" + releasing 3 things = 🛑
  - "Quality over quantity" + 5 releases in 3 days = 🛑
  - "Finish before starting new" + new project while old unfinished = ⚠️
→ If contradiction found: 🛑 BLOCKED — Quote the principle and show the contradiction
→ If consistent: ✅ PASS

Scoring

🛑 BLOCKED (any) → Cannot release. Fix the issue first.
⚠️ WARNING only → Can release, but agent must voice concern clearly.
✅ ALL PASS → Release approved. Proceed.

Release Log

After every release (approved or blocked), log to memory/release-log.md:

## {date} — v{version}
- Status: ✅ APPROVED / 🛑 BLOCKED / ⚠️ WARNED
- Gates: [1:✅ 2:⚠️ 3:✅ 4:✅ 5:✅ 6:✅]
- Reason: {why released or why blocked}
- User feedback on previous: {summary or "none"}
- Time since last release: {hours}

Weekly Review

Every 7 days, review the release log:

  • Total releases this week
  • Block rate (healthy: 20-40% blocked = you're actually checking)
  • 0% blocked = checklist is rubber-stamping, tighten criteria
  • Pattern analysis: recurring issues

Anti-Patterns This Skill Prevents

  1. Version Spam — 17 versions in 3 days
  2. Spray Without Prune — Making lots of things, finishing none
  3. Documentation Debt — Shipping code without docs
  4. Echo Chamber — Releasing without user feedback
  5. Principle Violation — Breaking your own rules
  6. Premature Optimization — Polishing what nobody uses

Philosophy

"The urge to ship is not the same as readiness to ship." "Fear of irrelevance is not a reason to publish." "One great release beats ten mediocre ones."

This skill is a brake, not an accelerator. It exists because the hardest part of building isn't making things — it's knowing when to stop making and start finishing.