interactive-menu-builder-5-confirmation-dialogs
Sub-skill of interactive-menu-builder: 5. Confirmation Dialogs (+1).
Best use case
interactive-menu-builder-5-confirmation-dialogs is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of interactive-menu-builder: 5. Confirmation Dialogs (+1).
Teams using interactive-menu-builder-5-confirmation-dialogs should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/5-confirmation-dialogs/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How interactive-menu-builder-5-confirmation-dialogs Compares
| Feature / Agent | interactive-menu-builder-5-confirmation-dialogs | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of interactive-menu-builder: 5. Confirmation Dialogs (+1).
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 5. Confirmation Dialogs (+1)
## 5. Confirmation Dialogs
Request user confirmation:
```bash
#!/bin/bash
# ABOUTME: Confirmation dialog patterns
# ABOUTME: Yes/No prompts with defaults
# Simple yes/no
confirm() {
local prompt="${1:-Are you sure?}"
local default="${2:-n}" # Default to no
if [[ "$default" == "y" ]]; then
prompt+=" [Y/n]: "
else
prompt+=" [y/N]: "
fi
read -p "$prompt" response
response="${response:-$default}"
[[ "${response,,}" == "y" || "${response,,}" == "yes" ]]
}
# Confirmation with explanation
confirm_action() {
local action="$1"
local details="$2"
echo ""
echo -e "${YELLOW}⚠ Confirmation Required${NC}"
echo ""
echo "Action: $action"
[[ -n "$details" ]] && echo "Details: $details"
echo ""
confirm "Proceed?" "n"
}
# Dangerous action confirmation
confirm_dangerous() {
local action="$1"
local confirm_word="${2:-DELETE}"
echo ""
echo -e "${RED}⚠ DANGEROUS OPERATION${NC}"
echo ""
echo "This action cannot be undone!"
echo "Action: $action"
echo ""
echo -e "Type '${YELLOW}${confirm_word}${NC}' to confirm:"
read -p "> " response
[[ "$response" == "$confirm_word" ]]
}
# Usage
if confirm "Delete all logs?"; then
rm -rf logs/*
fi
if confirm_dangerous "Delete all repositories" "DELETE"; then
# Perform dangerous action
echo "Proceeding..."
fi
```
## 6. Progress Indicators
Show progress during operations:
```bash
#!/bin/bash
# ABOUTME: Progress indicator patterns
# ABOUTME: Spinners, bars, and status updates
# Spinner
spinner() {
local pid=$1
local message="${2:-Processing}"
local spin='⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏'
local i=0
while kill -0 "$pid" 2>/dev/null; do
i=$(( (i+1) % ${#spin} ))
printf "\r${CYAN}%s${NC} %s" "${spin:$i:1}" "$message"
sleep 0.1
done
printf "\r${GREEN}✓${NC} %s\n" "$message"
}
# Usage
long_running_task &
spinner $! "Running long task..."
# Progress bar
progress_bar() {
local current=$1
local total=$2
local width=40
local percent=$((current * 100 / total))
local filled=$((current * width / total))
local empty=$((width - filled))
printf "\r["
printf "%${filled}s" | tr ' ' '█'
printf "%${empty}s" | tr ' ' '░'
printf "] %3d%% (%d/%d)" "$percent" "$current" "$total"
}
# Usage
total=100
for i in $(seq 1 $total); do
progress_bar $i $total
sleep 0.05
done
echo ""
# Status updates
status_line() {
local message="$1"
printf "\r\033[K%s" "$message" # Clear line and print
}
# Completion markers
mark_done() {
local message="$1"
echo -e "${GREEN}✓${NC} $message"
}
mark_fail() {
local message="$1"
echo -e "${RED}✗${NC} $message"
}
mark_skip() {
local message="$1"
echo -e "${YELLOW}⊘${NC} $message"
}
```Related Skills
interactive-report-generator
Generate interactive HTML reports with Plotly visualizations from data analysis results. Supports dashboards, charts, and professional styling.
interactive-Codex-to-file-based-fallback
Switch from tmux/interactive Codex to file-based Codex -p execution when interactive runs fail with upstream errors or analysis-only stalls, then verify landing from git/GitHub state.
interactive-issue-execution-worktree-guardrails
Execute approved GitHub issues in isolated worktrees with interactive Codex/Codex runs, while containing agent drift and salvaging progress when provider/runtime problems occur.
mcp-builder
Guide for building high-quality Model Context Protocol (MCP) servers that allow LLMs to interact with external services. Use when creating new MCP integrations, tools, or servers for Codex or other AI systems.
rag-system-builder
Build Retrieval-Augmented Generation (RAG) Q&A systems with Codex or OpenAI. Use for creating AI assistants that answer questions from document collections, technical libraries, or knowledge bases.
knowledge-base-builder
Build searchable knowledge bases from document collections (PDFs, Word, text files). Use for creating technical libraries, standards repositories, research databases, or any large document collection requiring full-text search.
interactive-dashboard-builder
Create self-contained HTML/JavaScript dashboards with Chart.js, filters, and professional styling
web-artifacts-builder-self-contained-architecture
Sub-skill of web-artifacts-builder: Self-Contained Architecture (+1).
web-artifacts-builder-file-naming
Sub-skill of web-artifacts-builder: File Naming (+2).
web-artifacts-builder-common-cdn-libraries
Sub-skill of web-artifacts-builder: Common CDN Libraries.
web-artifacts-builder-basic-template
Sub-skill of web-artifacts-builder: Basic Template.
web-artifacts-builder
Build self-contained interactive web applications as single HTML files. Use for creating demos, prototypes, interactive tools, and standalone web experiences that work without external servers.