interactive-menu-builder-3-table-display
Sub-skill of interactive-menu-builder: 3. Table Display (+1).
Best use case
interactive-menu-builder-3-table-display is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of interactive-menu-builder: 3. Table Display (+1).
Teams using interactive-menu-builder-3-table-display 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/3-table-display/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How interactive-menu-builder-3-table-display Compares
| Feature / Agent | interactive-menu-builder-3-table-display | 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: 3. Table Display (+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
# 3. Table Display (+1)
## 3. Table Display
Display data in formatted tables:
```bash
#!/bin/bash
# ABOUTME: Table display functions for CLI menus
# ABOUTME: Format data in aligned columns with headers
# Print table header
print_table_header() {
local -a headers=("$@")
local format=""
# Build format string
for header in "${headers[@]}"; do
format+="%-20s "
done
echo ""
printf "${CYAN}${format}${NC}\n" "${headers[@]}"
printf "${CYAN}%s${NC}\n" "$(printf '─%.0s' {1..80})"
}
# Print table row
print_table_row() {
local format=""
local -a values=("$@")
for _ in "${values[@]}"; do
format+="%-20s "
done
printf "${format}\n" "${values[@]}"
}
# Display repository table
show_repo_table() {
print_table_header "Repository" "Category" "Status" "Branch"
for repo in "${REPOS[@]}"; do
local category=$(get_category "$repo")
local status=$(get_status "$repo")
local branch=$(get_branch "$repo")
# Color-code status
case "$status" in
"Clean") status="${GREEN}Clean${NC}" ;;
"Modified") status="${YELLOW}Modified${NC}" ;;
"Untracked") status="${RED}Untracked${NC}" ;;
esac
print_table_row "$repo" "$category" "$status" "$branch"
done
}
```
## 4. Selection Lists
Let users select from a list:
```bash
#!/bin/bash
# ABOUTME: Selection list patterns
# ABOUTME: Single and multi-select from numbered lists
# Single selection
select_single() {
local prompt="$1"
shift
local -a options=("$@")
echo ""
for i in "${!options[@]}"; do
echo " $((i+1))) ${options[$i]}"
done
echo ""
echo " 0) Cancel"
echo ""
read -p "$prompt: " choice
if [[ "$choice" == "0" ]]; then
return 1
elif [[ "$choice" -ge 1 && "$choice" -le ${#options[@]} ]]; then
SELECTED="${options[$((choice-1))]}"
return 0
else
echo -e "${RED}Invalid selection${NC}"
return 1
fi
}
# Multi-selection
select_multiple() {
local prompt="$1"
shift
local -a options=("$@")
local -a selected=()
echo ""
echo "Enter numbers separated by spaces (or 'all' for all):"
echo ""
for i in "${!options[@]}"; do
echo " $((i+1))) ${options[$i]}"
done
echo ""
read -p "$prompt: " input
if [[ "$input" == "all" ]]; then
SELECTED=("${options[@]}")
return 0
fi
for num in $input; do
if [[ "$num" -ge 1 && "$num" -le ${#options[@]} ]]; then
selected+=("${options[$((num-1))]}")
fi
done
SELECTED=("${selected[@]}")
[[ ${#SELECTED[@]} -gt 0 ]]
}
# Usage
repos=("repo1" "repo2" "repo3" "repo4")
if select_single "Select repository" "${repos[@]}"; then
echo "You selected: $SELECTED"
fi
if select_multiple "Select repositories" "${repos[@]}"; then
echo "You selected: ${SELECTED[*]}"
fi
```Related Skills
interactive-report-generator
Generate interactive HTML reports with Plotly visualizations from data analysis results. Supports dashboards, charts, and professional styling.
portable-pattern-verification-workflow
Multi-package implementation with verification strategy for cross-platform configuration hardening
portable-config-baseline-pattern
Extract machine-agnostic settings into portable template files while keeping machine-specific hooks and plugins separate
portable-baseline-pattern-implementation
Implement portable configuration baselines by separating machine-agnostic settings from machine-specific hooks and plugins
portable-baseline-pattern-extraction
Extract and separate portable baseline config from machine-specific overrides in multi-environment projects
portable-baseline-configuration-pattern
Separate portable/universal config from machine-specific settings to enable safe template reuse across environments
portable-baseline-config-pattern
Separate machine-portable baseline config from environment-specific hooks and plugins
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.
airtable
Airtable REST API via curl. Records CRUD, filters, upserts.
stable-diffusion-image-generation
State-of-the-art text-to-image generation with Stable Diffusion models via HuggingFace Diffusers. Use when generating images from text prompts, performing image-to-image translation, inpainting, or building custom diffusion pipelines.
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.