json-config-loader-3-json-report-generation
Acerca de
Esta habilidad genera informes estructurados en JSON a partir de datos de bash utilizando jq para una codificación y formato adecuados. Proporciona funciones para crear objetos JSON a partir de arreglos asociativos e informes estructurados con marcas de tiempo y metadatos de ejecución. Úsala cuando necesites generar JSON legible por máquina desde scripts de shell para registro, monitoreo o intercambio de datos.
Instalación rápida
Claude Code
Recomendadonpx skills add vamseeachanta/workspace-hub/plugin add https://github.com/vamseeachanta/workspace-hubgit clone https://github.com/vamseeachanta/workspace-hub.git ~/.claude/skills/json-config-loader-3-json-report-generationCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
3. JSON Report Generation
3. JSON Report Generation
Generate structured JSON reports:
#!/bin/bash
# ABOUTME: Generate JSON reports from bash data
# ABOUTME: Uses jq for proper JSON encoding and structure
# Generate simple JSON object
generate_json_object() {
local -n data=$1 # Nameref to associative array
local json="{}"
for key in "${!data[@]}"; do
local value="${data[$key]}"
json=$(echo "$json" | jq --arg k "$key" --arg v "$value" '. + {($k): $v}')
done
echo "$json"
}
# Generate JSON report with structure
generate_report() {
local status="$1"
local total="$2"
local errors="$3"
local warnings="$4"
jq -n \
--arg status "$status" \
--arg timestamp "$(date -Iseconds)" \
--arg run_id "$(date +%Y%m%d-%H%M%S)" \
--argjson total "$total" \
--argjson errors "$errors" \
--argjson warnings "$warnings" \
'{
metadata: {
status: $status,
timestamp: $timestamp,
run_id: $run_id
},
summary: {
total_processed: $total,
errors: $errors,
warnings: $warnings,
success_rate: (if $total > 0 then (($total - $errors) * 100 / $total) else 0 end)
}
}'
}
# Add items to JSON report
add_report_items() {
local report="$1"
shift
local items=("$@")
# Convert items array to JSON array
local items_json="[]"
for item in "${items[@]}"; do
items_json=$(echo "$items_json" | jq --arg i "$item" '. + [$i]')
done
echo "$report" | jq --argjson items "$items_json" '. + {items: $items}'
}
# Save report to file
save_report() {
local report="$1"
local file="$2"
mkdir -p "$(dirname "$file")"
echo "$report" | jq '.' > "$file"
echo "Report saved: $file"
}
# Usage
report=$(generate_report "success" 100 5 10)
report=$(add_report_items "$report" "item1" "item2" "item3")
save_report "$report" "reports/analysis-$(date +%Y%m%d).json"
Repositorio GitHub
Habilidades relacionadas
algorithmic-art
MetaThis 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
DesarrolloThis 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
DiseñoUse 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
OtroThis 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.
