Creates and manages basic inventory systems in Google Sheets — product catalog, stock tracking, low-stock alerts, and movement history. [EXPLICIT] Trigger: "inventario", "inventory", "stock", "control de inventario", "productos"
From jm-adknpx claudepluginhub javimontano/jm-adk-alfaThis skill is limited to using the following tools:
agents/guardian.mdagents/lead.mdagents/specialist.mdagents/support.mdknowledge/inventory-categories.mdtemplates/inventory-basic.mdSearches, 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.
"You can't manage what you can't measure." — Peter Drucker
Creates a complete inventory system in Google Sheets with three interconnected sheets: Catalogo (product master), Movimientos (stock movements log), and Resumen (dashboard with formulas for totals, valuation, and low-stock alerts). Designed for small businesses that need reliable stock tracking without enterprise software. [EXPLICIT]
Create a new Google Sheets spreadsheet with three sheets using mcp__workspace-mcp__create_spreadsheet.
Sheet 1 — Catalogo (Product Master)
| Column | Header | Type | Notes |
|---|---|---|---|
| A | SKU | Text | Unique identifier, format: CAT-001 |
| B | Nombre | Text | Product display name |
| C | Categoria | Text | From standardized list (see knowledge/inventory-categories.md) |
| D | Subcategoria | Text | Second-level classification |
| E | Precio Unitario | Currency (MXN) | Purchase/cost price |
| F | Precio Venta | Currency (MXN) | Retail selling price |
| G | Stock Actual | Number | Current quantity on hand |
| H | Stock Minimo | Number | Reorder threshold |
| I | Proveedor | Text | Primary supplier name |
| J | Ubicacion | Text | Storage location or shelf code |
| K | Ultima Actualizacion | Date | Last stock change date |
#1a73e8, white text.Sheet 2 — Movimientos (Stock Movement Log)
| Column | Header | Type | Notes |
|---|---|---|---|
| A | Fecha | Date | Movement date, default TODAY() |
| B | SKU | Text | Must match a SKU in Catalogo |
| C | Nombre Producto | Text | Auto-filled via VLOOKUP from Catalogo |
| D | Tipo | Text | Data validation: "Entrada" or "Salida" |
| E | Cantidad | Number | Always positive; Tipo determines direction |
| F | Stock Anterior | Number | Before this movement (formula) |
| G | Stock Nuevo | Number | After this movement (formula) |
| H | Motivo | Text | Reason: Compra, Venta, Devolucion, Ajuste, Merma |
| I | Responsable | Text | Person who registered the movement |
| J | Notas | Text | Optional comments |
Key formulas:
=IFERROR(VLOOKUP(B2,Catalogo!A:B,2,FALSE),"")=IFERROR(VLOOKUP(B2,Catalogo!A:G,7,FALSE),0) (snapshot at entry time)=IF(D2="Entrada",F2+E2,IF(D2="Salida",F2-E2,F2))Apply header formatting consistent with Catalogo sheet. Set data validation on Tipo (column D) and Motivo (column H).
Sheet 3 — Resumen (Summary Dashboard)
Layout the dashboard in sections:
Section A — Inventario General (Row 2-8)
| Cell | Label | Formula |
|---|---|---|
| A2 | Total Productos | =COUNTA(Catalogo!A2:A) |
| A3 | Total Unidades en Stock | =SUM(Catalogo!G2:G) |
| A4 | Valor Total Inventario (Costo) | =SUMPRODUCT(Catalogo!E2:E,Catalogo!G2:G) |
| A5 | Valor Total Inventario (Venta) | =SUMPRODUCT(Catalogo!F2:F,Catalogo!G2:G) |
| A6 | Margen Bruto Potencial | =A5-A4 |
| A7 | Categorias Activas | =COUNTA(UNIQUE(Catalogo!C2:C)) |
Section B — Alertas de Stock Bajo (Row 10+)
| Cell | Label | Formula |
|---|---|---|
| A10 | Header: "Productos con Stock Bajo" | — |
| A11+ | Dynamic list | =FILTER(Catalogo!A2:B,Catalogo!G2:G<Catalogo!H2:H) |
Section C — Movimientos Recientes (Row 20+)
| Cell | Label | Formula |
|---|---|---|
| A20 | Header: "Ultimos 10 Movimientos" | — |
| A21+ | Dynamic list | =SORT(FILTER(Movimientos!A2:I,Movimientos!A2:A<>""),1,FALSE) limited to 10 rows |
Section D — Resumen por Categoria (Row 32+)
| Cell | Label | Formula |
|---|---|---|
| A32 | Header: "Stock por Categoria" | — |
| A33+ | Category breakdown | =UNIQUE(Catalogo!C2:C) with adjacent SUMIFS for units and value |
$#,##0.00 (MXN).=MAX(Movimientos!A2:A).sales-tracker — sales generate outbound stock movementsoffice-workflow-runner — chains inventory updates with reportingbrand-xlsx — branded spreadsheet formattingExample invocations: