{
  "spec": "quick-html/v0",
  "id": "weekly-report",
  "version": "0.1.0",
  "name": "Weekly Report",
  "description": "One-page weekly status report: KPI tiles with deltas, highlights, a workstream table (status / this week / next week), risks & blockers, and next-week focus. For teams that report in writing instead of meetings.",
  "useWhen": [
    "weekly report",
    "weekupdate",
    "status update",
    "team update",
    "weekly summary",
    "wochenbericht"
  ],
  "category": "printable",
  "language": "en",
  "page": {
    "size": "A4",
    "orientation": "portrait"
  },
  "modules": [
    "edit-overlay",
    "print-helper"
  ],
  "slots": [
    {
      "name": "doc-title",
      "type": "text",
      "required": true,
      "example": "Weekly Report — Platform Team — Week 33",
      "notes": "Browser tab title; used as the download filename."
    },
    {
      "name": "report-title",
      "type": "text",
      "required": true,
      "example": "Platform Team — Week 33"
    },
    {
      "name": "author",
      "type": "text",
      "required": true,
      "example": "Bram Verlaan"
    },
    {
      "name": "period",
      "type": "text",
      "required": true,
      "example": "11 – 15 Aug 2026"
    },
    {
      "name": "highlights",
      "type": "html",
      "required": true,
      "example": "<ul><li>Usage-based billing shipped…</li></ul>",
      "notes": "<ul> with 2–4 bullets. Real outcomes, not activity."
    },
    {
      "name": "risks",
      "type": "html",
      "required": false,
      "example": "<p>SOC 2 access reviews blocked on IT capacity…</p>",
      "notes": "Inside the risks optional block. Name the risk, the impact and the ask."
    },
    {
      "name": "next-week",
      "type": "html",
      "required": true,
      "example": "<p>Search cutover, SOC 2 unblock…</p>",
      "notes": "One short paragraph, max 4 priorities."
    },
    {
      "name": "footer-note",
      "type": "text",
      "required": false,
      "example": "Distribution: leadership team · platform channel"
    }
  ],
  "repeats": [
    {
      "name": "metric",
      "description": "KPI tiles across the top. Use 3–4 for a balanced row.",
      "min": 2,
      "max": 4,
      "slots": [
        {
          "name": "metric-label",
          "type": "text",
          "required": true,
          "example": "Uptime"
        },
        {
          "name": "metric-value",
          "type": "text",
          "required": true,
          "example": "99.98%"
        },
        {
          "name": "metric-delta",
          "type": "text",
          "required": false,
          "example": "▲ vs 99.91% last week",
          "notes": "Start with ▲ ▼ or = plus the comparison."
        }
      ]
    },
    {
      "name": "stream",
      "description": "One row per workstream/project.",
      "min": 1,
      "max": 8,
      "slots": [
        {
          "name": "stream-name",
          "type": "text",
          "required": true,
          "example": "Billing migration"
        },
        {
          "name": "stream-status",
          "type": "text",
          "required": true,
          "example": "On track",
          "notes": "Exactly one of: On track / At risk / Off track / Done."
        },
        {
          "name": "stream-done",
          "type": "text",
          "required": true,
          "example": "Final cohort migrated; legacy invoicing switched off."
        },
        {
          "name": "stream-next",
          "type": "text",
          "required": true,
          "example": "Post-migration review Wed; decide on decommissioning."
        }
      ]
    }
  ],
  "optionals": [
    {
      "name": "risks",
      "description": "Risks & blockers panel. Remove only when there are truly none — an empty risk section reads as unexamined."
    }
  ],
  "tags": [
    "work",
    "reporting"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "date": "2026-08-14",
      "notes": "Initial release: KPI tiles, highlights, workstream table, risks and next-week focus."
    }
  ],
  "agentInstructions": "Keep it to ONE page — this is a report people actually read (remove the data-example tiles and rows; they are preview content only). Metrics: 2–4 tiles; compute deltas from the user's numbers, never invent baselines; start metric-delta with ▲ ▼ or =. Highlights are outcomes ('shipped X', 'reduced Y from a to b'), not activities ('worked on X'); max 4. stream-status must be exactly one of: On track / At risk / Off track / Done. In stream-done and stream-next, write telegraphic sentences separated by semicolons, ≤ ~140 characters per cell. Risks: name risk + impact + the specific ask or decision needed; keep the block only when real. Do not soften bad news — 'At risk' with a clear ask is the point of this document. Dates in the period like '11 – 15 Aug 2026'.",
  "license": "MIT",
  "authors": [
    {
      "github": "bvrln"
    }
  ]
}
