decision-gate
SKILL.md
Decision Gate
Overview
Use strict decision checkpoints that always require user input. Always call the
platform-appropriate script in scripts/ (decision_gate.py) before sending any final response
or ending a task. Always pass --interact to enforce an interactive prompt that blocks until the
user responds. No built-in timeout is enforced; set one in the caller if needed.
Mandatory Workflow
- For every user prompt, call the decision script with
--interactand wait for the user's explicit response. - Do not provide a default answer. If no response is received, keep waiting.
- Before sending the final response, call the decision script for explicit approval.
- If the user selects
new-task, stop the current flow and execute the new task instead. Do not mark the task complete without approval.
Decision Script
The script prompts once and waits for input. It prints prompts to stderr and emits JSON on stdout.
Run it in an interactive terminal (separate window or VS Code terminal).
JSON input (optional)
Create an input file with these fields:
{
"question": "Approve the final response?",
"options": ["approve", "revise", "cancel", "new-task"],
"context": "Summary of what is ready to ship",
"default": "new-task",
"allow_empty": false
}
Call:
scripts/decision_gate.sh --interact --input path/to/decision.json
Output
The script returns JSON like this:
{
"status": "ok",
"question": "Proceed to step 2?",
"context": null,
"options": ["yes", "no", "change"],
"raw_answer": "yes",
"answer": "yes",
"answer_index": 0,
"timestamp": "2026-01-11T12:00:00Z"
}
Use answer and answer_index to decide whether to proceed or to ask follow-up questions using the script again.
RED flag
- Don't stop the task without confirmation when calling this skill.
- Don't respond to the user without waiting for the decision gate response.
Weekly Installs
2
Repository
nguyentien06ck3…novationGitHub Stars
1
First Seen
Feb 1, 2026
Security Audits
Installed on
opencode2
codex2
mcpjam1
claude-code1
windsurf1
zencoder1