# 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", "npm publish", "릴리즈", "배포", "버전".

- Skill: `dvcrn/release-discipline-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add dvcrn/release-discipline-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/release-discipline-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/dvcrn/release-discipline-2

---


# 🛑 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`:

```markdown
## {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.

---
> 🐧 Built by **무펭이** — [무펭이즘(Mupengism)](https://github.com/mupeng) 생태계 스킬

