From attune
Assesses decision reversibility and risk at checkpoints in PR reviews, issues, and architecture changes to determine War Room escalation need.
npx claudepluginhub athola/claude-night-market --plugin attuneThis skill uses the workspace's default tool permissions.
Lightweight inline assessment for determining whether a decision point within a command warrants War Room escalation.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Lightweight inline assessment for determining whether a decision point within a command warrants War Room escalation.
Run make test-checkpoint to verify checkpoint logic works correctly after changes.
This skill is not invoked directly by users. It is called by other commands (e.g., /do-issue, /pr-review) at critical decision points to:
| Command | Trigger Conditions |
|---|---|
/do-issue | 3+ issues, dependency conflicts, overlapping files |
/pr-review | >3 blocking issues, architecture changes, ADR violations |
/architecture-review | ADR violations, high coupling, boundary violations |
/fix-pr | Major scope, conflicting reviewer feedback |
Skill(attune:war-room-checkpoint) with context:
- source_command: "{calling_command}"
- decision_needed: "{human_readable_question}"
- files_affected: [{list_of_files}]
- issues_involved: [{issue_numbers}] (if applicable)
- blocking_items: [{type, description}] (if applicable)
- conflict_description: "{summary}" (if applicable)
- profile: "default" | "startup" | "regulated" | "fast" | "cautious"
Analyze the provided context to extract:
Calculate RS using the 5-dimension framework:
| Dimension | Assessment Question |
|---|---|
| Reversal Cost | How hard to undo this decision? |
| Time Lock-In | Does this crystallize immediately? |
| Blast Radius | How many components/people affected? |
| Information Loss | Does this close off future options? |
| Reputation Impact | Is this visible externally? |
Score each 1-5, calculate RS = Sum / 25.
Apply profile thresholds to determine mode:
if RS <= profile.express_ceiling:
mode = "express"
elif RS <= profile.lightweight_ceiling:
mode = "lightweight"
elif RS <= profile.full_council_ceiling:
mode = "full_council"
else:
mode = "delphi"
Return immediately with recommendation:
response:
should_escalate: false
selected_mode: "express"
reversibility_score: {rs}
decision_type: "Type 2"
recommendation: "{quick_recommendation}"
rationale: "{brief_explanation}"
confidence: 0.9
requires_user_confirmation: false
Invoke full War Room and return results:
response:
should_escalate: true
selected_mode: "{lightweight|full_council|delphi}"
reversibility_score: {rs}
decision_type: "{Type 1B|1A|1A+}"
war_room_session_id: "{session_id}"
orders: ["{order_1}", "{order_2}"]
rationale: "{war_room_rationale}"
confidence: {calculated_confidence}
requires_user_confirmation: {true_if_confidence_low}
For escalated decisions, calculate confidence for auto-continue:
confidence = 1.0
- 0.10 * dissenting_view_count
- 0.20 if voting_margin < 0.3
- 0.15 if RS > 0.80
- 0.10 if novel_domain
- 0.10 if compound_decision
+ 0.20 if unanimous (cap at 1.0)
requires_user_confirmation = (confidence <= 0.8)
| Profile | Express | Lightweight | Full Council | Use Case |
|---|---|---|---|---|
| default | 0.40 | 0.60 | 0.80 | Balanced |
| startup | 0.55 | 0.75 | 0.90 | Move fast |
| regulated | 0.25 | 0.45 | 0.65 | Compliance |
| fast | 0.50 | 0.70 | 0.90 | Speed priority |
| cautious | 0.30 | 0.50 | 0.70 | Higher stakes |
| Command | Adjustment | Rationale |
|---|---|---|
| do-issue (3+ issues) | -0.10 | Higher risk with multiple issues |
| pr-review (strict mode) | -0.15 | Strict mode = higher scrutiny |
| architecture-review | -0.05 | Architecture inherently consequential |
Return a structured response that the calling command can act on:
## Checkpoint Response
**Source**: {source_command}
**Decision**: {decision_needed}
### Assessment
- **RS**: {reversibility_score} ({decision_type})
- **Mode**: {selected_mode}
- **Escalated**: {yes|no}
### Recommendation
{recommendation_or_orders}
### Control Flow
- **Confidence**: {confidence}
- **Auto-continue**: {yes|no}
{user_prompt_if_needed}
requires_user_confirmationorders or recommendationIf checkpoint invocation fails:
Checkpoints are logged to:
~/.claude/memory-palace/strategeion/checkpoints/{date}/{checkpoint-id}.json
Each file contains a CheckpointEntry with: checkpoint_id, session_id, phase,
action, reversibility_score, dimensions, confidence, files_affected, and
requires_user_confirmation.
After a war room session completes and persist_session() is called, an audit report
is written automatically to:
~/.claude/memory-palace/strategeion/war-table/{session-id}/audit-report.json
The report consolidates: all checkpoints for the session, the expert panel, voting summary with unanimity score, escalation history, final decision and rationale, and a Merkle-DAG integrity verification block. The verification recomputes every node hash against the stored values so any tampering with deliberation content is detectable.
Use AuditTrailManager from scripts.war_room.audit_trail to query checkpoints or
generate reports programmatically:
from scripts.war_room.audit_trail import AuditTrailManager
manager = AuditTrailManager()
checkpoints = manager.get_checkpoints("war-room-20260303-100000")
audited = manager.list_audited_sessions()
Input:
source_command: "do-issue"
decision_needed: "Execution order for issues #101, #102"
issues_involved: [101, 102]
files_affected: ["src/utils/helper.py", "tests/test_helper.py"]
Assessment:
RS: 0.20 (Type 2)
Response:
should_escalate: false
selected_mode: "express"
recommendation: "Execute in parallel - no dependencies detected"
confidence: 0.95
requires_user_confirmation: false
Input:
source_command: "pr-review"
decision_needed: "Review verdict for PR #456"
blocking_items:
- {type: "architecture", description: "New service without ADR"}
- {type: "breaking", description: "API contract change"}
- {type: "security", description: "Auth flow modification"}
- {type: "scope", description: "Unrelated payment refactor"}
files_affected: ["src/auth/", "src/api/", "src/payment/", "src/services/new/"]
Assessment:
RS: 0.64 (Type 1A)
Response:
should_escalate: true
selected_mode: "full_council"
war_room_session_id: "war-room-20260125-143025"
orders:
- "Split PR: auth changes separate from payment refactor"
- "Require ADR for new service before merge"
- "API change: add migration path, not blocking"
confidence: 0.75
requires_user_confirmation: true
Skill(attune:war-room) - Full War Room deliberationSkill(attune:war-room)/modules/reversibility-assessment.md - RS framework/attune:war-room - Standalone War Room invocation/do-issue - Issue implementation (uses this checkpoint)/pr-review - PR review (uses this checkpoint)/architecture-review - Architecture review (uses this checkpoint)/fix-pr - PR fix (uses this checkpoint)