state-directory-manager
정보
이 스킬은 bash 스크립트를 위한 XDG 규격 준수 영구 상태 디렉터리 관리를 제공하며, 경로 해석과 정리를 자동으로 처리합니다. 실행 간에 설정을 저장하거나 캐시 데이터를 유지하거나 로그를 관리해야 하는 CLI 도구에 이상적입니다. 개발자는 실행 간 상태 지속성이 필요한 이식 가능한 스크립트를 구축할 때 이를 사용해야 합니다.
빠른 설치
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/state-directory-managerClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
State Directory Manager
When to Use This Skill
✅ Use when:
- Scripts need to persist data between runs
- Storing user preferences or configuration
- Caching results for performance
- Managing log files with rotation
- Creating portable CLI tools
❌ Avoid when:
- One-time scripts that don't need state
- Scripts that should be purely stateless
- When environment variables are sufficient
Complete Example: State Manager Module
#!/bin/bash
# ABOUTME: Complete state directory manager
# ABOUTME: Reusable module for bash scripts
# ─────────────────────────────────────────────────────────────────
# State Directory Manager v1.0.0
# ─────────────────────────────────────────────────────────────────
# Application identity (override in your script)
: "${STATE_APP_NAME:=my-app}"
# Directory setup
STATE_BASE_DIR="${HOME}/.${STATE_APP_NAME}"
STATE_CONFIG_DIR="$STATE_BASE_DIR/config"
STATE_DATA_DIR="$STATE_BASE_DIR/data"
STATE_CACHE_DIR="$STATE_BASE_DIR/cache"
STATE_LOG_DIR="$STATE_BASE_DIR/logs"
STATE_TMP_DIR="$STATE_BASE_DIR/tmp"
# File paths
STATE_CONFIG_FILE="$STATE_CONFIG_DIR/config"
STATE_STATE_FILE="$STATE_DATA_DIR/state"
STATE_LOG_FILE="$STATE_LOG_DIR/app.log"
*See sub-skills for full details.*
## Usage in Scripts
```bash
#!/bin/bash
# Your script that uses the state manager
# Set app name before sourcing
STATE_APP_NAME="my-tool"
# Source the state manager
source /path/to/state-manager.sh
# Now use it
state_config_set "api_key" "abc123"
api_key=$(state_config_get "api_key")
state_set "last_run" "$(date -Iseconds)"
state_log "INFO" "Script started"
# Use cache
if ! result=$(state_cache_get "api_response"); then
result=$(curl -s https://api.example.com/data)
state_cache_set "api_response" "$result"
fi
Resources
Version History
- 1.0.0 (2026-01-14): Initial release - extracted from workspace-hub patterns
Sub-Skills
GitHub 저장소
연관 스킬
usage-tracker
기타The usage-tracker skill enables developers to track and analyze tool or resource usage over time through timestamped logging and reporting. It's designed for generating periodic usage reports, monitoring quotas, and detecting usage trends, but is not suitable for real-time or high-frequency event tracking. Key capabilities include daily/weekly/monthly breakdowns and pattern analysis for building dashboards.
parallel-batch-executor
기타This skill enables parallel task execution in bash using xargs and job control for significant performance gains. It's ideal for batch operations on independent items like multiple files or repositories, particularly for I/O-bound tasks. Developers should use it when order doesn't matter and avoid it for tasks with dependencies or shared resource requirements.
cross-platform-compat
기타This skill provides canonical bash patterns and command replacements for writing portable scripts across Windows Git Bash, Linux, and macOS. It includes OS detection and fixes for common breaking commands like `bc`, `python3`, `nproc`, and `sed -i`. Use it when writing or auditing scripts that need to run reliably on different development machines.
interactive-menu-builder
기타This skill enables developers to build multi-level, interactive CLI menus with navigation and selection for bash scripts. It's ideal for creating user-friendly CLI tools that require complex option navigation or consolidating multiple scripts. Use it for human-facing tools, but avoid it for simple automation or single-purpose scripts.
