state-directory-manager-5-cache-management
について
このスキルは、bashスクリプト内でキャッシュデータを保存・取得するためのTTL(生存時間)付きキャッシュ管理機能を提供します。キャッシュの有効性確認、キャッシュアイテムの取得、設定可能な有効期限によるキャッシュファイル管理を行う関数を備えています。コマンドラインツールやスクリプトに自動期限切れ機能付きの永続的キャッシュを実装する必要がある場合にご利用ください。
クイックインストール
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-manager-5-cache-managementこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
5. Cache Management (+1)
5. Cache Management
Implement caching with expiration:
#!/bin/bash
# ABOUTME: Cache management with TTL
# ABOUTME: Store and retrieve cached data
CACHE_TTL="${CACHE_TTL:-3600}" # 1 hour default
# Get cache file path
cache_path() {
local key="$1"
local hash=$(echo -n "$key" | md5sum | cut -c1-16)
echo "$CACHE_DIR/${hash}"
}
# Check if cache is valid
cache_valid() {
local key="$1"
local ttl="${2:-$CACHE_TTL}"
local path=$(cache_path "$key")
if [[ -f "$path" ]]; then
local age=$(($(date +%s) - $(stat -c %Y "$path" 2>/dev/null || stat -f %m "$path")))
[[ $age -lt $ttl ]]
else
return 1
fi
}
# Get from cache
cache_get() {
local key="$1"
local ttl="${2:-$CACHE_TTL}"
local path=$(cache_path "$key")
if cache_valid "$key" "$ttl"; then
cat "$path"
return 0
fi
return 1
}
# Set cache
cache_set() {
local key="$1"
local value="$2"
local path=$(cache_path "$key")
mkdir -p "$CACHE_DIR"
echo "$value" > "$path"
}
# Delete cache
cache_delete() {
local key="$1"
local path=$(cache_path "$key")
rm -f "$path"
}
# Clear all cache
cache_clear() {
rm -rf "$CACHE_DIR"/*
}
# Clean expired cache entries
cache_clean() {
local ttl="${1:-$CACHE_TTL}"
find "$CACHE_DIR" -type f -mmin "+$((ttl / 60))" -delete 2>/dev/null || true
}
# Usage with automatic caching
get_with_cache() {
local key="$1"
local command="$2"
local ttl="${3:-$CACHE_TTL}"
if cache_valid "$key" "$ttl"; then
cache_get "$key"
else
local result
result=$(eval "$command")
cache_set "$key" "$result"
echo "$result"
fi
}
# Example
result=$(get_with_cache "api_response" "curl -s https://api.example.com/data" 300)
6. Log File Management
Manage logs with rotation:
#!/bin/bash
# ABOUTME: Log file management with rotation
# ABOUTME: Automatic cleanup of old logs
LOG_FILE="$LOG_DIR/app.log"
LOG_MAX_SIZE=$((10 * 1024 * 1024)) # 10MB
LOG_MAX_FILES=5
# Initialize logging
init_logging() {
mkdir -p "$LOG_DIR"
touch "$LOG_FILE"
}
# Write to log
log_to_file() {
local level="$1"
shift
local message="$*"
local timestamp=$(date '+%Y-%m-%d %H:%M:%S')
echo "[$timestamp] $level: $message" >> "$LOG_FILE"
# Check if rotation needed
maybe_rotate_logs
}
# Rotate logs if needed
maybe_rotate_logs() {
if [[ -f "$LOG_FILE" ]]; then
local size=$(stat -c %s "$LOG_FILE" 2>/dev/null || stat -f %z "$LOG_FILE")
if [[ $size -gt $LOG_MAX_SIZE ]]; then
rotate_logs
fi
fi
}
# Perform log rotation
rotate_logs() {
# Remove oldest
rm -f "${LOG_FILE}.${LOG_MAX_FILES}"
# Shift existing
for ((i=LOG_MAX_FILES-1; i>=1; i--)); do
if [[ -f "${LOG_FILE}.$i" ]]; then
mv "${LOG_FILE}.$i" "${LOG_FILE}.$((i+1))"
fi
done
# Rotate current
if [[ -f "$LOG_FILE" ]]; then
mv "$LOG_FILE" "${LOG_FILE}.1"
touch "$LOG_FILE"
fi
}
# Clean old logs
clean_old_logs() {
local days="${1:-30}"
find "$LOG_DIR" -name "*.log*" -mtime "+$days" -delete 2>/dev/null || true
}
# View recent logs
tail_logs() {
local lines="${1:-50}"
tail -n "$lines" "$LOG_FILE"
}
# Search logs
search_logs() {
local pattern="$1"
grep -h "$pattern" "$LOG_DIR"/*.log* 2>/dev/null | tail -100
}
GitHub リポジトリ
関連スキル
algorithmic-art
メタThis Claude Skill creates original algorithmic art using p5.js with seeded randomness and interactive parameters. It generates .md files for algorithmic philosophies, plus .html and .js files for interactive generative art implementations. Use it when developers need to create flow fields, particle systems, or other computational art while avoiding copyright issues.
subagent-driven-development
開発This skill executes implementation plans by dispatching a fresh subagent for each independent task, with code review between tasks. It enables fast iteration while maintaining quality gates through this review process. Use it when working on mostly independent tasks within the same session to ensure continuous progress with built-in quality checks.
executing-plans
デザインUse the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.
cost-optimization
その他This Claude Skill helps developers optimize cloud costs through resource rightsizing, tagging strategies, and spending analysis. It provides a framework for reducing cloud expenses and implementing cost governance across AWS, Azure, and GCP. Use it when you need to analyze infrastructure costs, right-size resources, or meet budget constraints.
