/cs:freeze <decision> <days> — Lock a strategic decision for a cooldown period to prevent impulse reversal. Mirrors gstack's safety primitives for the business layer. Use when an irreversible decision was made under pressure — e.g. a layoff plan or multi-year contract — and deserves a cooling-off lock before execution.
Command: /cs:freeze <decision-path> <days>
Locks a decision for a defined cooldown period. During the freeze, the chief-of-staff router refuses to re-litigate the decision unless a kill criterion explicitly triggers.
Inspired by gstack's /freeze and /guard safety primitives — adapted from code-scoping to strategic-scoping.
Founders are pattern-matchers; pattern-matching after a tough decision often produces a reversal that's actually just decision fatigue. The freeze enforces a discipline:
| Decision type | Default freeze | |---|---| | Fundraise round size / lead choice | 30 days | | Pricing change | 60 days | | Market entry / exit | 90 days | | Layoff / RIF | 30 days | | Strategic pivot | 90 days | | Personnel (exec hire / fire) | 60 days | | M&A LOI | 30 days | | Custom | specify in command |
freeze_until: YYYY-MM-DD to the decision record~/.claude/freezes/active.mdThe decision record is updated in place:
# Decision: <title>
...
**Status:** FROZEN
**Frozen until:** YYYY-MM-DD
**Reason for freeze:** <text>
**Override condition:** Kill criterion <name> triggers OR founder issues `/cs:unfreeze` with stated reason
The active-freezes index is updated:
# Active Freezes
**Updated:** YYYY-MM-DD
| Decision | Frozen until | Override condition |
|---|---|---|
| <decision title> | YYYY-MM-DD | <kill criterion or /cs:unfreeze> |
To unfreeze before the period ends, the founder runs:
/cs:unfreeze <decision> <reason>
The unfreeze is logged in the decision history (preserved permanently). Forced overrides create a paper trail that surfaces at post-mortem.
If a kill criterion in the decision triggers, the freeze auto-releases and the chief-of-staff routes immediately to /cs:post-mortem. The freeze does not protect against reality; it protects against impulse.
Founders have authority. Without an explicit lock + log, every wobble produces a "let's discuss this again" — which is exhausting for advisors and erodes the value of the boardroom. The freeze is a process, not a rule; it logs every override so the post-mortem can audit founder discipline.
/cs:unfreeze — explicit early release/cs:post-mortem — auto-triggered if kill criterion fires/cs:boardroom — blocked until unfreeze or expirydecision-loggercs-chief-of-staff — enforces freezes in routingVersion: 1.0.0
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/freeze · pinned to the source commit
# Run from your project root
git clone https://github.com/alirezarezvani/claude-skills.git .skillboard-tmp
git -C .skillboard-tmp checkout 19392f7a08264ed00486a251f5b2098321771f94
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/.gemini/skills/freeze" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/alirezarezvani/claude-skills.git .skillboard-tmp
git -C .skillboard-tmp checkout 19392f7a08264ed00486a251f5b2098321771f94
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/.gemini/skills/freeze" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/freeze
Scanner static-checks@0.1.0 · commit 19392f7a0826. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
References parent-directory traversal, which can escape a target directory.
Evidence: ../· fingerprint fa08499e14d0113b