Narrative structure for complex topics - Situation, Complication, Question, Answer
Add this skill
npx mdskills install applied-artificial-intelligence/scqa-frameworkComprehensive framework teaching with clear examples, variations, and quality checklists
Foundation: McKinsey's SCQA (Situation-Complication-Question-Answer) framework, derived from Barbara Minto's pyramid principle
Core Concept: Build compelling narrative by establishing situation, introducing complication, raising question, then delivering answer.
Why This Works:
Four elements in sequence:
What: The stable, uncontroversial starting point everyone agrees on
Purpose: Establish common ground with reader
Example:
"Software engineers use AI coding assistants to boost productivity."
Characteristics:
What: The problem, change, or challenge that disrupts the situation
Purpose: Create tension and make reader care
Example:
"But generic AI agents produce unreliable code - state corruption, context loss, hallucinations. Teams abandon them after weeks of frustration."
Characteristics:
What: The question reader now wants answered (often implicit)
Purpose: Focus attention on the answer you're about to provide
Example:
"How can we get AI productivity benefits without the reliability chaos?"
Characteristics:
What: Your solution, recommendation, or core message
Purpose: Deliver the answer reader is now primed to receive
Example:
"CAF provides production-grade architecture that prevents AI chaos through stateless, file-based patterns proven over 6 months."
Characteristics:
Topic: Introducing CAF
Situation:
Claude Code has become a popular AI coding assistant, with developers using it daily for everything from bug fixes to feature development.
Complication:
However, Claude Code out-of-box is a generic assistant. It doesn't understand your domain, workflows, or constraints. As projects grow complex, generic responses become frustrating - developers spend more time correcting AI suggestions than coding.
Question (implicit):
How can we customize Claude Code for our specific domain without losing the ease of the IDE-based experience?
Answer:
The Claude Agent Framework (CAF) transforms Claude Code into domain-specific agents through simple markdown-based customization. Define domain commands, specialized agents, and behavioral skills - no programming required.
When to use: Answer is your entire document
Structure:
Example opening:
Situation: AI coding assistants promise productivity gains. Complication: Generic assistants don't understand domain specifics. Question: How do we customize AI for our domain?
[Rest of white paper answers this question]
When to use: Question is obvious from complication
Structure:
Example:
Situation: Developers use AI assistants daily. Complication: But generic AI produces unreliable code - state corruption, context loss. Answer: CAF prevents this through stateless architecture.
[Implied question: "How do we prevent AI reliability issues?"]
When to use: Audience already knows situation
Structure:
Example:
Complication: Generic AI assistants keep producing unreliable code. Answer: Domain-specific customization through CAF solves this.
[Implied situation: "We're using AI assistants"]
Use SCQA for article/document opening:
# [Title]
[Situation - 1 paragraph]
Establish the current state that readers recognize.
[Complication - 1-2 paragraphs]
Introduce the problem or challenge that disrupts equilibrium.
Make readers feel the pain.
[Question - optional, can be implicit]
What readers are now asking.
[Answer - 1 paragraph]
Your core message / solution / recommendation.
This is what the rest of the document will elaborate on.
---
[Rest of document provides evidence and detail for the answer]
Structure for convincing readers:
Situation: "Here's how things are..." Complication: "But this problem exists..." Question: "So what should we do?" Answer: "We recommend [solution]"
Body: Provide evidence for answer Closing: Reinforce answer + call to action
SCQA maps to problem-solution:
SCQA for competitive positioning:
Situation: "Current alternatives exist (Alt A, Alt B)" Complication: "But they have these limitations..." Question: "What's needed?" Answer: "We provide [unique value] that alternatives don't"
SCQA + Pyramid work together:
SCQA: How to structure the opening/hook (narrative flow) Pyramid: How to structure the answer and supporting arguments (hierarchical)
Combined structure:
Opening (SCQA):
├─ Situation
├─ Complication
├─ Question
└─ Answer [This is Level 1 of pyramid]
Body (Pyramid):
├─ Argument 1 supporting Answer [Level 2]
│ └─ Evidence [Level 3]
├─ Argument 2 supporting Answer [Level 2]
│ └─ Evidence [Level 3]
└─ Argument 3 supporting Answer [Level 2]
└─ Evidence [Level 3]
Closing:
└─ Reinforce Answer + CTA
SCQA gets reader to care about your answer. Pyramid organizes proof of answer.
Good situation:
Bad situation:
Good complication:
Bad complication:
Good question:
Bad question:
Good answer:
Bad answer:
❌ Don't jump to problem without context:
AI coding assistants produce unreliable code...
Why: Reader doesn't have context. What AI assistants? Who's using them?
✅ Establish situation first:
Software engineers use AI coding assistants daily. But these assistants produce unreliable code...
❌ Complication doesn't create urgency:
Situation: Developers use AI assistants.
Complication: Sometimes the suggestions could be better.
Why: "Could be better" doesn't create enough tension.
✅ Strong complication with real pain:
Situation: Developers use AI assistants.
Complication: But 40% abandon them within weeks due to state corruption and unreliable output - wasted time, broken code, lost trust.
❌ Mismatched Q&A:
Question: How do we make AI assistants more reliable?
Answer: CAF provides markdown-based customization.
Why: Answer talks about customization, not reliability.
✅ Matched Q&A:
Question: How do we make AI assistants more reliable?
Answer: CAF prevents failures through stateless architecture and file-based persistence.
❌ Answer tries to explain everything:
Answer: CAF is a meta-framework that provides commands, agents, and skills organized in a plugin architecture with markdown-based configuration that allows...
Why: Too much detail. Save for body.
✅ Concise answer, details later:
Answer: CAF transforms Claude Code into domain-specific agents through markdown-based customization.
[Body provides details about commands, agents, skills]
When applying SCQA, verify:
SCQA + Positioning Manifest:
From positioning manifest:
Example:
{
"core_message": "CAF transforms Claude Code into domain agents",
"audience_context": "Developers frustrated by generic AI assistants"
}
Becomes SCQA:
Foundation: McKinsey's SCQA framework, derived from Barbara Minto's pyramid principle
Key insight: People engage with stories that start where they are (Situation), introduce tension (Complication), raise a question they want answered (Question), then deliver the answer (Answer).
Application: Use SCQA for openings and persuasive narratives. Use Pyramid for organizing supporting evidence.
Skill Version: 1.0 Created: 2025-10-31 Used by: author agent (optional, for narrative structure) Key Innovation: Narrative engagement that primes reader to receive core message
Best experience: Claude Code
/plugin marketplace add applied-artificial-intelligence/scqa-frameworkThen /plugin menu → select skill → restart. Use /skill-name:init for first-time setup.
Other platforms
Install via CLI
npx mdskills install applied-artificial-intelligence/scqa-frameworkScqa Framework is a free, open-source AI agent skill. Narrative structure for complex topics - Situation, Complication, Question, Answer
Install Scqa Framework with a single command:
npx mdskills install applied-artificial-intelligence/scqa-frameworkThis downloads the skill files into your project and your AI agent picks them up automatically.
Scqa Framework works with Claude Code, Claude Desktop, Cursor, Vscode Copilot, Windsurf, Continue Dev, Codex, Gemini Cli, Amp, Roo Code, Goose, Opencode, Trae, Qodo, Command Code. Skills use the open SKILL.md format which is compatible with any AI coding agent that reads markdown instructions.