{
  "id": "status-report-rag-rows",
  "schemaVersion": 2,
  "title": {
    "ja": "進捗報告 — 信号の色を使わず、手当ての欄で危険を示す",
    "en": "Status Report — No Traffic Lights, a Remedy Column Instead"
  },
  "summary": {
    "ja": "工程ごとに予定と実績を帯で重ね、状態は 3 語で書く。手を打つ必要がある 1 行だけを面にする",
    "en": "Plan and actual overlaid per phase, status in three words, and a fill on the single row that needs a decision"
  },
  "capturedAt": "2026-09-15",
  "categories": [
    "presentation"
  ],
  "tags": [
    "minimal",
    "data-viz"
  ],
  "useCases": [
    "status",
    "kpi"
  ],
  "format": "slide-16x9",
  "density": "high",
  "layout": {
    "kind": "table",
    "canvas": {
      "w": 1920,
      "h": 1080
    },
    "margin": {
      "top": 96,
      "right": 140,
      "bottom": 96,
      "left": 140
    },
    "emphasis": {
      "row": 3,
      "via": [
        "fill",
        "weight"
      ]
    }
  },
  "type": {
    "title": {
      "size": 44,
      "weight": 700,
      "tracking": "0.01em",
      "leading": 1.3
    },
    "period": {
      "size": 17,
      "weight": 400,
      "numeric": "tabular"
    },
    "col": {
      "size": 15,
      "weight": 500,
      "tracking": "0.12em"
    },
    "pname": {
      "size": 21,
      "weight": 700,
      "leading": 1.4
    },
    "pct": {
      "size": 20,
      "weight": 500,
      "numeric": "tabular"
    },
    "state": {
      "size": 18,
      "weight": 500
    },
    "fix": {
      "size": 16,
      "weight": 400,
      "leading": 1.7
    },
    "fkey": {
      "size": 14,
      "weight": 500,
      "tracking": "0.14em"
    },
    "fval": {
      "size": 18,
      "weight": 500,
      "leading": 1.6,
      "numeric": "tabular"
    }
  },
  "colors": {
    "ground": "#FFFFFF",
    "surface": "#F4F6F9",
    "ink": "#131820",
    "muted": "#667183",
    "accent": "#1F5FA8",
    "rule": "#DBE1E9",
    "series": []
  },
  "rules": [
    {
      "ja": "信号の色を使わない。役割色は 6 つで赤も黄も無く、代わりに状態を語で書く。語で書いたほうが議事録に残る",
      "en": "No traffic lights — there are six roles and neither red nor amber among them. A word for the state is what survives into the minutes anyway"
    },
    {
      "ja": "遅れている行には必ず手当てを書く。手当ての無い遅延は、報告ではなく告知になる",
      "en": "Every late row carries its remedy; a delay with no remedy is an announcement, not a report"
    },
    {
      "ja": "予定は帯の中の目盛り、実績は塗り。2 本の帯を上下に並べると、凡例を読むまでどちらがどちらか決まらない",
      "en": "Plan as a tick inside the track, actual as the fill — two stacked bars cannot be told apart without reading a legend"
    },
    {
      "ja": "面を敷くのは判断をお願いする 1 行だけ。遅延も塗ると、決めてほしい行と報告だけの行が同じ重さになる",
      "en": "Fill only the row that asks for a decision; filling the late ones too makes \"please decide\" and \"for your information\" weigh the same"
    },
    {
      "ja": "溝は面ではなく ink の薄い混色にする。塗った行の上で面と同じ色になると、帯の伸びしろが消える",
      "en": "Make the track a faint mix of ink, not the surface colour — on a filled row the two would match and the bar would lose its scale"
    }
  ],
  "cover": "https://design-vault.pages.dev/_astro/cover.CYMJtC3s.png",
  "assets": [],
  "shortlist": false,
  "status": "published",
  "relations": {
    "similar": [
      "wbs-gantt-six-phases",
      "requirements-response-table",
      "kpi-dark-three-figures"
    ]
  },
  "license": "Original",
  "publishedAt": null,
  "reproduction": {
    "spec": {
      "format": "slide-16x9",
      "density": "high",
      "layout": {
        "kind": "table",
        "canvas": {
          "w": 1920,
          "h": 1080
        },
        "margin": {
          "top": 96,
          "right": 140,
          "bottom": 96,
          "left": 140
        },
        "emphasis": {
          "row": 3,
          "via": [
            "fill",
            "weight"
          ]
        }
      },
      "type": {
        "title": {
          "size": 44,
          "weight": 700,
          "tracking": "0.01em",
          "leading": 1.3
        },
        "period": {
          "size": 17,
          "weight": 400,
          "numeric": "tabular"
        },
        "col": {
          "size": 15,
          "weight": 500,
          "tracking": "0.12em"
        },
        "pname": {
          "size": 21,
          "weight": 700,
          "leading": 1.4
        },
        "pct": {
          "size": 20,
          "weight": 500,
          "numeric": "tabular"
        },
        "state": {
          "size": 18,
          "weight": 500
        },
        "fix": {
          "size": 16,
          "weight": 400,
          "leading": 1.7
        },
        "fkey": {
          "size": 14,
          "weight": 500,
          "tracking": "0.14em"
        },
        "fval": {
          "size": 18,
          "weight": 500,
          "leading": 1.6,
          "numeric": "tabular"
        }
      },
      "colors": {
        "ground": "#FFFFFF",
        "surface": "#F4F6F9",
        "ink": "#131820",
        "muted": "#667183",
        "accent": "#1F5FA8",
        "rule": "#DBE1E9"
      },
      "rules": [
        "No traffic lights — there are six roles and neither red nor amber among them. A word for the state is what survives into the minutes anyway",
        "Every late row carries its remedy; a delay with no remedy is an announcement, not a report",
        "Plan as a tick inside the track, actual as the fill — two stacked bars cannot be told apart without reading a legend",
        "Fill only the row that asks for a decision; filling the late ones too makes \"please decide\" and \"for your information\" weigh the same",
        "Make the track a faint mix of ink, not the surface colour — on a filled row the two would match and the bar would lose its scale"
      ]
    },
    "prompt": {
      "ja": "以下の仕様でスライドを 1 枚作ってください。\n\n- 版面 1920 × 1080\n- 余白 上 96 右 140 下 96 左 140\n\n## 強調\n3 行目のみ。手段は 塗り + 太さ だけ。ほかは変えない\n\n## 文字（版面 1920px に対する px）\ntitle  44px / 700 / 字間 0.01em / 行送り 1.3\nperiod  17px / 400 / 等幅数字\ncol  15px / 500 / 字間 0.12em\npname  21px / 700 / 行送り 1.4\npct  20px / 500 / 等幅数字\nstate  18px / 500\nfix  16px / 400 / 行送り 1.7\nfkey  14px / 500 / 字間 0.14em\nfval  18px / 500 / 行送り 1.6 / 等幅数字\n\n## 配色\n地 #FFFFFF / 面 #F4F6F9 / 文字 #131820 / 補助 #667183 / 強調 #1F5FA8 / 罫 #DBE1E9\n\n## 外すと崩れる点\n- 信号の色を使わない。役割色は 6 つで赤も黄も無く、代わりに状態を語で書く。語で書いたほうが議事録に残る\n- 遅れている行には必ず手当てを書く。手当ての無い遅延は、報告ではなく告知になる\n- 予定は帯の中の目盛り、実績は塗り。2 本の帯を上下に並べると、凡例を読むまでどちらがどちらか決まらない\n- 面を敷くのは判断をお願いする 1 行だけ。遅延も塗ると、決めてほしい行と報告だけの行が同じ重さになる\n- 溝は面ではなく ink の薄い混色にする。塗った行の上で面と同じ色になると、帯の伸びしろが消える\n\n内容は［ここに自分の内容を書く］に置き換えてください。寸法と配色はそのまま守ってください。\n正確に再現する場合は、この HTML をそのまま使ってください: https://design-vault.pages.dev/designs/status-report-rag-rows/pattern.html",
      "en": "Produce one slide to the following specification.\n\n- Canvas 1920 × 1080\n- Margin top 96 right 140 bottom 96 left 140\n\n## Emphasis\nrow 3 only, by fill + weight and nothing else\n\n## Type (px against a 1920px canvas)\ntitle  44px / 700 / tracking 0.01em / leading 1.3\nperiod  17px / 400 / tabular numerals\ncol  15px / 500 / tracking 0.12em\npname  21px / 700 / leading 1.4\npct  20px / 500 / tabular numerals\nstate  18px / 500\nfix  16px / 400 / leading 1.7\nfkey  14px / 500 / tracking 0.14em\nfval  18px / 500 / leading 1.6 / tabular numerals\n\n## Colour\nGround #FFFFFF / Surface #F4F6F9 / Ink #131820 / Muted #667183 / Accent #1F5FA8 / Rule #DBE1E9\n\n## Constraints — dropping these breaks it\n- No traffic lights — there are six roles and neither red nor amber among them. A word for the state is what survives into the minutes anyway\n- Every late row carries its remedy; a delay with no remedy is an announcement, not a report\n- Plan as a tick inside the track, actual as the fill — two stacked bars cannot be told apart without reading a legend\n- Fill only the row that asks for a decision; filling the late ones too makes \"please decide\" and \"for your information\" weigh the same\n- Make the track a faint mix of ink, not the surface colour — on a filled row the two would match and the bar would lose its scale\n\nReplace the content with [your content]. Keep the measurements and colours as given.\nFor an exact reproduction, use the verbatim HTML at https://design-vault.pages.dev/designs/status-report-rag-rows/pattern.html."
    },
    "code": {
      "html": "<!doctype html>\n<meta charset=\"utf-8\">\n<title>進捗報告 — 信号の色を使わず、手当ての欄で危険を示す</title>\n<meta name=\"dv-font\" content=\"Zen Kaku Gothic New:400;500;700\">\n<link rel=\"stylesheet\" href=\"./font.css\">\n<style>\n  /* この版そのもの。index.md の layout / type / colors は、この HTML を\n     scripts/render-pattern.mjs で実測した結果であって、別に書いた説明ではない。 */\n  :root {\n    --ground: #FFFFFF;\n    --surface: #F4F6F9;\n    --ink: #131820;\n    --muted: #667183;\n    --accent: #1F5FA8;\n    --rule: #DBE1E9;\n  }\n  * { box-sizing: border-box; margin: 0; }\n  html, body { width: 1920px; height: 1080px; }\n  body { font-family: \"Zen Kaku Gothic New\", \"IPAGothic\", sans-serif; }\n\n  .artboard {\n    width: 1920px; height: 1080px;\n    background: var(--ground); color: var(--ink);\n    padding: 96px 140px;                  /* → layout.margin */\n  }\n  .content { height: 100%; display: grid; grid-template-rows: auto 1fr auto; }\n\n  .head { display: flex; align-items: baseline; justify-content: space-between; gap: 40px; }\n  .title { font-size: 44px; font-weight: 700; line-height: 1.3; letter-spacing: .01em; }\n  .period { font-size: 17px; font-weight: 400; color: var(--muted); font-variant-numeric: tabular-nums; }\n\n  .table { align-self: center; width: 100%; }\n  /* 工程・予定・実績・進み具合・状態・手当て。進み具合は帯で、状態は語で出す。 */\n  .row { display: grid; grid-template-columns: 300px 104px 104px 1fr 148px 1.05fr; align-items: center; gap: 30px; padding: 24px 22px; border-bottom: 1px solid var(--rule); }\n  .row:first-child { border-top: 1px solid var(--rule); }\n  .row.head-row { padding: 16px 22px; border-bottom-color: var(--ink); }\n  .col { font-size: 15px; font-weight: 500; letter-spacing: .12em; color: var(--muted); }\n\n  .pname { font-size: 21px; font-weight: 700; line-height: 1.4; }\n  .pct { font-size: 20px; font-weight: 500; text-align: right; font-variant-numeric: tabular-nums; }\n  .pct[data-plan] { color: var(--muted); }\n\n  /* 予定を罫の枠、実績を塗りで重ねる。2 本の帯を上下に並べると、\n     どちらがどちらか凡例を読まないと決まらない。 */\n  /* 溝は面ではなく ink の薄い混色。塗った行の上でも面と同じ色にならず、\n     帯がどこまで伸びうるのかが読める。 */\n  .meter { position: relative; height: 22px; background: color-mix(in srgb, var(--ink) 8%, transparent); }\n  .meter i { position: absolute; top: 0; bottom: 0; left: 0; display: block; background: var(--muted); }\n  .meter u { position: absolute; top: -4px; bottom: -4px; width: 2px; background: var(--ink); }\n  .row[data-emphasis] .meter i { background: var(--accent); }\n\n  /* 状態は 3 語だけ。信号の色は使わない — 役割色は 6 つで、赤も黄も無い。\n     色が足りないから語で書くのではなく、語で書いたほうが議事録に残る。 */\n  .state { font-size: 18px; font-weight: 500; }\n  .row[data-emphasis] { background: var(--surface); }\n  .row[data-emphasis] .state { color: var(--accent); font-weight: 700; }\n  .fix { font-size: 16px; font-weight: 400; line-height: 1.7; color: var(--muted); }\n  .row[data-emphasis] .fix { color: var(--ink); }\n\n  .foot { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; border-top: 1px solid var(--rule); padding-top: 24px; }\n  .fkey { font-size: 14px; font-weight: 500; letter-spacing: .14em; color: var(--muted); }\n  .fval { font-size: 18px; font-weight: 500; line-height: 1.6; margin-top: 10px; font-variant-numeric: tabular-nums; }\n</style>\n\n<div class=\"artboard\" data-artboard>\n  <div class=\"content\" data-content>\n    <div class=\"head\">\n      <h1 class=\"title\" data-type=\"title\">進捗報告（第 18 週）</h1>\n      <p class=\"period\" data-type=\"period\">2027.02.01 - 02.05 ／ 次回報告 02.12</p>\n    </div>\n\n    <div class=\"table\">\n      <div class=\"row head-row\">\n        <p class=\"col\" data-type=\"col\">工程</p>\n        <p class=\"col\">予定</p>\n        <p class=\"col\">実績</p>\n        <p class=\"col\">進み具合</p>\n        <p class=\"col\">状態</p>\n        <p class=\"col\">手当て</p>\n      </div>\n\n      <div class=\"row\" data-row=\"1\">\n        <p class=\"pname\" data-type=\"pname\">基本設計</p>\n        <p class=\"pct\" data-plan data-type=\"pct\">100%</p>\n        <p class=\"pct\">100%</p>\n        <p class=\"meter\"><i style=\"width: 100%\"></i><u style=\"left: 100%\"></u></p>\n        <p class=\"state\" data-type=\"state\">完了</p>\n        <p class=\"fix\" data-type=\"fix\">御社承認済（01.29）</p>\n      </div>\n\n      <div class=\"row\" data-row=\"2\">\n        <p class=\"pname\">詳細設計</p>\n        <p class=\"pct\" data-plan>78%</p>\n        <p class=\"pct\">74%</p>\n        <p class=\"meter\"><i style=\"width: 74%\"></i><u style=\"left: 78%\"></u></p>\n        <p class=\"state\">順調</p>\n        <p class=\"fix\">差の 4% は今週中に吸収</p>\n      </div>\n\n      <div class=\"row\" data-row=\"3\" data-emphasis=\"fill weight\">\n        <p class=\"pname\">帳票の様式確定</p>\n        <p class=\"pct\" data-plan>60%</p>\n        <p class=\"pct\">31%</p>\n        <p class=\"meter\"><i style=\"width: 31%\"></i><u style=\"left: 60%\"></u></p>\n        <p class=\"state\">要ご判断</p>\n        <p class=\"fix\">統合対象 4 帳票の可否を 02.12 までにお願いします</p>\n      </div>\n\n      <div class=\"row\" data-row=\"4\">\n        <p class=\"pname\">実装（受注登録）</p>\n        <p class=\"pct\" data-plan>42%</p>\n        <p class=\"pct\">45%</p>\n        <p class=\"meter\"><i style=\"width: 45%\"></i><u style=\"left: 42%\"></u></p>\n        <p class=\"state\">順調</p>\n        <p class=\"fix\">先行分を単体試験へ</p>\n      </div>\n\n      <div class=\"row\" data-row=\"5\">\n        <p class=\"pname\">試験環境の構築</p>\n        <p class=\"pct\" data-plan>50%</p>\n        <p class=\"pct\">38%</p>\n        <p class=\"meter\"><i style=\"width: 38%\"></i><u style=\"left: 50%\"></u></p>\n        <p class=\"state\">遅延</p>\n        <p class=\"fix\">02.20 までに回復見込み。工程全体への影響なし</p>\n      </div>\n    </div>\n\n    <div class=\"foot\">\n      <div>\n        <p class=\"fkey\" data-type=\"fkey\">未解決の課題</p>\n        <p class=\"fval\" data-type=\"fval\">8 件（うち期限超過 1 件）</p>\n      </div>\n      <div>\n        <p class=\"fkey\">全体工程への影響</p>\n        <p class=\"fval\">現時点でなし</p>\n      </div>\n      <div>\n        <p class=\"fkey\">本日お願いする決定</p>\n        <p class=\"fval\">帳票 4 件の統合可否</p>\n      </div>\n    </div>\n  </div>\n</div>\n",
      "url": "https://design-vault.pages.dev/designs/status-report-rag-rows/pattern.html",
      "fonts": [
        "https://design-vault.pages.dev/designs/status-report-rag-rows/font.css",
        "https://design-vault.pages.dev/designs/status-report-rag-rows/font-0.woff2",
        "https://design-vault.pages.dev/designs/status-report-rag-rows/font-1.woff2",
        "https://design-vault.pages.dev/designs/status-report-rag-rows/font-2.woff2"
      ]
    }
  },
  "urls": {
    "ja": "https://design-vault.pages.dev/designs/status-report-rag-rows",
    "en": "https://design-vault.pages.dev/en/designs/status-report-rag-rows"
  },
  "notesMarkdown": "## この構成について / About this pattern\n\n定例で出す進捗報告の版。**`pattern.html` が版そのもの**で、`cover.png` と frontmatter の寸法は\nどちらもそこから機械的に出している。編集するのは `pattern.html` だけ。\n\nThe recurring status report. `pattern.html` is the artboard itself; both `cover.png` and the\nmeasurements come from it, so the three cannot drift apart.\n\n### Techniques\n\n- 予定と実績を数値でも帯でも出す。数値だけだと差が読めず、帯だけだと議事録に書けない\n- 状態の語は 4 種（完了・順調・遅延・要ご判断）まで。増やすと語の選定が報告の主題になる\n- 下端に「未解決の課題」「全体工程への影響」「本日お願いする決定」を固定で置く。毎回同じ位置にあると、聞き手がそこだけ見る習慣を作れる\n\n### Apply to\n\n- 週次・月次の進捗報告、ステアリングコミッティ向けの要約\n- 課題の消化状況（工程を課題区分に読み替える）"
}