npx claudepluginhub javimontano/jm-adk-alfaThis skill uses the workspace's default tool permissions.
agents/guardian.mdagents/lead.mdagents/specialist.mdagents/support.mdevals/evals.jsonknowledge/body-of-knowledge.mdknowledge/knowledge-graph.mdprompts/meta.mdprompts/primary.mdprompts/variations/deep.mdprompts/variations/quick.mdreferences/domain-knowledge.mdtemplates/output.docx.mdtemplates/output.htmlSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
--- [EXPLICIT] name: xlsx-template-creator description: [EXPLICIT] Generates XLSX template specifications with columns, formulas, conditional formatting, and dashboard layouts for tracking and metrics. [EXPLICIT] Use when the user asks to "create a spreadsheet template", "build a tracking matrix", "design a metrics dashboard", [EXPLICIT] "generate an XLSX spec", or mentions xlsx template, spreadsheet layout, or KPI dashboard. [EXPLICIT] argument-hint: tracking-matrix|metrics-dashboard title [EXPLICIT] model: opus [EXPLICIT] context: fork [EXPLICIT] allowed-tools: Read, Write, Edit, Glob [EXPLICIT] --- [EXPLICIT] [EXPLICIT]
[EXPLICIT] Generate XLSX template specifications — YAML definitions that describe spreadsheet structure, formulas, validation rules, and conditional formatting for a rendering skill to produce .xlsx files. [EXPLICIT] [EXPLICIT]
[EXPLICIT]
[EXPLICIT] | Signal | Tracking Matrix | Metrics Dashboard | [EXPLICIT] |---|---|---| [EXPLICIT] | Individual task/item tracking | Yes | No | [EXPLICIT] | KPI monitoring over time | No | Yes | [EXPLICIT] | Compliance checklist | Yes | No | [EXPLICIT] | Executive summary | No | Yes | [EXPLICIT] | Both | Create one of each, cross-reference | [EXPLICIT] [EXPLICIT]
[EXPLICIT]
/xlsx-template-creator tracking-matrix "Workflow Execution Tracker" [EXPLICIT]
/xlsx-template-creator metrics-dashboard "Agent Performance Dashboard" [EXPLICIT]
``` [EXPLICIT]
[EXPLICIT]
Parse `$1` as type, `$2` as title. If missing, interview. [EXPLICIT]
[EXPLICIT]
## Before Generating [EXPLICIT]
[EXPLICIT]
1. **Read column spec**: `Read references/xlsx-columns-spec.md` if available [EXPLICIT]
2. **Read source KPIs**: If linked to a skill/workflow, read its metrics [EXPLICIT]
3. **Check existing**: `Glob **/templates/*.xlsx.md` for consistency [EXPLICIT]
[EXPLICIT]
## Tracking Matrix Spec [EXPLICIT]
[EXPLICIT]
3 sheets: **Tracker** (data), **Summary** (aggregation), **Config** (dropdowns) [EXPLICIT]
[EXPLICIT]
```yaml [EXPLICIT]
templateType: tracking-matrix [EXPLICIT]
title: "{{title}}" [EXPLICIT]
[EXPLICIT]
sheets: [EXPLICIT]
- name: Tracker [EXPLICIT]
frozenRows: 1 [EXPLICIT]
frozenCols: 2 [EXPLICIT]
autoFilter: true [EXPLICIT]
columns: [EXPLICIT]
- header: "ID" [EXPLICIT]
width: 8 [EXPLICIT]
type: auto-increment [EXPLICIT]
description: "Unique row identifier" [EXPLICIT]
- header: "Item" [EXPLICIT]
width: 40 [EXPLICIT]
type: text [EXPLICIT]
description: "Task or item being tracked" [EXPLICIT]
- header: "Owner" [EXPLICIT]
width: 20 [EXPLICIT]
type: dropdown [EXPLICIT]
source: "Config!A2:A50" [EXPLICIT]
description: "Responsible person/agent" [EXPLICIT]
- header: "Status" [EXPLICIT]
width: 15 [EXPLICIT]
type: dropdown [EXPLICIT]
source: "Config!B2:B10" [EXPLICIT]
conditionalFormat: [EXPLICIT]
"Completado": { bg: "#c6efce", font: "#006100" } [EXPLICIT]
"En Progreso": { bg: "#ffeb9c", font: "#9c5700" } [EXPLICIT]
"Bloqueado": { bg: "#ffc7ce", font: "#9c0006" } [EXPLICIT]
"Pendiente": { bg: "#f2f2f2", font: "#666666" } [EXPLICIT]
- header: "Priority" [EXPLICIT]
width: 12 [EXPLICIT]
type: dropdown [EXPLICIT]
source: "Config!C2:C5" [EXPLICIT]
conditionalFormat: [EXPLICIT]
"Critica": { bg: "#ffc7ce", font: "#9c0006" } [EXPLICIT]
"Alta": { bg: "#ffeb9c", font: "#9c5700" } [EXPLICIT]
- header: "Start Date" [EXPLICIT]
width: 12 [EXPLICIT]
type: date [EXPLICIT]
format: "YYYY-MM-DD" [EXPLICIT]
- header: "Due Date" [EXPLICIT]
width: 12 [EXPLICIT]
type: date [EXPLICIT]
format: "YYYY-MM-DD" [EXPLICIT]
conditionalFormat: [EXPLICIT]
overdue: { bg: "#ffc7ce" } # Due date today AND status != Completado [EXPLICIT]
- header: "% Complete" [EXPLICIT]
width: 10 [EXPLICIT]
type: percentage [EXPLICIT]
conditionalFormat: [EXPLICIT]
dataBar: { color: "#4472c4", min: 0, max: 1 } [EXPLICIT]
- header: "Notes" [EXPLICIT]
width: 50 [EXPLICIT]
type: text [EXPLICIT]
wrapText: true [EXPLICIT]
[EXPLICIT]
- name: Summary [EXPLICIT]
purpose: "Auto-calculated dashboard from Tracker data" [EXPLICIT]
layout: [EXPLICIT]
- cell: "A1" [EXPLICIT]
value: "Dashboard" [EXPLICIT]
style: { font: "16pt bold" } [EXPLICIT]
- cell: "A3" [EXPLICIT]
label: "Total Items" [EXPLICIT]
formula: "=COUNTA(Tracker!A:A)-1" [EXPLICIT]
- cell: "A4" [EXPLICIT]
label: "Completed" [EXPLICIT]
formula: "=COUNTIF(Tracker!D:D,\"Completado\")" [EXPLICIT]
- cell: "A5" [EXPLICIT]
label: "In Progress" [EXPLICIT]
formula: "=COUNTIF(Tracker!D:D,\"En Progreso\")" [EXPLICIT]
- cell: "A6" [EXPLICIT]
label: "Blocked" [EXPLICIT]
formula: "=COUNTIF(Tracker!D:D,\"Bloqueado\")" [EXPLICIT]
- cell: "A8" [EXPLICIT]
label: "Completion Rate" [EXPLICIT]
formula: "=IF(B30,B4/B3,0)" [EXPLICIT]
format: "0.0%" [EXPLICIT]
- cell: "A9" [EXPLICIT]
label: "Overdue Items" [EXPLICIT]
formula: "=COUNTIFS(Tracker!G:G,\"\"&TODAY(),Tracker!D:D,\"Completado\")" [EXPLICIT]
[EXPLICIT]
- name: Config [EXPLICIT]
purpose: "Dropdown values — edit here to update all dropdowns" [EXPLICIT]
columns: [EXPLICIT]
- header: "Owners (A)" [EXPLICIT]
values: ["{{owner1}}", "{{owner2}}", "{{owner3}}"] [EXPLICIT]
- header: "Status (B)" [EXPLICIT]
values: ["Pendiente", "En Progreso", "En Revision", "Completado", "Bloqueado", "Cancelado"] [EXPLICIT]
- header: "Priority (C)" [EXPLICIT]
values: ["Critica", "Alta", "Media", "Baja"] [EXPLICIT]
``` [EXPLICIT]
[EXPLICIT]
## Metrics Dashboard Spec [EXPLICIT]
[EXPLICIT]
4 sheets: **KPIs** (current vs target), **Trends** (historical), **Alerts** (out-of-range), **Config** (thresholds) [EXPLICIT]
[EXPLICIT]
```yaml [EXPLICIT]
templateType: metrics-dashboard [EXPLICIT]
title: "{{title}}" [EXPLICIT]
[EXPLICIT]
sheets: [EXPLICIT]
- name: KPIs [EXPLICIT]
frozenRows: 1 [EXPLICIT]
columns: [EXPLICIT]
- header: "KPI" [EXPLICIT]
width: 30 [EXPLICIT]
- header: "Current" [EXPLICIT]
width: 12 [EXPLICIT]
type: number [EXPLICIT]
- header: "Target" [EXPLICIT]
width: 12 [EXPLICIT]
type: number [EXPLICIT]
source: "Config!B:B" [EXPLICIT]
- header: "% of Target" [EXPLICIT]
width: 12 [EXPLICIT]
formula: "=IF(C{row}0,B{row}/C{row},0)" [EXPLICIT]
format: "0.0%" [EXPLICIT]
conditionalFormat: [EXPLICIT]
"= 1.0": { bg: "#c6efce", font: "#006100" } [EXPLICIT]
"= 0.7": { bg: "#ffeb9c", font: "#9c5700" } [EXPLICIT]
" 0.7": { bg: "#ffc7ce", font: "#9c0006" } [EXPLICIT]
- header: "Trend (12mo)" [EXPLICIT]
width: 15 [EXPLICIT]
sparkline: "Trends!B{row}:M{row}" [EXPLICIT]
- header: "Status" [EXPLICIT]
width: 10 [EXPLICIT]
formula: "=IF(D{row}=1,\"OK\",IF(D{row}=0.7,\"WARNING\",\"CRITICAL\"))" [EXPLICIT]
[EXPLICIT]
- name: Trends [EXPLICIT]
purpose: "12-month historical data for sparklines" [EXPLICIT]
columns: [EXPLICIT]
- header: "KPI" [EXPLICIT]
width: 30 [EXPLICIT]
- headers: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] [EXPLICIT]
width: 8 [EXPLICIT]
type: number [EXPLICIT]
[EXPLICIT]
- name: Alerts [EXPLICIT]
purpose: "Auto-filtered: KPIs outside acceptable range" [EXPLICIT]
autoFilter: true [EXPLICIT]
conditionalFormat: [EXPLICIT]
row: [EXPLICIT]
"Critical": { bg: "#ffc7ce" } [EXPLICIT]
"Warning": { bg: "#ffeb9c" } [EXPLICIT]
columns: [EXPLICIT]
- header: "KPI" [EXPLICIT]
width: 30 [EXPLICIT]
- header: "Severity" [EXPLICIT]
width: 12 [EXPLICIT]
formula: "=IF(KPIs!D{row}Config!D{row},\"Critical\",IF(KPIs!D{row}Config!C{row},\"Warning\",\"OK\"))" [EXPLICIT]
- header: "Current" [EXPLICIT]
width: 12 [EXPLICIT]
- header: "Threshold" [EXPLICIT]
width: 12 [EXPLICIT]
- header: "Gap" [EXPLICIT]
width: 12 [EXPLICIT]
formula: "=C{row}-D{row}" [EXPLICIT]
- header: "Action Required" [EXPLICIT]
width: 50 [EXPLICIT]
type: text [EXPLICIT]
[EXPLICIT]
- name: Config [EXPLICIT]
purpose: "Thresholds and targets — edit here" [EXPLICIT]
columns: [EXPLICIT]
- header: "KPI" [EXPLICIT]
- header: "Target" [EXPLICIT]
type: number [EXPLICIT]
- header: "Warning Threshold" [EXPLICIT]
type: number [EXPLICIT]
description: "% of target that triggers warning (e.g., 0.7)" [EXPLICIT]
- header: "Critical Threshold" [EXPLICIT]
type: number [EXPLICIT]
description: "% of target that triggers critical (e.g., 0.5)" [EXPLICIT]
- header: "Unit" [EXPLICIT]
type: text [EXPLICIT]
``` [EXPLICIT]
[EXPLICIT]
## Formatting Standards [EXPLICIT]
[EXPLICIT]
| Element | Standard | Rationale | [EXPLICIT]
|---|---|---| [EXPLICIT]
| Header row | Bold, frozen, #f2f2f2 background | Always visible while scrolling | [EXPLICIT]
| Data validation | Dropdowns reference Config sheet | Single source of truth for allowed values | [EXPLICIT]
| Conditional formatting | Semantic: green=good, yellow=warning, red=critical | Universal understanding | [EXPLICIT]
| Data bars | For percentage columns | Visual progress indicator | [EXPLICIT]
| Named ranges | All Config columns | Clean formula references | [EXPLICIT]
| Print area | Set per sheet | Predictable print output | [EXPLICIT]
| No merged cells | Data areas only (header merges OK) | Prevents sort/filter issues | [EXPLICIT]
| Column widths | Explicit per column | No auto-width surprises | [EXPLICIT]
[EXPLICIT]
## Edge Cases [EXPLICIT]
[EXPLICIT]
- **More than 10 dropdown values**: Config sheet handles unlimited rows — formula ranges should use full column (e.g., `Config!A:A`) [EXPLICIT]
- **Cross-sheet references break on rename**: Use named ranges instead of sheet!cell references [EXPLICIT]
- **Percentage column with 0 denominator**: All formulas use `IF(denominator0, calc, 0)` guard [EXPLICIT]
- **Dashboard with 20 KPIs**: Split into category sub-tables with subtotals [EXPLICIT]
[EXPLICIT]
## Validation Gate [EXPLICIT]
[EXPLICIT]
- [ ] All required sheets present for chosen type [EXPLICIT]
- [ ] Every column has header, width, and type [EXPLICIT]
- [ ] Dropdown columns reference Config sheet [EXPLICIT]
- [ ] Conditional formatting uses semantic colors (green/yellow/red) [EXPLICIT]
- [ ] Formulas guard against division by zero [EXPLICIT]
- [ ] Summary/dashboard formulas reference correct sheet ranges [EXPLICIT]
- [ ] No merged cells in data areas [EXPLICIT]
- [ ] Named ranges defined for cross-sheet references [EXPLICIT]
- [ ] Print area set per sheet [EXPLICIT]
- [ ] Config sheet is clearly labeled as "edit here" [EXPLICIT]
[EXPLICIT]
--- [EXPLICIT]
**Author:** Javier Montano | **Last updated:** 2026-03-12 [EXPLICIT]