{
  "kind": "frameworks",
  "filters": {
    "documentKinds": [],
    "sourceTypes": [],
    "orientations": []
  },
  "total": 148,
  "items": [
    {
      "kind": "frameworks",
      "canonId": "019de52d-19c5-727e-8889-b0b361655fca",
      "legacyId": null,
      "slug": "waterfall-bridge",
      "name": "Waterfall / value bridge",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 2412,
        "docs": 1187,
        "slideRanges": 2411,
        "avgConfidence": 1.1899668,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-1976-775b-9d04-0f230c09ffc6",
      "legacyId": null,
      "slug": "value-chain",
      "name": "Value chain",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 2127,
        "docs": 1297,
        "slideRanges": 2076,
        "avgConfidence": 3.057283,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-1ad8-75ab-9027-a40365590152",
      "legacyId": null,
      "slug": "flywheel",
      "name": "Flywheel",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 1898,
        "docs": 1228,
        "slideRanges": 1894,
        "avgConfidence": 1.0454347,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-1b26-7499-98c8-1091acc836be",
      "legacyId": null,
      "slug": "customer-journey-map",
      "name": "Customer journey map",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 1597,
        "docs": 1038,
        "slideRanges": 1590,
        "avgConfidence": 1.2359136,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "1c9f3543-c96f-4a5b-b4a4-9b2a412c0aaf",
      "legacyId": null,
      "slug": "market-segmentation-pyramid",
      "name": "Market Segmentation Pyramid",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 1565,
        "docs": 1175,
        "slideRanges": 1559,
        "avgConfidence": 1.0274856,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "d2901a21-50b9-4151-ab1b-55b432772ea1",
      "legacyId": null,
      "slug": "capital-allocation-framework",
      "name": "Capital Allocation Framework",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 1180,
        "docs": 798,
        "slideRanges": 1174,
        "avgConfidence": 1.1624314,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-1fa2-7206-bb14-bb9ff5fccdba",
      "legacyId": null,
      "slug": "gantt-chart",
      "name": "Gantt chart",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 1118,
        "docs": 772,
        "slideRanges": 1115,
        "avgConfidence": 1.0864043,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
      "legacyId": 121,
      "slug": "metaphor-analogy",
      "name": "Metaphor & Analogy",
      "category": "Slide",
      "description": "Making abstract concepts concrete through familiar comparisons",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Metaphor_and_Analogy.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Chip & Dan Heath, Made to Stick (2007)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 904,
        "docs": 611,
        "slideRanges": 904,
        "avgConfidence": 0.9169447,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-1923-75fc-9be0-131883ed3458",
      "legacyId": null,
      "slug": "maturity-model",
      "name": "Maturity model",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 846,
        "docs": 523,
        "slideRanges": 806,
        "avgConfidence": 6.4153285,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-2313-71fa-bb45-a7d1a4aae23a",
      "legacyId": null,
      "slug": "matrix-nxn",
      "name": "NxN matrix",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 745,
        "docs": 559,
        "slideRanges": 745,
        "avgConfidence": 0.88270736,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
      "legacyId": 118,
      "slug": "action-titles",
      "name": "Action Titles",
      "category": "Slide",
      "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Action_Titles.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Gene Zelazny, Say It with Charts (1985); McKinsey & Company",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
      "bodyDocSlug": "framework-action-titles",
      "bodyDocTitle": "Action Titles",
      "enrichment": {
        "score": 50,
        "presentFields": [
          "description",
          "body_doc_id"
        ],
        "missingFields": [
          "structure",
          "best_for"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 591,
        "docs": 486,
        "slideRanges": 591,
        "avgConfidence": 0.9276988,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "79fa8d3e-ef02-4ee8-ad12-f8e00a25cca1",
      "legacyId": null,
      "slug": "network-effects-flywheel",
      "name": "Network Effects Flywheel",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 302,
        "docs": 249,
        "slideRanges": 302,
        "avgConfidence": 3.1787815,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-1f53-7290-96c8-79388c95fc17",
      "legacyId": null,
      "slug": "venn-diagram",
      "name": "Venn diagram",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 161,
        "docs": 152,
        "slideRanges": 161,
        "avgConfidence": 2.4987578,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d74b-74cd-b645-119646136d81",
      "legacyId": 212,
      "slug": "mapping",
      "name": "Mapping",
      "category": "Slide",
      "description": "Relationship between controls and their effects - make it natural",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Mapping.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Don Norman",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 148,
        "docs": 133,
        "slideRanges": 148,
        "avgConfidence": 0.8385135,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "ca76b81a-ec1d-403f-b1e6-8d6eec3bf93e",
      "legacyId": null,
      "slug": "scenario-analysis",
      "name": "Scenario Analysis",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 144,
        "docs": 89,
        "slideRanges": 143,
        "avgConfidence": 3.225,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-bd34-759a-8e3b-2f14b571a2a1",
      "legacyId": 155,
      "slug": "credibility-transfer",
      "name": "Credibility Transfer",
      "category": "Slide",
      "description": "Borrowing authority from trusted sources or vivid details",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Credibility_Transfer.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Chip & Dan Heath, Made to Stick (2007)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 134,
        "docs": 125,
        "slideRanges": 134,
        "avgConfidence": 0.8947761,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-2363-7248-9aa8-cd0bcf077891",
      "legacyId": null,
      "slug": "heatmap-matrix",
      "name": "Heatmap matrix",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 124,
        "docs": 100,
        "slideRanges": 123,
        "avgConfidence": 2.1475806,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-1cd5-703b-aaf2-ece59f25ed2c",
      "legacyId": null,
      "slug": "rule-of-40",
      "name": "Rule of 40",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 111,
        "docs": 77,
        "slideRanges": 106,
        "avgConfidence": 5.7216215,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019df269-2a08-767d-9128-e7431e6fe8a3",
      "legacyId": null,
      "slug": "cover-slide",
      "name": "Slide recipe: Cover",
      "category": "Slide",
      "description": "The first ten seconds. Build it deliberately.",
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Anlak Studio · Storymakers",
      "familyLabel": "slide-recipe",
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": "019df269-29e5-7738-b5fa-6892e5dc8e65",
      "bodyDocSlug": "slide-recipe-cover-slide",
      "bodyDocTitle": "Slide recipe: Cover",
      "enrichment": {
        "score": 50,
        "presentFields": [
          "description",
          "body_doc_id"
        ],
        "missingFields": [
          "structure",
          "best_for"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 80,
        "docs": 77,
        "slideRanges": 80,
        "avgConfidence": 1,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-1d78-77ce-8585-906759e9dfbd",
      "legacyId": null,
      "slug": "iceberg-model",
      "name": "Iceberg model",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 71,
        "docs": 61,
        "slideRanges": 67,
        "avgConfidence": 5.866197,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-bf0f-73ae-b9df-e60508cdaa65",
      "legacyId": 159,
      "slug": "contrast-principle",
      "name": "Contrast Principle",
      "category": "Slide",
      "description": "Higher visual weight draws attention - use contrast strategically for emphasis",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Contrast_Principle.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 56,
        "docs": 50,
        "slideRanges": 56,
        "avgConfidence": 0.88230354,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-1b76-748f-8da7-777d41615caf",
      "legacyId": null,
      "slug": "balanced-scorecard",
      "name": "Balanced scorecard",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 42,
        "docs": 27,
        "slideRanges": 37,
        "avgConfidence": 10.863095,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-1c88-7365-8aad-9609a89aac33",
      "legacyId": null,
      "slug": "s-curve",
      "name": "S-curve",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 35,
        "docs": 17,
        "slideRanges": 34,
        "avgConfidence": 10.744286,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-1e65-748e-be86-47bed7c1258d",
      "legacyId": null,
      "slug": "bcg-growth-share-matrix",
      "name": "BCG Growth-Share Matrix",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 31,
        "docs": 28,
        "slideRanges": 30,
        "avgConfidence": 8.890903,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
      "legacyId": 156,
      "slug": "emotional-appeal",
      "name": "Emotional Appeal",
      "category": "Slide",
      "description": "Connecting to audience feelings rather than just logic",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Emotional_Appeal.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Chip & Dan Heath, Made to Stick (2007); Aristotle (Pathos)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 29,
        "docs": 29,
        "slideRanges": 29,
        "avgConfidence": 0.89482754,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c38d-70b9-a284-b2b479763356",
      "legacyId": 169,
      "slug": "authority-bias",
      "name": "Authority Bias",
      "category": "Slide",
      "description": "Expert opinions are weighted more heavily - cite credible sources",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Authority_Bias.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Stanley Milgram (1963); Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 25,
        "docs": 25,
        "slideRanges": 25,
        "avgConfidence": 0.89599997,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-bc71-707d-8867-1b2e810175cf",
      "legacyId": 153,
      "slug": "core-message-extraction",
      "name": "Core Message Extraction",
      "category": "Slide",
      "description": "The discipline of distilling raw analysis, data, or content into a single declarative sentence — the slide's core message — that the audience would walk away with if they remembered nothing else. Process, not artefact: extraction questions run on the raw content until one sentence falls out.",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Core_Message_Extraction.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Chip & Dan Heath, Made to Stick (2007)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": "f85613cb-4b77-462f-bfe6-3b862516e1a6",
      "bodyDocSlug": "framework-core-message-extraction",
      "bodyDocTitle": "Core Message Extraction",
      "enrichment": {
        "score": 50,
        "presentFields": [
          "description",
          "body_doc_id"
        ],
        "missingFields": [
          "structure",
          "best_for"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 25,
        "docs": 24,
        "slideRanges": 25,
        "avgConfidence": 0.848,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-aeb0-77d5-bfbd-9cd9a6be8186",
      "legacyId": 123,
      "slug": "opening-hooks",
      "name": "Opening Hooks",
      "category": "Slide",
      "description": "Techniques to capture attention: Startling statistic, provocative question, short story, analogy, contrast",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Opening_Hooks.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Chip & Dan Heath, Made to Stick (2007)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 25,
        "docs": 23,
        "slideRanges": 25,
        "avgConfidence": 0.88,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
      "legacyId": null,
      "slug": "waterfall-chart",
      "name": "Waterfall chart",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 22,
        "docs": 18,
        "slideRanges": 22,
        "avgConfidence": 92.63636,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-1c39-70da-95dc-a09cedf9d273",
      "legacyId": null,
      "slug": "jobs-to-be-done",
      "name": "Jobs to be done",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 20,
        "docs": 16,
        "slideRanges": 20,
        "avgConfidence": 15.6675,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b08d-7453-be6f-4cde5308ed61",
      "legacyId": 127,
      "slug": "3-second-rule",
      "name": "3-Second Rule",
      "category": "Slide",
      "description": "Audience should grasp the main point within 3 seconds of seeing the slide",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Three_Second_Rule.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Nancy Duarte; Presentation design best practices",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 17,
        "docs": 17,
        "slideRanges": 17,
        "avgConfidence": 0.84705883,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c61a-72f9-920c-88acf4ecc336",
      "legacyId": 174,
      "slug": "nudge",
      "name": "Nudge",
      "category": "Slide",
      "description": "Subtle hints can significantly affect decisions - strategic CTA placement",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Nudge.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Richard Thaler & Cass Sunstein, Nudge (2008); Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 14,
        "docs": 12,
        "slideRanges": 14,
        "avgConfidence": 0.8857143,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d7af-74fd-9633-01230dc10682",
      "legacyId": 213,
      "slug": "constraint",
      "name": "Constraint",
      "category": "Slide",
      "description": "Limiting possible actions to prevent errors",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Constraint.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Don Norman",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 12,
        "docs": 11,
        "slideRanges": 12,
        "avgConfidence": 0.7673333,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
      "legacyId": 125,
      "slug": "data-ink-ratio",
      "name": "Data-Ink Ratio",
      "category": "Slide",
      "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Data_Ink_Ratio.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Edward Tufte, The Visual Display of Quantitative Information (1983)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 11,
        "docs": 2,
        "slideRanges": 11,
        "avgConfidence": 0.9727273,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b43d-741f-8350-8cf97dfef586",
      "legacyId": 135,
      "slug": "layering-and-separation",
      "name": "Layering and Separation",
      "category": "Slide",
      "description": "Using visual layers to distinguish different types of information",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Layering_and_Separation.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Edward Tufte, Envisioning Information (1990)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 11,
        "docs": 11,
        "slideRanges": 11,
        "avgConfidence": 0.8009091,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b745-710f-8b70-825c603b1163",
      "legacyId": 142,
      "slug": "grid-system",
      "name": "Grid System",
      "category": "Slide",
      "description": "Aligning elements to invisible grid for visual harmony",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Grid_System.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Graphic design; Swiss Style",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 10,
        "docs": 10,
        "slideRanges": 10,
        "avgConfidence": 0.7809,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "977f89c5-05e2-43fd-a315-319006292de8",
      "legacyId": null,
      "slug": "total-enterprise-reinvention",
      "name": "Total Enterprise Reinvention",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 10,
        "docs": 8,
        "slideRanges": 8,
        "avgConfidence": 62.49,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c7a3-757c-82ed-429da0d9256f",
      "legacyId": 178,
      "slug": "halo-effect",
      "name": "Halo Effect",
      "category": "Slide",
      "description": "Positive impression in one area influences opinions in others",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Halo_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Edward Thorndike (1920); Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 9,
        "docs": 7,
        "slideRanges": 9,
        "avgConfidence": 0.9777778,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019df269-295e-70bc-9ee8-baa90a49922d",
      "legacyId": null,
      "slug": "closing-ask-slide",
      "name": "Slide recipe: Closing ask",
      "category": "Slide",
      "description": "The last slide the reader sees. Treat it as a single design moment —",
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Anlak Studio · Storymakers",
      "familyLabel": "slide-recipe",
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": "019df269-293a-7523-9bb5-2692a9047168",
      "bodyDocSlug": "slide-recipe-closing-ask-slide",
      "bodyDocTitle": "Slide recipe: Closing ask",
      "enrichment": {
        "score": 50,
        "presentFields": [
          "description",
          "body_doc_id"
        ],
        "missingFields": [
          "structure",
          "best_for"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 9,
        "docs": 9,
        "slideRanges": 9,
        "avgConfidence": 0.9777778,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
      "legacyId": 138,
      "slug": "annotation",
      "name": "Annotation",
      "category": "Slide",
      "description": "Adding explanatory labels to highlight key data points",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Annotation.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Cole Nussbaumer Knaflic, Storytelling with Data (2015)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 8,
        "docs": 8,
        "slideRanges": 8,
        "avgConfidence": 0.875,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "5546e77b-3aa3-4806-946d-d1e6e8841ceb",
      "legacyId": null,
      "slug": "three-pillars-framework",
      "name": "Three Pillars Framework",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 7,
        "docs": 6,
        "slideRanges": 6,
        "avgConfidence": 36.164288,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-db63-776b-a048-f6b0c10c70b5",
      "legacyId": 221,
      "slug": "accessibility-a11y",
      "name": "Accessibility (A11y)",
      "category": "Slide",
      "description": "Design usable by people of all abilities - alt text, contrast, keyboard nav",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Accessibility_A11y.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "WCAG guidelines",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 6,
        "docs": 5,
        "slideRanges": 6,
        "avgConfidence": 0.93333334,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-1e16-7606-b143-ee6baf243b35",
      "legacyId": null,
      "slug": "raci",
      "name": "RACI",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 6,
        "docs": 5,
        "slideRanges": 5,
        "avgConfidence": 43.325,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-dbc8-7719-a59a-b6b319364aa6",
      "legacyId": 222,
      "slug": "inclusive-design",
      "name": "Inclusive Design",
      "category": "Slide",
      "description": "Designing for diverse range of human abilities and contexts",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Inclusive_Design.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Microsoft Inclusive Design",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 5,
        "docs": 4,
        "slideRanges": 5,
        "avgConfidence": 0.84,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
      "legacyId": 133,
      "slug": "small-multiples",
      "name": "Small Multiples",
      "category": "Slide",
      "description": "Repeating similar charts for comparison across categories or time",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Small_Multiples.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Edward Tufte, Envisioning Information (1990)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 5,
        "docs": 5,
        "slideRanges": 5,
        "avgConfidence": 33.71,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "0cfc0e96-12fa-4165-9fc3-5bd7bd7adefc",
      "legacyId": null,
      "slug": "tcfd-task-force-on-climate-related-financial-disclosures-",
      "name": "TCFD (Task Force on Climate-related Financial Disclosures)",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 5,
        "docs": 3,
        "slideRanges": 5,
        "avgConfidence": 87.4,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d67c-749b-b226-1973757887a4",
      "legacyId": 210,
      "slug": "affordance",
      "name": "Affordance",
      "category": "Slide",
      "description": "Visual properties suggesting how object should be used",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Affordance.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "James Gibson; Don Norman",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 4,
        "docs": 3,
        "slideRanges": 4,
        "avgConfidence": 0.95,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
      "legacyId": 154,
      "slug": "concrete-language",
      "name": "Concrete Language",
      "category": "Slide",
      "description": "Using specific sensory details instead of abstract terms",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Concrete_Language.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Chip & Dan Heath, Made to Stick (2007)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 4,
        "docs": 4,
        "slideRanges": 4,
        "avgConfidence": 0.875,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-caf9-72e1-bf80-42c11f0c1f42",
      "legacyId": 185,
      "slug": "dual-coding-theory",
      "name": "Dual Coding Theory",
      "category": "Slide",
      "description": "Information encoded both verbally and visually remembered better",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Dual_Coding_Theory.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Allan Paivio (1971)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 4,
        "docs": 4,
        "slideRanges": 4,
        "avgConfidence": 0.75,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d32b-7291-9ff2-73992e5fd9a0",
      "legacyId": 203,
      "slug": "horror-vacui",
      "name": "Horror Vacui",
      "category": "Slide",
      "description": "Fear of empty space leading to overcrowding - resist and embrace white space",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Horror_Vacui.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Art criticism; Design",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 4,
        "docs": 4,
        "slideRanges": 4,
        "avgConfidence": 0.85,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b0f0-7630-a2f5-bb38f9bd9c57",
      "legacyId": 128,
      "slug": "one-idea-rule",
      "name": "One Idea Rule",
      "category": "Slide",
      "description": "Each slide should communicate exactly one concept",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/One_Idea_Rule.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Garr Reynolds, Presentation Zen (2008); Nancy Duarte",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 4,
        "docs": 1,
        "slideRanges": 4,
        "avgConfidence": 0.95,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "f7dce784-6536-4a9e-81d0-7106e5b2f7e5",
      "legacyId": null,
      "slug": "science-based-targets-initiative-sbti-",
      "name": "Science-Based Targets initiative (SBTi)",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 4,
        "docs": 3,
        "slideRanges": 4,
        "avgConfidence": 78.25,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-1bec-7629-820a-ad74e1dad6d6",
      "legacyId": null,
      "slug": "stakeholder-map",
      "name": "Stakeholder map",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 4,
        "docs": 4,
        "slideRanges": 4,
        "avgConfidence": 75.75,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "a292b25f-5762-43af-abd0-db3078206ead",
      "legacyId": null,
      "slug": "waterfall-value-bridge-",
      "name": "Waterfall (Value Bridge)",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 4,
        "docs": 4,
        "slideRanges": 4,
        "avgConfidence": 91.25,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "c07501bf-7c47-4964-becc-76381c0cac38",
      "legacyId": null,
      "slug": "wise-pivot",
      "name": "Wise Pivot",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 4,
        "docs": 3,
        "slideRanges": 4,
        "avgConfidence": 65.25,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b49e-7453-ab01-b60f338eeda1",
      "legacyId": 136,
      "slug": "chartjunk-elimination",
      "name": "Chartjunk Elimination",
      "category": "Slide",
      "description": "Remove decorative elements that don't convey data: 3D effects, shadows, unnecessary gridlines",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Chartjunk_Elimination.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Edward Tufte, The Visual Display of Quantitative Information (1983)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 3,
        "docs": 2,
        "slideRanges": 3,
        "avgConfidence": 0.9166667,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b266-7631-9b7e-44d83bd5d4f3",
      "legacyId": 131,
      "slug": "gestalt-principles",
      "name": "Gestalt Principles",
      "category": "Slide",
      "description": "Proximity, Similarity, Enclosure, Continuity, Closure, Connection - how humans perceive visual groups",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Gestalt_Principles.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Max Wertheimer, Kurt Koffka, Wolfgang Köhler (1920s); Stephen Few, Show Me the Numbers (2004)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 3,
        "docs": 3,
        "slideRanges": 3,
        "avgConfidence": 0.8666667,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b855-75ac-a678-8ec59cf4c75d",
      "legacyId": 144,
      "slug": "golden-ratio",
      "name": "Golden Ratio",
      "category": "Slide",
      "description": "Using 1:1.618 proportions for aesthetically pleasing layouts",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Golden_Ratio.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Classical proportion; Design",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 3,
        "docs": 3,
        "slideRanges": 3,
        "avgConfidence": 1,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "d6c2f49a-18e7-47f6-8da1-d130fa0f1fd8",
      "legacyId": null,
      "slug": "ropo-research-online-purchase-offline-",
      "name": "ROPO (Research Online, Purchase Offline)",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 3,
        "docs": 3,
        "slideRanges": 3,
        "avgConfidence": 86,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-2221-7358-9585-517763e9c4be",
      "legacyId": null,
      "slug": "trl",
      "name": "Technology Readiness Level (TRL)",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 3,
        "docs": 1,
        "slideRanges": 3,
        "avgConfidence": 85,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c742-724e-9623-54fd8878b87b",
      "legacyId": 177,
      "slug": "bandwagon-effect",
      "name": "Bandwagon Effect",
      "category": "Slide",
      "description": "People adopt beliefs proportionally to how many others hold them - show momentum",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Bandwagon_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Psychology research; Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 2,
        "docs": 2,
        "slideRanges": 2,
        "avgConfidence": 0.8,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
      "legacyId": 129,
      "slug": "chart-selection-guide",
      "name": "Chart Selection Guide",
      "category": "Slide",
      "description": "Choosing the right chart type for your data and message",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Chart_Selection_Guide.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Scott Berinato, Good Charts (HBR, 2016); Jonathan Schwabish, Better Data Visualizations (2021)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 2,
        "docs": 1,
        "slideRanges": 2,
        "avgConfidence": 0.8,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-af13-774b-a4fd-7db0a3a88d51",
      "legacyId": 124,
      "slug": "closing-techniques",
      "name": "Closing Techniques",
      "category": "Slide",
      "description": "Strong endings: Callback, challenge, vision, clear CTA, memorable line",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Closing_Techniques.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Nancy Duarte, Resonate (2010)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 2,
        "docs": 2,
        "slideRanges": 2,
        "avgConfidence": 0.8,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b9d2-7535-ad41-3b1a87fa7a93",
      "legacyId": 147,
      "slug": "focal-point",
      "name": "Focal Point",
      "category": "Slide",
      "description": "Creating single point of visual emphasis",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Focal_Point.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Design fundamentals",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 2,
        "docs": 2,
        "slideRanges": 2,
        "avgConfidence": 0.85,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-ad87-70bd-90dc-722d02ddcb91",
      "legacyId": 120,
      "slug": "headline-test",
      "name": "Headline Test",
      "category": "Slide",
      "description": "A three-question editorial test applied to any candidate slide title or headline: does it have a real verb, does it make a defensible claim, and would the reader walk away with the right point if they read only that line?",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Headline_Test.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "McKinsey & Company presentation methodology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": "ab578e4c-65d7-4fce-a814-10b07ffdb99d",
      "bodyDocSlug": "framework-headline-test",
      "bodyDocTitle": "Headline Test",
      "enrichment": {
        "score": 50,
        "presentFields": [
          "description",
          "body_doc_id"
        ],
        "missingFields": [
          "structure",
          "best_for"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 2,
        "docs": 2,
        "slideRanges": 2,
        "avgConfidence": 0.9,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c025-70d9-a411-8efa41ae179b",
      "legacyId": 161,
      "slug": "law-of-similarity",
      "name": "Law of Similarity",
      "category": "Slide",
      "description": "Similar-looking elements perceived as related - consistent styling for related concepts",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Law_of_Similarity.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Gestalt Psychology; Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 2,
        "docs": 2,
        "slideRanges": 2,
        "avgConfidence": 0.75,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019df269-2867-76e9-a53c-b819af003520",
      "legacyId": null,
      "slug": "before-after-recipe",
      "name": "Slide recipe: Before / after",
      "category": "Slide",
      "description": "The visual counterfactual. Two trajectories side by side: where the",
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Anlak Studio · Storymakers",
      "familyLabel": "slide-recipe",
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": "019df269-2846-73ab-8acd-56541c7fe2b2",
      "bodyDocSlug": "slide-recipe-before-after-recipe",
      "bodyDocTitle": "Slide recipe: Before / after",
      "enrichment": {
        "score": 50,
        "presentFields": [
          "description",
          "body_doc_id"
        ],
        "missingFields": [
          "structure",
          "best_for"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 2,
        "docs": 2,
        "slideRanges": 2,
        "avgConfidence": 0.8,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
      "legacyId": 130,
      "slug": "color-strategy",
      "name": "Color Strategy",
      "category": "Slide",
      "description": "Using color for emphasis, categories, sentiment, and hierarchy",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Color_Strategy.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Edward Tufte; Cole Nussbaumer Knaflic, Storytelling with Data",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 1,
        "docs": 1,
        "slideRanges": 1,
        "avgConfidence": 0.95,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d087-741f-b358-1303dd35483e",
      "legacyId": 197,
      "slug": "figure-ground-relationship",
      "name": "Figure-Ground Relationship",
      "category": "Slide",
      "description": "Perception organizes into figure (focus) and ground (background)",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Figure-Ground_Relationship.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Gestalt Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 1,
        "docs": 1,
        "slideRanges": 1,
        "avgConfidence": 0.8,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c49f-706b-bdc5-e54c66fd2e81",
      "legacyId": 171,
      "slug": "ikea-effect",
      "name": "IKEA Effect",
      "category": "Slide",
      "description": "People value things more when they participated in creating them - co-creation moments",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/IKEA_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Norton, Mochon & Ariely (2012); Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 1,
        "docs": 1,
        "slideRanges": 1,
        "avgConfidence": 0.9,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-22bf-712c-beec-81c3e62198eb",
      "legacyId": null,
      "slug": "swot",
      "name": "SWOT",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 1,
        "docs": 1,
        "slideRanges": 1,
        "avgConfidence": 1,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c150-75ee-9212-183da76c56da",
      "legacyId": 164,
      "slug": "aesthetic-usability-effect",
      "name": "Aesthetic-Usability Effect",
      "category": "Slide",
      "description": "Attractive designs are perceived as easier to use and more trustworthy",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Aesthetic-Usability_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Kurosu & Kashimura (1995); Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-cbc2-778d-8990-aab03f5cff0d",
      "legacyId": 187,
      "slug": "attentional-blink",
      "name": "Attentional Blink",
      "category": "Slide",
      "description": "Brief period after noticing something when attention is reduced",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Attentional_Blink.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Psychology research",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c6df-71aa-bc26-a84a6539d5dc",
      "legacyId": 176,
      "slug": "availability-heuristic",
      "name": "Availability Heuristic",
      "category": "Slide",
      "description": "Recent/vivid information weighted more heavily - use recent examples",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Availability_Heuristic.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Tversky & Kahneman (1973); Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c0eb-70be-99ee-3f02147f9dce",
      "legacyId": 163,
      "slug": "banner-blindness",
      "name": "Banner Blindness",
      "category": "Slide",
      "description": "Users tune out repeatedly encountered content patterns - vary visual approaches",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Banner_Blindness.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Benway & Lane (1998); Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c97e-774a-a2b2-cbb5c31e030f",
      "legacyId": 182,
      "slug": "bizarreness-effect",
      "name": "Bizarreness Effect",
      "category": "Slide",
      "description": "Unusual material is remembered better than common material",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Bizarreness_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Psychology research",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c2c8-70f8-87aa-e2d5127e6e69",
      "legacyId": 167,
      "slug": "centre-stage-effect",
      "name": "Centre-Stage Effect",
      "category": "Slide",
      "description": "People tend to choose the middle option in a set - place preferred option centrally",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Centre-Stage_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Valenzuela & Raghubir (2009); Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-cc6e-73bf-baa2-257572eadbd3",
      "legacyId": 188,
      "slug": "change-blindness",
      "name": "Change Blindness",
      "category": "Slide",
      "description": "Failing to notice changes when attention is elsewhere",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Change_Blindness.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Simons & Levin (1998)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-bb60-7095-9003-771bfa140610",
      "legacyId": 151,
      "slug": "curse-of-knowledge-antidote",
      "name": "Curse of Knowledge Antidote",
      "category": "Slide",
      "description": "Techniques to overcome expert blind spots: concrete examples, analogies, testing with novices",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Curse_of_Knowledge_Antidote.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Chip & Dan Heath, Made to Stick (2007)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c43e-70bc-81ad-ceb8683f8a47",
      "legacyId": 170,
      "slug": "decoy-effect",
      "name": "Decoy Effect",
      "category": "Slide",
      "description": "Adding an inferior option makes target option more attractive",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Decoy_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Huber, Payne & Puto (1982); Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c565-711d-83b4-d11337dfd034",
      "legacyId": 173,
      "slug": "default-bias",
      "name": "Default Bias",
      "category": "Slide",
      "description": "People tend to stick with default options - make desired action the easiest path",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Default_Bias.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Johnson & Goldstein (2003); Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-dafe-76ba-9184-1691151cd3d9",
      "legacyId": 220,
      "slug": "defensive-design",
      "name": "Defensive Design",
      "category": "Slide",
      "description": "Anticipating and designing for user errors and edge cases",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Defensive_Design.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "37signals/Basecamp philosophy",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-ce4b-7117-8f9c-3f004fc0f22e",
      "legacyId": 192,
      "slug": "doherty-threshold",
      "name": "Doherty Threshold",
      "category": "Slide",
      "description": "Productivity increases when response time is under 400ms",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Doherty_Threshold.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "IBM research (1982)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-ca97-70e8-b880-59561c1cbead",
      "legacyId": 184,
      "slug": "elaboration",
      "name": "Elaboration",
      "category": "Slide",
      "description": "Connecting new information to existing knowledge improves retention",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Elaboration.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Cognitive psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c503-74ab-821e-5d62ec54ba36",
      "legacyId": 172,
      "slug": "endowment-effect",
      "name": "Endowment Effect",
      "category": "Slide",
      "description": "People value things more once they own them - use 'your' language for solutions",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Endowment_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Richard Thaler (1980); Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d924-7189-846b-abdb2e213c62",
      "legacyId": 216,
      "slug": "error-recovery",
      "name": "Error Recovery",
      "category": "Slide",
      "description": "Designing for easy recovery from mistakes",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Error_Recovery.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Usability principles",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b680-7059-9ac1-71c10350c7ee",
      "legacyId": 140,
      "slug": "figure-ground",
      "name": "Figure-Ground",
      "category": "Slide",
      "description": "Designing clear distinction between foreground content and background",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Figure-Ground.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Gestalt Psychology; Visual design",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d38c-748d-96fb-7f68e8d8c43f",
      "legacyId": 204,
      "slug": "fitts-law-corollary",
      "name": "Fitt's Law Corollary",
      "category": "Slide",
      "description": "Infinite-width targets at screen edges are fastest to reach",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Fitts_Law_Corollary.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Human-Computer Interaction",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c088-70be-a543-a1e33a72286c",
      "legacyId": 162,
      "slug": "fittss-law",
      "name": "Fitts's Law",
      "category": "Slide",
      "description": "Larger and closer elements are easier to interact with - prominence matters",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Fittss_Law.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Paul Fitts (1954); Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c857-7738-a684-6a435f9e83ab",
      "legacyId": 179,
      "slug": "fluency-heuristic",
      "name": "Fluency Heuristic",
      "category": "Slide",
      "description": "Easy-to-process information feels more true and trustworthy",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Fluency_Heuristic.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Psychology research; Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d814-7434-9f17-876e1e2e275b",
      "legacyId": 214,
      "slug": "forcing-function",
      "name": "Forcing Function",
      "category": "Slide",
      "description": "Interaction design that prevents errors by forcing correct behavior",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Forcing_Function.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Don Norman",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b8b9-722b-a5ab-2fc1219615a9",
      "legacyId": 145,
      "slug": "f-pattern",
      "name": "F-Pattern",
      "category": "Slide",
      "description": "Designing for natural left-to-right then down reading pattern",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/F-Pattern.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Eye-tracking research; Nielsen Norman Group",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-ca34-7726-ad20-c2d594a11b06",
      "legacyId": 183,
      "slug": "generation-effect",
      "name": "Generation Effect",
      "category": "Slide",
      "description": "Information is better remembered if generated rather than read",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Generation_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Slamecka & Graf (1978)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-da96-723b-a856-2e475b2fa310",
      "legacyId": 219,
      "slug": "graceful-degradation",
      "name": "Graceful Degradation",
      "category": "Slide",
      "description": "Maintain core functionality when features fail",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Graceful_Degradation.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Engineering principle",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d5c9-7749-8568-ad92e24476df",
      "legacyId": 209,
      "slug": "gulf-of-evaluation",
      "name": "Gulf of Evaluation",
      "category": "Slide",
      "description": "Gap between system state and user understanding - make state visible",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Gulf_of_Evaluation.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Don Norman",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d569-726e-84d7-d3bfbb36dfff",
      "legacyId": 208,
      "slug": "gulf-of-execution",
      "name": "Gulf of Execution",
      "category": "Slide",
      "description": "Gap between user intention and available actions - minimize it",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Gulf_of_Execution.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Don Norman",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-ccd1-76d8-9b97-80cd89f41feb",
      "legacyId": 189,
      "slug": "inattentional-blindness",
      "name": "Inattentional Blindness",
      "category": "Slide",
      "description": "Failing to notice unexpected objects when attention is focused",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Inattentional_Blindness.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Simons & Chabris (1999); Gorilla experiment",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-cd94-7578-aed0-a0cac399d1d5",
      "legacyId": 191,
      "slug": "information-scent",
      "name": "Information Scent",
      "category": "Slide",
      "description": "Users follow cues that suggest they're heading toward their goal",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Information_Scent.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Information foraging theory",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-cead-77eb-9763-efb8fdd3c1b6",
      "legacyId": 193,
      "slug": "jakobs-law",
      "name": "Jakob's Law",
      "category": "Slide",
      "description": "Users prefer your site to work like sites they already know",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Jakobs_Law.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Nielsen Norman Group",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d4a3-75f7-9e0d-2da633cbdd09",
      "legacyId": 206,
      "slug": "keystroke-level-model",
      "name": "Keystroke-Level Model",
      "category": "Slide",
      "description": "Predicting task completion time from basic operations",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Keystroke-Level_Model.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Card Moran & Newell (1980)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d14a-70c5-8fc8-ea12e7ddae1f",
      "legacyId": 199,
      "slug": "law-of-closure",
      "name": "Law of Closure",
      "category": "Slide",
      "description": "Mind completes incomplete shapes - can suggest without showing everything",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Law_of_Closure.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Gestalt Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d1ac-7213-b9f3-5e4862e73ab4",
      "legacyId": 200,
      "slug": "law-of-common-fate",
      "name": "Law of Common Fate",
      "category": "Slide",
      "description": "Elements moving in same direction perceived as group",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Law_of_Common_Fate.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Gestalt Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d0e7-75d8-bd2d-99282e7c4a1f",
      "legacyId": 198,
      "slug": "law-of-continuity",
      "name": "Law of Continuity",
      "category": "Slide",
      "description": "Eyes follow smooth paths rather than abrupt changes",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Law_of_Continuity.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Gestalt Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d2ca-7403-bc2f-16ba3c0d047a",
      "legacyId": 202,
      "slug": "law-of-past-experience",
      "name": "Law of Past Experience",
      "category": "Slide",
      "description": "Prior experience influences perception - leverage familiar patterns",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Law_of_Past_Experience.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Gestalt Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c32b-736f-9109-19a9e745f2a1",
      "legacyId": 168,
      "slug": "law-of-pr-gnanz",
      "name": "Law of Prägnanz",
      "category": "Slide",
      "description": "Ambiguous images are interpreted in the simplest way possible - use clear visuals",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Law_of_Pragnanz.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Gestalt Psychology; Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-bf73-719c-b493-9d33377a81a7",
      "legacyId": 160,
      "slug": "law-of-proximity",
      "name": "Law of Proximity",
      "category": "Slide",
      "description": "Close elements are perceived as related - group related content spatially",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Law_of_Proximity.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Gestalt Psychology; Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d264-7107-be15-99478ea874d6",
      "legacyId": 201,
      "slug": "law-of-symmetry",
      "name": "Law of Symmetry",
      "category": "Slide",
      "description": "Symmetrical elements perceived as unified whole",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Law_of_Symmetry.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Gestalt Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b501-7740-8c7c-af7ecca16e9c",
      "legacyId": 137,
      "slug": "lie-factor",
      "name": "Lie Factor",
      "category": "Slide",
      "description": "Ensure visual representation accurately reflects data magnitude",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Lie_Factor.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Edward Tufte, The Visual Display of Quantitative Information (1983)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-cb5c-76c3-9b24-f26ec7742ed1",
      "legacyId": 186,
      "slug": "modality-effect",
      "name": "Modality Effect",
      "category": "Slide",
      "description": "Audio and visual together more effective than either alone",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Modality_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Cognitive load theory",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d506-716f-9913-f3f904bf0838",
      "legacyId": 207,
      "slug": "normans-seven-stages",
      "name": "Norman's Seven Stages",
      "category": "Slide",
      "description": "Goal, Intention, Action, Execution, Perception, Interpretation, Evaluation",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Normans_Seven_Stages.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Don Norman, Design of Everyday Things",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c201-7014-bb58-3e85e3e11dfd",
      "legacyId": 165,
      "slug": "picture-superiority-effect",
      "name": "Picture Superiority Effect",
      "category": "Slide",
      "description": "Pictures remembered 6x better than words - prioritize visuals over text",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Picture_Superiority_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Paivio (1971); Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d8c0-70db-81b4-1ef6d590ebca",
      "legacyId": 215,
      "slug": "poka-yoke",
      "name": "Poka-Yoke",
      "category": "Slide",
      "description": "Error-proofing design that prevents mistakes",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Poka-Yoke.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Shigeo Shingo; Toyota",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019de52d-2271-73ac-8edd-04d3fd11d781",
      "legacyId": null,
      "slug": "porters-5-forces",
      "name": "Porter's 5 Forces",
      "category": null,
      "description": null,
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": null,
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 0,
        "presentFields": [],
        "missingFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-cf10-70a0-a56a-fa4f0e03eda1",
      "legacyId": 194,
      "slug": "postels-law-robustness",
      "name": "Postel's Law (Robustness)",
      "category": "Slide",
      "description": "Be conservative in what you send, liberal in what you accept",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Postels_Law_Robustness.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Jon Postel; Design principle",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b61d-717f-a402-24ccbb4b60d8",
      "legacyId": 139,
      "slug": "pre-attentive-attributes",
      "name": "Pre-attentive Attributes",
      "category": "Slide",
      "description": "Visual properties processed instantly: color, size, orientation, shape",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Pre-attentive_Attributes.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Stephen Few, Show Me the Numbers (2004)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c8b9-74fe-afdd-e8315a731873",
      "legacyId": 180,
      "slug": "processing-fluency",
      "name": "Processing Fluency",
      "category": "Slide",
      "description": "Information that's easier to process is preferred and believed",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Processing_Fluency.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Cognitive psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d9ea-715b-8b13-60f42f225c67",
      "legacyId": 218,
      "slug": "progressive-enhancement",
      "name": "Progressive Enhancement",
      "category": "Slide",
      "description": "Start with basic functionality and add enhancements",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Progressive_Enhancement.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Web development philosophy",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c67c-715c-aedd-f2cc1b838dbd",
      "legacyId": 175,
      "slug": "recognition-over-recall",
      "name": "Recognition Over Recall",
      "category": "Slide",
      "description": "It's easier to recognize than to recall - use familiar patterns and visual cues",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Recognition_Over_Recall.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Nielsen Norman Group; Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c91b-77bb-8b9e-3154041a3c6b",
      "legacyId": 181,
      "slug": "rhyme-as-reason-effect",
      "name": "Rhyme-as-Reason Effect",
      "category": "Slide",
      "description": "Rhyming statements perceived as more truthful",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Rhyme-as-Reason_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "McGlone & Tofighbakhsh (2000)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b7f4-7536-aa20-23c7ff7be197",
      "legacyId": 143,
      "slug": "rule-of-thirds",
      "name": "Rule of Thirds",
      "category": "Slide",
      "description": "Placing key elements at intersection of thirds for visual interest",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Rule_of_Thirds.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Photography; Composition",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-cfd3-7715-ac78-987b666517f9",
      "legacyId": 196,
      "slug": "signal-detection-theory",
      "name": "Signal Detection Theory",
      "category": "Slide",
      "description": "Distinguishing signal from noise depends on sensitivity and bias",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Signal_Detection_Theory.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Psychology/Engineering",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d6e7-728f-af80-ce685d47619a",
      "legacyId": 211,
      "slug": "signifier",
      "name": "Signifier",
      "category": "Slide",
      "description": "Element that communicates what an action will do",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Signifier.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Don Norman",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-be4a-775f-8038-d4e7e58dfc5a",
      "legacyId": 157,
      "slug": "sinatra-test",
      "name": "Sinatra Test",
      "category": "Slide",
      "description": "If you can make it there, you can make it anywhere - using flagship example",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Sinatra_Test.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Chip & Dan Heath, Made to Stick (2007)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-dcd3-7287-94d8-5a49496c2ddb",
      "legacyId": 224,
      "slug": "singularity-effect",
      "name": "Singularity Effect",
      "category": "Slide",
      "description": "People care more about individuals than statistics - use specific examples",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Singularity_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Psychic numbing research; Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019df269-2baf-7248-a16d-6649368c9549",
      "legacyId": null,
      "slug": "slide-architecture",
      "name": "Slide architecture: the 8-block sequence",
      "category": "Slide",
      "description": "The 8-block sequence below is the reference architecture for an activist",
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Anlak Studio · Storymakers",
      "familyLabel": "slide-recipe",
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": "019df269-2b8b-77b1-9e0b-ba136acb597a",
      "bodyDocSlug": "slide-recipe-slide-architecture",
      "bodyDocTitle": "Slide architecture: the 8-block sequence",
      "enrichment": {
        "score": 50,
        "presentFields": [
          "description",
          "body_doc_id"
        ],
        "missingFields": [
          "structure",
          "best_for"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019df269-2c59-718a-b275-c6ff7a0fe8e7",
      "legacyId": null,
      "slug": "sum-of-parts-reveal-recipe",
      "name": "Slide recipe: Sum-of-parts reveal",
      "category": "Slide",
      "description": "The single most lucrative slide in the activist canon. McDonald's $46bn",
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Anlak Studio · Storymakers",
      "familyLabel": "slide-recipe",
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": "019df269-2c35-776f-9288-9db42424e9e5",
      "bodyDocSlug": "slide-recipe-sum-of-parts-reveal-recipe",
      "bodyDocTitle": "Slide recipe: Sum-of-parts reveal",
      "enrichment": {
        "score": 50,
        "presentFields": [
          "description",
          "body_doc_id"
        ],
        "missingFields": [
          "structure",
          "best_for"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019df269-2b04-75bc-ad85-e0179264bdd7",
      "legacyId": null,
      "slug": "peer-gap-chart-recipe",
      "name": "Slide recipe: the peer-gap chart",
      "category": "Slide",
      "description": "The single most-copied slide in activism. This is the exact layout, used",
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Anlak Studio · Storymakers",
      "familyLabel": "slide-recipe",
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": "019df269-2ae1-771d-9cd1-193a2e25f21c",
      "bodyDocSlug": "slide-recipe-peer-gap-chart-recipe",
      "bodyDocTitle": "Slide recipe: the peer-gap chart",
      "enrichment": {
        "score": 50,
        "presentFields": [
          "description",
          "body_doc_id"
        ],
        "missingFields": [
          "structure",
          "best_for"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019df269-2d56-7739-ab65-cc2e091a109b",
      "legacyId": null,
      "slug": "visual-craft",
      "name": "Slide visual craft",
      "category": "Slide",
      "description": "What separates a 5/5-visual-craft deck from a 3/5 one.",
      "structure": null,
      "bestFor": null,
      "imagePath": null,
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Anlak Studio · Storymakers",
      "familyLabel": "slide-recipe",
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": "019df269-2d32-736a-ae59-0250c5540c9a",
      "bodyDocSlug": "slide-recipe-visual-craft",
      "bodyDocTitle": "Slide visual craft",
      "enrichment": {
        "score": 50,
        "presentFields": [
          "description",
          "body_doc_id"
        ],
        "missingFields": [
          "structure",
          "best_for"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-ddaa-77f9-890c-a1cf082c5ccd",
      "legacyId": 226,
      "slug": "social-validation",
      "name": "Social Validation",
      "category": "Slide",
      "description": "Showing others have done something, especially similar others",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Social_Validation.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Robert Cialdini, Influence (1984)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-acd2-76f8-b59a-9bf15a89f10a",
      "legacyId": 119,
      "slug": "so-what-test",
      "name": "So What? Test",
      "category": "Slide",
      "description": "The recursive editorial discipline of asking so-what of every slide, chart, and statement until the answer is an implication for the audience — that final answer becomes the slide's title; the chain becomes its body.",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/So_What_Test.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Barbara Minto, The Pyramid Principle; McKinsey & Company",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": "fec04b06-b2f1-432b-a97b-916dc7563f64",
      "bodyDocSlug": "framework-so-what-test",
      "bodyDocTitle": "So What? Test",
      "enrichment": {
        "score": 50,
        "presentFields": [
          "description",
          "body_doc_id"
        ],
        "missingFields": [
          "structure",
          "best_for"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b3db-7239-aa95-d24b7cdc29e4",
      "legacyId": 134,
      "slug": "sparklines-chart",
      "name": "Sparklines (Chart)",
      "category": "Slide",
      "description": "Word-sized graphics embedded in text for data density",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Sparklines_Chart.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Edward Tufte, Beautiful Evidence (2006)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b02a-7044-92d6-8c080f57351f",
      "legacyId": 126,
      "slug": "squint-test",
      "name": "Squint Test",
      "category": "Slide",
      "description": "Squint at slide - can you still tell what's most important? Tests visual hierarchy",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Squint_Test.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Nancy Duarte, Slide:ology (2008)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d3ef-742e-8725-43e3a67f272f",
      "legacyId": 205,
      "slug": "steering-law",
      "name": "Steering Law",
      "category": "Slide",
      "description": "Time to navigate through path depends on length and width",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Steering_Law.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Human-Computer Interaction",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-ae4e-768d-a18b-108e6cda511e",
      "legacyId": 122,
      "slug": "story-moments",
      "name": "Story Moments",
      "category": "Slide",
      "description": "Design key emotional beats: The Shock, The Vision, The Proof, The Choice, The Call",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Story_Moments.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Nancy Duarte, Resonate (2010); Chip & Dan Heath, Made to Stick",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-cd34-771f-83f9-94f344ba1794",
      "legacyId": 190,
      "slug": "stroop-effect",
      "name": "Stroop Effect",
      "category": "Slide",
      "description": "Interference when visual and textual info conflict - ensure consistency",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Stroop_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "John Ridley Stroop (1935)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-bafc-7383-81fa-0d5aefe153f6",
      "legacyId": 150,
      "slug": "success-framework",
      "name": "SUCCESs Framework",
      "category": "Slide",
      "description": "Simple, Unexpected, Concrete, Credible, Emotional, Stories - making ideas stick",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/SUCCESs_Framework.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Chip & Dan Heath, Made to Stick (2007)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-dd47-7369-a109-d389e19ffab4",
      "legacyId": 225,
      "slug": "thats-not-all-technique",
      "name": "That's-Not-All Technique",
      "category": "Slide",
      "description": "Add bonus before person decides - increases perceived value",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Thats-Not-All_Technique.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Burger (1986)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-ba98-77ab-9513-ff2344da8bc7",
      "legacyId": 149,
      "slug": "typography-hierarchy",
      "name": "Typography Hierarchy",
      "category": "Slide",
      "description": "Using font size, weight, and style to create reading order",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Typography_Hierarchy.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Typography fundamentals",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-d985-74f0-8e2e-816d2117fed7",
      "legacyId": 217,
      "slug": "undo-redo",
      "name": "Undo/Redo",
      "category": "Slide",
      "description": "Allowing reversal of actions reduces fear of experimentation",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/UndoRedo.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Usability principles",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-bc0f-71af-8d32-3c1a2da38c40",
      "legacyId": 152,
      "slug": "unexpected-pattern",
      "name": "Unexpected Pattern",
      "category": "Slide",
      "description": "Breaking a pattern to create surprise and attention",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Unexpected_Pattern.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Chip & Dan Heath, Made to Stick (2007)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-dc2f-75e3-bba3-756be2068761",
      "legacyId": 223,
      "slug": "universal-design",
      "name": "Universal Design",
      "category": "Slide",
      "description": "Design usable by all people without adaptation",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Universal_Design.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Ron Mace; Architecture/Design",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-c264-7357-a791-89fa5f02a400",
      "legacyId": 166,
      "slug": "visual-anchors",
      "name": "Visual Anchors",
      "category": "Slide",
      "description": "Design elements that guide users' eyes through the content intentionally",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Visual_Anchors.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b2ca-706b-937f-e52441086fd7",
      "legacyId": 132,
      "slug": "visual-hierarchy",
      "name": "Visual Hierarchy",
      "category": "Slide",
      "description": "Order of perception through Size > Color > Position > Weight > Space",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Visual_Hierarchy.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Robin Williams, The Non-Designer's Design Book (1994)",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-ba36-706d-8bd6-07233d25160a",
      "legacyId": 148,
      "slug": "visual-weight",
      "name": "Visual Weight",
      "category": "Slide",
      "description": "Elements' perceived heaviness based on size/color/complexity",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Visual_Weight.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Design fundamentals",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-beab-73d8-9f62-30d0332e926e",
      "legacyId": 158,
      "slug": "von-restorff-effect",
      "name": "Von Restorff Effect",
      "category": "Slide",
      "description": "Items that stand out are noticed and remembered - make key points visually distinct",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Von_Restorff_Effect.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Hedwig von Restorff (1933); Growth.Design Psychology",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-cf72-75bd-b89a-48bc52f65964",
      "legacyId": 195,
      "slug": "weber-fechner-law",
      "name": "Weber-Fechner Law",
      "category": "Slide",
      "description": "Perceived change is proportional to initial stimulus - bigger changes needed to notice in larger contexts",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Weber-Fechner_Law.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Psychophysics research",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b6e3-72de-bd7e-8cc963390837",
      "legacyId": 141,
      "slug": "white-space-negative-space",
      "name": "White Space (Negative Space)",
      "category": "Slide",
      "description": "Using empty space to reduce cognitive load and create focus",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/White_Space_Negative_Space.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Design fundamentals; Garr Reynolds, Presentation Zen",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    },
    {
      "kind": "frameworks",
      "canonId": "019dd956-b91c-717a-bffa-88f350701d72",
      "legacyId": 146,
      "slug": "z-pattern",
      "name": "Z-Pattern",
      "category": "Slide",
      "description": "Designing for diagonal reading pattern on sparse layouts",
      "structure": null,
      "bestFor": null,
      "imagePath": "/playbook/tools/Z-Pattern.png",
      "layer": "slide",
      "agent": null,
      "agents": [],
      "whenToUse": null,
      "whyItWorks": null,
      "parentSlug": null,
      "parentName": null,
      "cardinality": null,
      "narrativePurpose": null,
      "signalComponentKinds": [],
      "signalKeywords": [],
      "antipattern": null,
      "originAttribution": "Eye-tracking research",
      "familyLabel": null,
      "isAbstract": false,
      "status": "active",
      "version": 1,
      "bodyDocId": null,
      "bodyDocSlug": null,
      "bodyDocTitle": null,
      "enrichment": {
        "score": 25,
        "presentFields": [
          "description"
        ],
        "missingFields": [
          "structure",
          "best_for",
          "body_doc_id"
        ],
        "schemaGapFields": [
          "when_to_use",
          "why_it_works",
          "signals",
          "antipattern"
        ],
        "requiredFields": [
          "description",
          "structure",
          "best_for",
          "body_doc_id"
        ]
      },
      "sequence": [],
      "arcUsages": [],
      "stats": {
        "matches": 0,
        "docs": 0,
        "slideRanges": 0,
        "avgConfidence": null,
        "avgPages": null,
        "arcCount": 0,
        "requiredBeats": 0
      },
      "examples": []
    }
  ]
}