ship-decision
About
This skill helps solo founders break decision paralysis on reversible product choices like feature prioritization or launch timing. It forces a concrete comparison of 2-3 named options using a regret-minimizing framework. Use it when a developer is stuck on a binary/tri-way decision and asks for a sanity check, but not for venting or major legal/financial commitments.
Quick Install
Claude Code
Recommendednpx skills add rockscy/solo-skills -a claude-code/plugin add https://github.com/rockscy/solo-skillsgit clone https://github.com/rockscy/solo-skills.git ~/.claude/skills/ship-decisionCopy and paste this command in Claude Code to install this skill
Documentation
Ship Decision / 出货决策
When to use
- The user has 2–3 concrete options on the table and can't pick.
- The decision is reversible within a week (otherwise escalate to a longer process).
- They are a solo operator (no committee to satisfy).
When NOT to use
- The user is just venting — they don't want a decision yet, they want to think out loud.
- The decision is legally or financially binding (contracts, equity splits) — those need a lawyer / accountant, not a quick framework.
- They have not yet named the options. Force them to articulate concrete options before applying this skill.
The framework
For each option, fill in four lines only:
- Cost — hours of focused work + dollars committed.
- Reversal cost — if this turns out wrong, how many hours to undo?
- Best-case 30-day signal — what observable thing tells you it's working?
- Worst-case 30-day signal — what tells you to kill it?
Then apply the regret-minimization tiebreaker:
"In 12 months, which choice will I regret not having tried?"
If reversal cost < 1 week of work AND you have a clear 30-day kill signal → ship the higher-regret option, no further deliberation.
Output format
Always produce a table. Keep cells under 12 words.
| Option A | Option B | |
|---|---|---|
| Cost | … | … |
| Reversal cost | … | … |
| Best-case signal | … | … |
| Worst-case signal | … | … |
| Recommendation | ✅ / ❌ | ✅ / ❌ |
Then one sentence on the why.
Worked example
User: "Should I rebuild my landing page in Framer or stick with my hand-coded Next.js page?"
Output:
| Framer | Stay Next.js | |
|---|---|---|
| Cost | 6 hrs migration | 0 hrs |
| Reversal cost | 2 hrs (re-deploy old) | 0 hrs |
| Best-case signal | conv. rate +20% in 30 days | conv. unchanged |
| Worst-case signal | conv. drops, no analytics | no growth, blame self for not trying |
| Recommendation | ✅ | ❌ |
Framer wins: reversal cost is trivial, and the regret of not testing a dedicated landing tool is higher than 6 hours of migration.
中文版
何时使用
- 用户面前有 2–3 个具体选项,但拿不定主意。
- 决策一周内可逆转(否则需要更长的评估流程)。
- 用户是单兵作战(不需要照顾团队意见)。
何时不使用
- 用户只是在发牢骚——他们想自言自语,不是真要决策。
- 决策有法律或财务约束(合同、股权)——这种需要专业人士。
- 用户还没说清楚选项。强制他们先把选项具体化。
框架
每个选项只填四行:
- 成本——专注工时 + 投入金额。
- 反悔成本——如果错了,撤回需要几小时?
- 30 天最佳信号——什么可观测指标说明它成功了?
- 30 天最差信号——什么让你决定砍掉?
然后用遗憾最小化做平局裁定:
"12 个月后回头看,没尝试哪个选项我会更后悔?"
若反悔成本 < 1 周 且 有明确的 30 天止损信号 → 选遗憾更大的那个,不再纠结。
输出格式
始终用表格,每格 ≤ 12 个字,最后一句话说明理由。
GitHub Repository
Related Skills
content-collections
MetaThis skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
polymarket
MetaThis skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.
creating-opencode-plugins
MetaThis skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.
sglang
MetaSGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
