Guides God Committee members through consensus-building for collective decisions. Use for proposals, voting, and disagreement resolution. Triggers on: consensus, voting, proposal, committee decision.
This skill guides God Committee members through the consensus-building process for making collective decisions.
Use this skill when:
Per .god/config.json, these actions require consensus:
Before proposing, gather evidence and formulate your rationale:
## Proposal Preparation
### Issue Identified
[Clear description of the problem]
### Evidence
- [Log entry/observation 1]
- [Log entry/observation 2]
- [Metric or data point]
### Proposed Action
[Specific action to take]
### Expected Outcome
[What success looks like]
### Risks
[Potential downsides]
### Alternatives Considered
[Other options and why not chosen]
./scripts/god/council.sh lock YOUR_ID
./scripts/god/council.sh propose YOUR_ID "TYPE" "DESCRIPTION" "RATIONALE"
Proposal Types:
intervention - Active intervention in executionrepair - Fix or repair actionpolicy_change - Change to rules or configurationtermination - Stop project executionrollback - Revert to previous stateExample:
./scripts/god/council.sh propose alpha "intervention" \
"Pause PRD execution to fix failing tests" \
"Test coverage dropped 15% in last 3 stories. Need to address before proceeding."
The proposal system automatically notifies all members. The message will be in their inboxes.
./scripts/god/council.sh unlock YOUR_ID
# Check pending decisions
./scripts/god/council.sh status
# Read the specific proposal
cat .god/council/decisions/DECISION_ID.json | jq '.'
Consider these questions:
Is the problem real?
Is the solution appropriate?
Is it timely?
./scripts/god/council.sh lock YOUR_ID
./scripts/god/council.sh vote YOUR_ID "DECISION_ID" "VOTE" "COMMENT"
./scripts/god/council.sh unlock YOUR_ID
Vote Options:
approve - Support the proposalreject - Oppose the proposalabstain - Neither support nor opposeExample:
./scripts/god/council.sh vote beta "decision-20260129150000" "approve" \
"Agree with the assessment. Tests should be fixed before proceeding."
Always add a comment explaining your vote:
## Vote: [APPROVE/REJECT/ABSTAIN]
### Reasoning
[Why you voted this way]
### Conditions (if any)
[Conditions for your support]
### Alternative Suggestion (if rejecting)
[What you'd propose instead]
Ideal scenario - all members agree:
Alpha: approve
Beta: approve
Gamma: approve
Result: APPROVED (unanimous)
Quorum reached with majority:
Alpha: approve
Beta: approve
Gamma: reject
Result: APPROVED (2/3 majority)
When members disagree significantly:
Initiate Discussion Session
./scripts/god/council.sh session-start "Resolving: PROPOSAL_TOPIC"
Each Member States Position
Seek Compromise
Re-vote if Needed
If consensus cannot be reached:
Defer Decision
Escalate Scope
Time-box Discussion
In critical situations, expedited consensus is allowed:
Declare Emergency
./scripts/god/awakener.sh critical "REASON"
Take Immediate Action
Post-Action Review
## Emergency Action Report
### Timestamp
[When action was taken]
### Acting Member
[Who took the action]
### Situation
[What triggered the emergency]
### Action Taken
[What was done]
### Justification
[Why immediate action was needed]
### Outcome
[Result of the action]
### Post-Action Votes
- Alpha: [pending/approved/rejected]
- Beta: [pending/approved/rejected]
- Gamma: [pending/approved/rejected]
All decisions are recorded in .god/council/decisions/ with this structure:
{
"decisionId": "decision-20260129150000",
"type": "intervention",
"status": "decided",
"createdAt": "2026-01-29T15:00:00Z",
"decidedAt": "2026-01-29T15:30:00Z",
"proposal": {
"author": "alpha",
"description": "...",
"rationale": "..."
},
"votes": {
"alpha": {"vote": "approve", "comment": "...", "timestamp": "..."},
"beta": {"vote": "approve", "comment": "...", "timestamp": "..."},
"gamma": {"vote": "abstain", "comment": "...", "timestamp": "..."}
},
"quorum": 2,
"result": "approved",
"executedAt": "2026-01-29T15:35:00Z"
}
Once a decision is reached:
# After approved decision
./scripts/god/observer.sh event "decision" "Proposal approved: DESCRIPTION"
# Execute the action
[perform the approved action]
# Mark as executed
jq '.executedAt = "'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'"' \
.god/council/decisions/DECISION_ID.json > tmp && mv tmp .god/council/decisions/DECISION_ID.json