← Vault Index
Source: frameworks/kit-constraint-priority-matrix/06-constraint-priority-matrix-output-skill.md

Constraint Priority Matrix — Output Skill

Last updated: February 18, 2026


Scope

This skill produces a styled, single-file HTML version of the Constraint Priority Matrix for client-facing use.

This is NOT the weekly output format. The weekly matrix output is a markdown artifact produced by the main workflow (constraint-priority-matrix-instructions.md). This HTML skill is separate.

When to Use This Skill

When NOT to Use This Skill

How It Works

  1. Run the main workflow (any mode) and produce the markdown matrix output.
  2. When a client-facing presentation is needed, use this skill to render the same data as styled HTML.
  3. The HTML skill takes the markdown output's data — it does not re-run the diagnostic. GPS, constraints, patterns, tiers, and session prep are all pulled from the completed markdown output.

What this produces: A fully styled, single-file HTML Constraint Priority Matrix for an advisory client.

Output filename: [client-name]-constraint-priority-matrix-[yyyy-mm-dd].html

Required inputs: A completed markdown matrix output (from any mode) + client reference data.


Content Rules

  1. GPS Direction is the client's stated goal, not advisor synthesis. Position describes reality. Direction uses the client's own goal language — if Direction is advisor-inferred (no stated goal on file), note that. Speed reflects actual readiness.
  2. Constraints are named as gaps, not tasks. "Accounting Manager Operating System Not Defined" not "Build accounting manager OS."
  3. Tier assignment:
  1. Pattern detection is the value. Show connections, recurring themes, upstream/downstream relationships, parallel root causes, Solve Together and Conditional Solve Together pairs.
  2. Session prep is prescriptive. Exactly what to focus on, what to ask, what pattern to surface. Includes status check questions for any Unknown constraints.
  3. Solved constraints stay visible. They show progress and connect to current work.
  4. Every constraint gets a rationale. Why THIS priority? What's the cost of waiting?
  5. Behavioral constraints get behavioral deployment approaches. If a constraint carries the 🧠 Behavioral modifier, the Deployment Approach must address protocol + accountability + identity shift — not just system design.

Constraint Card Template

Repeat this block for each constraint. Change the tier class and tier badge as needed.

Tier classes: tier-1 (gold border), tier-2 (slate border), tier-3 (stone border) Tier badge backgrounds: Tier 1 = default gold, Tier 2 = style="background: var(--slate); color: #fff;", Tier 3/4 = style="background: var(--stone); color: var(--cream);" Tag classes: upstream, downstream, behavioral, this-week, queue, pattern, escalating, same-root-cause, solve-together, conditional-solve-together, unknown

<div class="constraint-card tier-1">
    <div class="constraint-header">
        <div style="display: flex; align-items: flex-start;">
            <span class="constraint-rank">#1</span>
            <div class="constraint-main">
                <div class="constraint-name">{{CONSTRAINT NAME}}</div>
                <div class="constraint-summary">{{ONE PARAGRAPH SUMMARY}}</div>
                <div class="constraint-tags">
                    <span class="tag upstream">⬆️ Upstream</span>
                    <span class="tag behavioral">🧠 Behavioral</span>
                    <span class="tag this-week">This Week</span>
                    <span class="tag pattern">🔁 Recurring</span>
                    <span class="tag escalating">📈 Escalating</span>
                    <span class="tag solve-together">↔️ Solve Together</span>
                    <span class="tag">{{CATEGORY}}</span>
                </div>
            </div>
        </div>
        <span class="constraint-tier">Tier 1 — Solve This Week</span>
    </div>
    <div class="constraint-details">
        <div class="detail-grid">
            <div class="detail-item">
                <label>Vision Impact</label>
                <p>{{WHICH DIRECTION GOALS ARE AT RISK — USE CLIENT'S STATED GOAL LANGUAGE}}</p>
            </div>
            <div class="detail-item">
                <label>Opportunity Cost</label>
                <p>{{WHAT HAPPENS EACH WEEK THIS SITS}}</p>
            </div>
            <div class="detail-item">
                <label>Rationale</label>
                <p>{{WHY THIS TIER, WHY THIS RANK}}</p>
            </div>
            <div class="detail-item">
                <label>Deployment Approach</label>
                <p>{{HOW TO SOLVE — CATEGORY AND METHOD. FOR 🧠 BEHAVIORAL: PROTOCOL + ACCOUNTABILITY + IDENTITY SHIFT, NOT JUST SYSTEM DESIGN}}</p>
            </div>
        </div>
    </div>
</div>

Tag usage guide: Only include the tags that apply to each constraint. The template above shows all possible tags for reference — a typical constraint card will have 3–5 tags. Common combinations:


Solved Constraint Card Template

<div class="constraint-card" style="border-left: 4px solid var(--success);">
    <div class="constraint-header">
        <div style="display: flex; align-items: flex-start;">
            <div class="constraint-main">
                <div class="constraint-name">{{DATE}} — {{CONSTRAINT NAME}}</div>
                <div class="constraint-summary">{{WHAT WAS HAPPENING}}. <strong>Solution deployed:</strong> {{WHAT WAS BUILT/CHANGED}}.</div>
                <div class="constraint-tags">
                    <span class="tag" style="background: var(--success); color: var(--cream);">Solved</span>
                    <span class="tag">{{CATEGORY}}</span>
                </div>
            </div>
        </div>
    </div>
</div>
<div style="padding: 16px 24px; background: rgba(183, 157, 100, 0.08); border: 1px solid rgba(183, 157, 100, 0.2); margin-top: -1px;">
    <p style="font-size: 13px; color: var(--slate);"><strong>Connection:</strong> {{HOW THIS CONNECTS TO CURRENT CONSTRAINTS}}</p>
</div>

Visual Matrix Row Template

Add constraint items to the appropriate cell. Use classes to indicate type and pattern flags. Multiple classes can be combined on a single item.

Available classes: upstream, downstream, behavioral, pattern, escalating, same-root-cause, solve-together, conditional-solve-together, unknown

<tr>
    <td>{{CAPABILITY CATEGORY}}</td>
    <td>
        <span class="matrix-item upstream pattern">{{CONSTRAINT NAME}}</span>
        <span class="matrix-item upstream behavioral">{{CONSTRAINT NAME}}</span>
        <span class="matrix-item downstream">{{CONSTRAINT NAME}}</span>
    </td>
    <td>
        <span class="matrix-item downstream unknown">{{CONSTRAINT NAME}}</span>
    </td>
</tr>

Empty rows:

<tr>
    <td>{{CAPABILITY CATEGORY}}</td>
    <td class="matrix-empty">—</td>
    <td class="matrix-empty">—</td>
</tr>

Full HTML Template

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Constraint Priority Matrix | {{CLIENT/FIRM}} | {{DATE}}</title>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400;1,500&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
    <style>
        * { margin: 0; padding: 0; box-sizing: border-box; }
        
        :root {
            --charcoal: #1a1a1a;
            --deep-charcoal: #0f0f0f;
            --cream: #f9f7f4;
            --off-white: #faf9f7;
            --gold: #b79d64;
            --gold-light: #c4aa74;
            --gold-dark: #a08a58;
            --stone: #8a8680;
            --slate: #4a5a6a;
            --success: #4a7c6f;
            --warning: #a08347;
            --behavioral: #7a6a8a;
            --unknown: #9a7a5a;
        }
        
        body {
            font-family: 'Inter', sans-serif;
            font-weight: 300;
            font-size: 15px;
            line-height: 1.7;
            background: var(--cream);
            color: var(--charcoal);
            min-height: 100vh;
            padding: 0;
        }

        ::-webkit-scrollbar { width: 10px; }
        ::-webkit-scrollbar-track { background: var(--charcoal); }
        ::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 5px; }
        ::-webkit-scrollbar-thumb:hover { background: var(--gold-light); }

        .container { max-width: 1000px; margin: 0 auto; padding: 48px; }

        header {
            background: linear-gradient(135deg, var(--charcoal) 0%, var(--deep-charcoal) 100%);
            color: var(--cream);
            padding: 40px 48px;
            margin-bottom: 32px;
            position: relative;
        }

        header::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            background: var(--gold);
        }

        .header-top {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
        }

        .logo-section {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 16px;
        }

        .logo-section img { height: 28px; width: auto; }

        .logo-text {
            font-family: 'Inter', sans-serif;
            font-size: 13px;
            font-weight: 400;
            letter-spacing: 0.1em;
            color: var(--cream);
        }

        .client-name {
            font-family: 'Cormorant Garamond', serif;
            font-size: 2rem;
            font-weight: 400;
            letter-spacing: -0.02em;
            margin-bottom: 4px;
            color: var(--cream);
        }

        .report-meta {
            font-size: 12px;
            color: var(--stone);
            letter-spacing: 0.05em;
        }

        .date-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 8px 16px;
            background: rgba(183, 157, 100, 0.15);
            border: 1px solid var(--gold);
            color: var(--gold);
            font-size: 11px;
            letter-spacing: 0.1em;
        }

        .section { margin-bottom: 32px; }

        .section-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 16px;
            padding-bottom: 8px;
            border-bottom: 2px solid var(--gold);
        }

        .section-title {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.35rem;
            font-weight: 500;
            color: var(--charcoal);
        }

        .section-label {
            font-size: 10px;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--gold-dark);
            font-weight: 500;
        }

        .gps-card {
            background: var(--charcoal);
            color: var(--cream);
            padding: 24px 28px;
            margin-bottom: 24px;
        }

        .gps-header {
            font-size: 10px;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 16px;
        }

        .gps-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
        }

        .gps-item label {
            display: block;
            font-size: 10px;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 6px;
        }

        .gps-item p {
            font-size: 13px;
            line-height: 1.6;
            color: var(--cream);
        }

        .gps-source {
            font-size: 11px;
            color: var(--stone);
            margin-top: 4px;
            font-style: italic;
        }

        .constraint-card {
            background: #fff;
            border: 1px solid rgba(26, 26, 26, 0.08);
            margin-bottom: 16px;
            position: relative;
        }

        .constraint-card.tier-1 { border-left: 4px solid var(--gold); }
        .constraint-card.tier-2 { border-left: 4px solid var(--slate); }
        .constraint-card.tier-3 { border-left: 4px solid var(--stone); }

        .constraint-header {
            padding: 20px 24px;
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
        }

        .constraint-rank {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.75rem;
            font-weight: 300;
            color: var(--gold);
            margin-right: 20px;
            line-height: 1;
        }

        .constraint-main { flex: 1; }

        .constraint-name {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.2rem;
            font-weight: 500;
            color: var(--charcoal);
            margin-bottom: 4px;
        }

        .constraint-summary {
            font-size: 13px;
            color: var(--slate);
            line-height: 1.6;
        }

        .constraint-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 12px;
        }

        .tag {
            font-size: 9px;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            padding: 4px 10px;
            background: rgba(26, 26, 26, 0.06);
            color: var(--slate);
        }

        .tag.upstream { background: var(--gold); color: var(--charcoal); }
        .tag.downstream { background: var(--slate); color: #fff; }
        .tag.behavioral { background: var(--behavioral); color: var(--cream); }
        .tag.this-week { background: var(--charcoal); color: var(--cream); }
        .tag.queue { background: rgba(26, 26, 26, 0.1); color: var(--stone); }
        .tag.pattern { background: var(--warning); color: var(--charcoal); }
        .tag.escalating { background: #c4783a; color: var(--cream); }
        .tag.same-root-cause { background: #5a7a6a; color: var(--cream); }
        .tag.solve-together { background: var(--charcoal); color: var(--gold); border: 1px solid var(--gold); }
        .tag.conditional-solve-together { background: var(--charcoal); color: var(--gold); border: 1px dashed var(--gold); }
        .tag.unknown { background: var(--unknown); color: var(--cream); }

        .constraint-tier {
            font-size: 9px;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            padding: 6px 12px;
            background: var(--gold);
            color: var(--charcoal);
            font-weight: 500;
            white-space: nowrap;
        }

        .constraint-details {
            padding: 0 24px 20px 24px;
            border-top: 1px solid rgba(26, 26, 26, 0.06);
        }

        .detail-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 16px;
            padding-top: 16px;
        }

        .detail-item label {
            display: block;
            font-size: 9px;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: var(--stone);
            margin-bottom: 4px;
        }

        .detail-item p {
            font-size: 13px;
            color: var(--charcoal);
            line-height: 1.5;
        }

        .matrix-container {
            background: #fff;
            border: 1px solid rgba(26, 26, 26, 0.08);
            overflow: hidden;
        }

        .matrix-table { width: 100%; border-collapse: collapse; }

        .matrix-table th {
            background: var(--charcoal);
            color: var(--cream);
            font-size: 10px;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            padding: 12px 16px;
            text-align: left;
            font-weight: 500;
        }

        .matrix-table th:first-child { width: 200px; }

        .matrix-table td {
            padding: 12px 16px;
            border-bottom: 1px solid rgba(26, 26, 26, 0.06);
            vertical-align: top;
            font-size: 12px;
        }

        .matrix-table tr:last-child td { border-bottom: none; }

        .matrix-table td:first-child {
            font-weight: 500;
            color: var(--charcoal);
            background: rgba(26, 26, 26, 0.02);
        }

        .matrix-item {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 4px 8px;
            background: rgba(183, 157, 100, 0.1);
            margin: 2px;
            font-size: 11px;
        }

        .matrix-item.upstream::before { content: '⬆️'; font-size: 10px; }
        .matrix-item.downstream::before { content: '⬇️'; font-size: 10px; }
        .matrix-item.behavioral::before { content: '🧠'; font-size: 10px; }
        .matrix-item.pattern::after { content: '🔁'; font-size: 10px; }
        .matrix-item.escalating::after { content: '📈'; font-size: 10px; }
        .matrix-item.same-root-cause::after { content: '📦'; font-size: 10px; }
        .matrix-item.solve-together::after { content: '↔️'; font-size: 10px; }
        .matrix-item.conditional-solve-together::after { content: '↔️❓'; font-size: 10px; }
        .matrix-item.unknown { border: 1px dashed var(--unknown); }
        .matrix-item.unknown::after { content: '❓'; font-size: 10px; }
        .matrix-empty { color: var(--stone); font-style: italic; }

        .matrix-legend {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            padding: 12px 16px;
            background: rgba(26, 26, 26, 0.03);
            font-size: 11px;
            color: var(--stone);
        }

        .legend-item { display: flex; align-items: center; gap: 6px; }

        .prep-card {
            background: var(--charcoal);
            color: var(--cream);
            padding: 32px;
        }

        .prep-header {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.5rem;
            font-weight: 400;
            margin-bottom: 8px;
            color: var(--gold);
        }

        .prep-date {
            font-size: 12px;
            color: var(--stone);
            margin-bottom: 24px;
            padding-bottom: 16px;
            border-bottom: 1px solid rgba(183, 157, 100, 0.2);
        }

        .prep-section { margin-bottom: 24px; }
        .prep-section:last-child { margin-bottom: 0; }

        .prep-label {
            font-size: 10px;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 8px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .prep-content {
            font-size: 14px;
            line-height: 1.7;
            color: var(--cream);
        }

        .prep-content strong { color: var(--gold); font-weight: 500; }

        .prep-list { list-style: none; padding: 0; }

        .prep-list li {
            padding: 8px 0;
            padding-left: 20px;
            position: relative;
            font-size: 14px;
        }

        .prep-list li::before {
            content: '→';
            position: absolute;
            left: 0;
            color: var(--gold);
        }

        .prep-highlight {
            background: rgba(183, 157, 100, 0.15);
            padding: 16px 20px;
            border-left: 3px solid var(--gold);
            margin-top: 8px;
        }

        .prep-status-check {
            background: rgba(154, 122, 90, 0.15);
            padding: 16px 20px;
            border-left: 3px dashed var(--unknown);
            margin-top: 8px;
        }

        .pattern-card {
            background: rgba(183, 157, 100, 0.08);
            border: 1px solid rgba(183, 157, 100, 0.2);
            padding: 20px 24px;
        }

        .pattern-header {
            font-size: 10px;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--gold-dark);
            margin-bottom: 12px;
        }

        .pattern-item {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            padding: 8px 0;
            font-size: 13px;
        }

        .pattern-icon { font-size: 14px; }
        .pattern-text { flex: 1; }
        .pattern-text strong { color: var(--charcoal); }

        footer {
            background: var(--deep-charcoal);
            color: var(--cream);
            padding: 24px 48px;
            text-align: center;
            border-top: 3px solid var(--gold);
        }

        .footer-logo {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            margin-bottom: 8px;
        }

        .footer-logo img { height: 24px; width: auto; }
        .footer-logo span { font-size: 13px; letter-spacing: 0.1em; }

        .footer-tagline {
            font-family: 'Cormorant Garamond', serif;
            font-size: 14px;
            font-style: italic;
            color: var(--stone);
        }

        @media (max-width: 768px) {
            .container { padding: 24px; }
            header { padding: 32px 24px; }
            .client-name { font-size: 1.5rem; }
            .gps-grid { grid-template-columns: 1fr; }
            .detail-grid { grid-template-columns: 1fr; }
            .prep-card { padding: 24px; }
            .matrix-legend { gap: 12px; }
        }
    </style>
</head>
<body>
    <header>
        <div class="header-top">
            <div>
                <div class="logo-section">
                    <img src="https://convertri.imgix.net/01a6df52-3d55-11ea-99fe-0697e5ca793e%2Ff71505a0b7be19fb31c9096f349bec5d235fcc3b%2FIcon-Gold.png?auto=compress,format&w=400" alt="Advisory OS">
                    <span class="logo-text">Advisory OS</span>
                </div>
                <div class="client-name">{{CLIENT NAME}} — {{FIRM NAME}}</div>
                <div class="report-meta">Constraint Priority Matrix • Session Prep</div>
            </div>
            <div class="date-badge">
                {{FULL DATE}}
            </div>
        </div>
    </header>

    <div class="container">
        <!-- GPS -->
        <div class="gps-card">
            <div class="gps-header">Client GPS</div>
            <div class="gps-grid">
                <div class="gps-item">
                    <label>📍 Position</label>
                    <p>{{POSITION — WHERE THEY ARE RIGHT NOW}}</p>
                </div>
                <div class="gps-item">
                    <label>🧭 Direction</label>
                    <p>{{DIRECTION — CLIENT'S STATED GOAL IN THEIR OWN WORDS}}</p>
                    <!-- If Direction is advisor-inferred, add: -->
                    <!-- <p class="gps-source">Advisor-inferred — no stated client goal on file</p> -->
                </div>
                <div class="gps-item">
                    <label>⚡ Speed</label>
                    <p>{{SPEED — HOW FAST THEY'RE MOVING}}</p>
                </div>
            </div>
        </div>

        <!-- Pattern Detection -->
        <section class="section">
            <div class="section-header">
                <h2 class="section-title">Pattern Detection</h2>
                <span class="section-label">Cross-Brief Analysis</span>
            </div>
            <div class="pattern-card">
                <div class="pattern-header">Patterns Identified</div>
                <!-- Repeat pattern-item for each pattern -->
                <div class="pattern-item">
                    <span class="pattern-icon">{{ICON}}</span>
                    <div class="pattern-text">
                        <strong>{{PATTERN NAME}}</strong> — {{DESCRIPTION}}
                    </div>
                </div>
                <!-- Example pattern types:
                     🔁 Recurring — same constraint across 2+ sessions
                     📈 Escalating — getting worse over time
                     📦 Same Root Cause — multiple constraints trace to one gap (note if parallel: structural + behavioral)
                     ↔️ Solve Together — confirmed pair, shared window creates multiplier
                     ↔️❓ Conditional Solve Together — pending status confirmation on one constraint
                -->
            </div>
        </section>

        <!-- Prioritized Constraints -->
        <section class="section">
            <div class="section-header">
                <h2 class="section-title">Prioritized Constraints</h2>
                <span class="section-label">Ranked by Impact</span>
            </div>

            <!-- REPEAT CONSTRAINT CARDS HERE — see Constraint Card Template above -->

        </section>

        <!-- Visual Matrix -->
        <section class="section">
            <div class="section-header">
                <h2 class="section-title">Visual Matrix</h2>
                <span class="section-label">Capability × Speed</span>
            </div>
            <div class="matrix-container">
                <table class="matrix-table">
                    <thead>
                        <tr>
                            <th>Capability</th>
                            <th>This Week</th>
                            <th>Queue</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>Advisory Website</td>
                            <td class="matrix-empty">—</td>
                            <td class="matrix-empty">—</td>
                        </tr>
                        <tr>
                            <td>Operational Systems</td>
                            <td><!-- ADD MATRIX ITEMS --></td>
                            <td><!-- ADD MATRIX ITEMS --></td>
                        </tr>
                        <tr>
                            <td>Visibility Engine</td>
                            <td class="matrix-empty">—</td>
                            <td class="matrix-empty">—</td>
                        </tr>
                        <tr>
                            <td>Pipeline Infrastructure</td>
                            <td class="matrix-empty">—</td>
                            <td class="matrix-empty">—</td>
                        </tr>
                        <tr>
                            <td>Service Line Launch</td>
                            <td class="matrix-empty">—</td>
                            <td class="matrix-empty">—</td>
                        </tr>
                        <tr>
                            <td>Product Suite</td>
                            <td class="matrix-empty">—</td>
                            <td class="matrix-empty">—</td>
                        </tr>
                    </tbody>
                </table>
                <div class="matrix-legend">
                    <span class="legend-item">⬆️ Upstream (solve first)</span>
                    <span class="legend-item">⬇️ Downstream (find cause)</span>
                    <span class="legend-item">🧠 Behavioral (pattern, not system)</span>
                    <span class="legend-item">🔁 Recurring</span>
                    <span class="legend-item">📈 Escalating</span>
                    <span class="legend-item">📦 Same Root Cause</span>
                    <span class="legend-item">↔️ Solve Together</span>
                    <span class="legend-item">↔️❓ Conditional (pending confirmation)</span>
                    <span class="legend-item">❓ Unknown status</span>
                </div>
            </div>
        </section>

        <!-- Session Prep -->
        <section class="section">
            <div class="section-header">
                <h2 class="section-title">Session Prep</h2>
                <span class="section-label">{{DAY}} Focus</span>
            </div>
            <div class="prep-card">
                <div class="prep-header">Session Prep — {{CLIENT NAME}}</div>
                <div class="prep-date">{{NEXT SESSION DAY AND DATE}}</div>

                <div class="prep-section">
                    <div class="prep-label">🎯 Recommended Focus</div>
                    <div class="prep-highlight">
                        <strong>{{PRIMARY CONSTRAINT TO ADDRESS}}</strong><br>
                        {{ONE SENTENCE ON WHY AND WHAT TO DO}}
                    </div>
                </div>

                <div class="prep-section">
                    <div class="prep-label">📌 Why This One</div>
                    <div class="prep-content">
                        <ul class="prep-list">
                            <li><strong>{{REASON LABEL}}:</strong> {{EXPLANATION}}</li>
                            <li><strong>{{REASON LABEL}}:</strong> {{EXPLANATION}}</li>
                            <li><strong>{{REASON LABEL}}:</strong> {{EXPLANATION}}</li>
                        </ul>
                    </div>
                </div>

                <!-- Include Status Check section if ANY constraint has Unknown status -->
                <div class="prep-section">
                    <div class="prep-label">❓ Status Check Required</div>
                    <div class="prep-status-check">
                        <strong>{{CONSTRAINT NAME}}</strong> — Status: Unknown<br>
                        {{WHY STATUS IS UNKNOWN — LAST EVIDENCE DATE AND SOURCE}}<br>
                        <strong>Ask:</strong> {{STATUS CHECK QUESTION}}
                    </div>
                    <!-- Repeat prep-status-check for each Unknown constraint -->
                </div>

                <div class="prep-section">
                    <div class="prep-label">📋 Pre-Work Needed</div>
                    <div class="prep-content">
                        {{WHAT CLIENT AND ADVISOR NEED TO PREPARE}}
                    </div>
                </div>

                <div class="prep-section">
                    <div class="prep-label">❓ Questions to Ask</div>
                    <div class="prep-content">
                        <ul class="prep-list">
                            <li>{{QUESTION 1}}</li>
                            <li>{{QUESTION 2}}</li>
                            <li>{{QUESTION 3}}</li>
                            <li>{{QUESTION 4}}</li>
                            <li>{{QUESTION 5}}</li>
                        </ul>
                    </div>
                </div>

                <div class="prep-section">
                    <div class="prep-label">🔧 Capability Category</div>
                    <div class="prep-content">
                        <strong>{{CATEGORY}}</strong> — {{DEPLOYMENT APPROACH DESCRIPTION}}
                        <!-- For 🧠 Behavioral constraints, note: protocol + accountability + identity shift elements -->
                    </div>
                </div>

                <div class="prep-section">
                    <div class="prep-label">📊 Pattern to Surface with Client</div>
                    <div class="prep-content">
                        {{THE KEY INSIGHT TO SHARE DURING THE SESSION}}
                        <!-- Include Solve Together opportunities, Conditional Solve Together pending confirmations, parallel root cause insights -->
                    </div>
                </div>
            </div>
        </section>

        <!-- Brief History -->
        <section class="section">
            <div class="section-header">
                <h2 class="section-title">Brief History</h2>
                <span class="section-label">Pattern Over Time</span>
            </div>

            <!-- REPEAT SOLVED CONSTRAINT CARDS HERE — see Solved Constraint Card Template above -->

        </section>

    </div>

    <footer>
        <div class="footer-logo">
            <img src="https://convertri.imgix.net/01a6df52-3d55-11ea-99fe-0697e5ca793e%2Ff71505a0b7be19fb31c9096f349bec5d235fcc3b%2FIcon-Gold.png?auto=compress,format&w=400" alt="Advisory OS">
            <span>Advisory OS</span>
        </div>
        <p class="footer-tagline">Capability deployed. Not curriculum learned.</p>
    </footer>
</body>
</html>

Checklist Before Delivery


Skill file for Advisory OS Constraint Priority Matrix — HTML presentation output