interactive-menu-builder-3-table-display
정보
이 스킬은 CLI 메뉴에서 형식화된 데이터 테이블을 표시하기 위한 Bash 함수를 제공하며, 정렬된 열과 헤더를 특징으로 합니다. 일관된 텍스트 기반 테이블 레이아웃을 위한 `print_table_header` 및 `print_table_row`와 같은 유틸리티를 포함합니다. 구조화되고 가독성 있는 데이터 표시가 필요한 대화형 명령줄 인터페이스를 구축할 때 사용하세요.
빠른 설치
Claude Code
추천npx skills add vamseeachanta/workspace-hub/plugin add https://github.com/vamseeachanta/workspace-hubgit clone https://github.com/vamseeachanta/workspace-hub.git ~/.claude/skills/interactive-menu-builder-3-table-displayClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
3. Table Display (+1)
3. Table Display
Display data in formatted tables:
#!/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:
#!/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
GitHub 저장소
연관 스킬
content-collections
메타This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
polymarket
메타This skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.
creating-opencode-plugins
메타This skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.
cloudflare-turnstile
메타This skill provides comprehensive guidance for implementing Cloudflare Turnstile as a CAPTCHA-alternative bot protection system. It covers integration for forms, login pages, API endpoints, and frameworks like React/Next.js/Hono, while handling invisible challenges that maintain user experience. Use it when migrating from reCAPTCHA, debugging error codes, or implementing token validation and E2E tests.
