From cogni-narrative
Transform structured content into compelling executive narratives using story arc frameworks. Use this skill whenever the user asks to create a narrative, write a narrative, transform content into a story arc, apply a specific arc framework (corporate visions, technology futures, competitive intelligence, strategic foresight, industry transformation, trend panorama), generate an insight summary, or summarize research findings as a narrative. Also trigger when other plugins need arc-driven narrative generation, when the user mentions TIPS trend narratives, or when they have research output they want turned into an executive-readable story. Even if the user just says 'make this readable for executives' or 'turn these findings into something presentable,' this skill is the right choice.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cogni-narrative:narrativeThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Transform input markdown files into a structured executive narrative using one of 7 story arc frameworks. The narrative length is controlled by `--target-length` (default ~1,675 words), with section lengths expressed as proportions of the total to preserve the arc's rhetorical balance at any scale. Each arc provides a distinct rhetorical progression -- mapping source evidence to arc elements, a...
references/language-templates.mdreferences/narrative-techniques/techniques-overview.mdreferences/phase-workflows/phase-4b-synthesis-competitive-intelligence.mdreferences/phase-workflows/phase-4b-synthesis-corporate-visions.mdreferences/phase-workflows/phase-4b-synthesis-industry-transformation.mdreferences/phase-workflows/phase-4b-synthesis-jtbd-portfolio.mdreferences/phase-workflows/phase-4b-synthesis-strategic-foresight.mdreferences/phase-workflows/phase-4b-synthesis-technology-futures.mdreferences/phase-workflows/phase-4b-synthesis-theme-thesis.mdreferences/phase-workflows/phase-4b-synthesis-trend-panorama.mdreferences/phase-workflows/shared-steps.mdreferences/story-arc/arc-registry.mdreferences/story-arc/competitive-intelligence/arc-definition.mdreferences/story-arc/competitive-intelligence/implications-patterns.mdreferences/story-arc/competitive-intelligence/landscape-patterns.mdreferences/story-arc/competitive-intelligence/positioning-patterns.mdreferences/story-arc/competitive-intelligence/shifts-patterns.mdreferences/story-arc/corporate-visions/arc-definition.mdreferences/story-arc/corporate-visions/why-change-patterns.mdreferences/story-arc/corporate-visions/why-now-patterns.mdTransform input markdown files into a structured executive narrative using one of 7 story arc frameworks. The narrative length is controlled by --target-length (default ~1,675 words), with section lengths expressed as proportions of the total to preserve the arc's rhetorical balance at any scale. Each arc provides a distinct rhetorical progression -- mapping source evidence to arc elements, applying narrative techniques, and producing a citation-grounded insight summary.
Use this for:
Not for:
| Parameter | Required | Description |
|---|---|---|
--source-path | Yes | Directory containing input .md files, or path to a single .md file |
--arc-id | No | Explicit arc selection; overrides auto-detection |
--language | No | Output language: en (default) or de. Fallback chain: explicit parameter > project metadata > workspace preference (.workspace-config.json) > content detection > en |
--output-path | No | Output file path; defaults to insight-summary.md in source directory |
--project-path | No | Research project directory; enables loading entity data beyond source path |
--research-question | No | Original research question for narrative hook framing |
--target-length | No | Target total word count as a single number (e.g., 2500). System applies +/-15% band to derive the acceptable range. Default: 1675 (yields ~1,424-1,926 words). Recommended: 800-4,000 — outside this range, arc rhetorical structure may not scale well |
--content-map | No | YAML map of content category keys to file/directory paths for additional context |
Content map keys: executive_summary, dimension_syntheses, trends_summary, trend_entities, megatrends_summary, megatrend_entities, domain_concepts, research_hub, initial_question
A single markdown file (insight-summary.md by default):
---
title: "{Arc-Specific Compelling Title}"
subtitle: "{Research Question or Topic}"
arc_id: "{selected-arc}"
arc_display_name: "{Arc Display Name}"
target_length: {target-length or 1675}
word_count: {actual word count}
language: "{en|de}"
date_created: "{ISO 8601}"
source_file_count: {N}
---
# {Title}
*{Subtitle}*
{Opening paragraph with narrative hook -- proportion of target}
---
## {Element 1 Header}
{proportion of target words with evidence grounding}
## {Element 2 Header}
{proportion of target words with evidence grounding}
## {Element 3 Header}
{proportion of target words with evidence grounding}
## {Element 4 Header}
{proportion of target words with evidence grounding}
Word count target: determined by --target-length (default 1,675). Each section's word range = its arc proportion x the target's +/-15% band. See the arc definition loaded in Phase 3 for per-element proportions.
JSON summary returned on completion:
{
"success": true,
"output_path": "insight-summary.md",
"arc_id": "corporate-visions",
"arc_display_name": "Corporate Visions",
"target_length": 1675,
"word_count": 1650,
"citation_count": 22,
"elements": 4,
"language": "en"
}
Phase 0.5 Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 Phase 6
Citation ---> Setup ---> Arc ---> Pattern ---> Transformation --> Validation -> Write
Bridge & Load Selection Loading (arc-specific)
(conditional)
The quality of each phase depends on the previous one. In particular, Phases 3 and 4 require reading reference files before doing anything -- the arc patterns and narrative techniques are what differentiate a good narrative from a generic summary. Skipping those reads is the single biggest cause of poor output.
Source content from upstream research tools (e.g., cogni-research) may use [Source: Publisher](URL) inline citations. These need to be converted into per-source markdown files before Phase 1 can load them as citable references.
Detection: Scan the first 500 lines of the source content for the pattern [Source: ...](...). If present, run the bridge. If not, skip to Phase 1.
When source contains [Source:] citations:
python3 "${CLAUDE_PLUGIN_ROOT}/skills/narrative/scripts/bridge-citations.py" \
--source-path "${SOURCE_PATH}" --output-dir "${SOURCE_PATH}/narrative-input" --json
This creates:
narrative-input/report-for-narrative.md — content with [source-NN-slug.md] markersnarrative-input/sources/source-NN-*.md — per-source reference files with YAML frontmatter (source_index, publisher, url)After running the bridge, redirect --source-path to the narrative-input/ directory for Phase 1 loading.
Skip this phase when source files are already individual .md files without inline [Source:] citations (e.g., trend-scout output, manually curated content, TIPS entities).
--source-path exists. If not found, halt with error JSON..md files from source directory using Read tool.narrative-config.json from source directory if present.--content-map provided, load additional files from each path:
.md files--research-question provided, store it for hook construction.--target-length if provided (single integer). Compute the acceptable range: total_lower = target * 0.85, total_upper = target * 1.15. If omitted, default to target = 1675 (range 1424-1926). Store target_length, total_lower, total_upper.Before moving on, make sure you can answer: How many files loaded? What are the 2-3 dominant themes? What is the approximate total word count? If you can't answer these, you haven't internalized the source material yet.
Read first: references/story-arc/arc-registry.md
The arc registry contains the detection algorithm, keyword sets, and content-type mappings. Read it before selecting an arc -- the detection logic lives there, not here.
Selection priority:
--arc-id provided, use it directlynarrative-config.json contains content_type, apply detection algorithm from arc-registrycorporate-visionsPresent selected arc to user for confirmation using AskUserQuestion. Show the detected arc with detection reason and offer alternatives. Accept user confirmation or override.
Store: arc_id, arc_display_name, detection_reason
This phase is about loading the rhetorical framework into context. The narrative techniques and arc-specific patterns are what make the difference between "information organized under headings" and "a persuasive executive narrative." Read both files before writing anything.
Read these two files:
references/story-arc/{arc_id}/arc-definition.md -- element definitions, word targets, quality gates, transition patternsreferences/narrative-techniques/techniques-overview.md -- 8 narrative techniques with arc application matrixThe 4 individual element pattern files ({element}-patterns.md) are NOT loaded here. Their guidance is already embedded in the arc-specific Phase 4b workflow file. Loading both would create ~1,500 lines of overlapping material that dilutes rather than reinforces.
After reading, you should be able to name all 4 arc elements in order with their word targets, and know which narrative techniques apply to which elements from the technique-arc matrix. If you can't, re-read.
Read first: references/phase-workflows/phase-4b-synthesis-{arc_id}.md (if it exists)
This file contains detailed sub-steps, extended thinking prompts, and quality gates specific to the selected arc. If it exists, follow its workflow -- it's more detailed and arc-aware than the summary below.
The output uses exactly 4 ## section headers matching the selected arc's element names. This isn't arbitrary -- downstream visualization tools (story-to-slides, story-to-big-picture, story-to-storyboard, story-to-web) parse these 4 elements to create matching visual segments. Creative renaming or adding extra sections breaks this pipeline. See references/language-templates.md section "Insight Summary (Arc Element Headers)" for the exact header text per arc and language.
For each of the 4 arc elements:
de)<sup>[N](source-file.md)</sup> formatAssemble the full narrative:
Check these gates in priority order. If the structural gate fails, fix it before checking anything else -- the other gates are meaningless if the structure is wrong.
Structural gate (check first):
## headers in narrative body (below frontmatter)## headersIf this fails, rewrite using the template rather than renaming sections. Content generated for the wrong structure reads wrong even with correct headers.
Content gates:
total_lower to total_upper, computed from --target-length)[proportion * total_lower, proportion * total_upper] using proportions from the arc definition loaded in Phase 3target_length)Evidence gates:
<sup>[N](file.md)</sup>Language gates (if de):
If any gate fails, fix the specific issue and re-validate all gates (fixes can break other things).
insight-summary.md in source directory)| Arc ID | Elements | Best For |
|---|---|---|
corporate-visions | Why Change -> Why Now -> Why You -> Why Pay | Market research, B2B, sales enablement |
technology-futures | Emerging -> Converging -> Possible -> Required | Innovation, R&D, technology trends |
competitive-intelligence | Landscape -> Shifts -> Positioning -> Implications | Competitive analysis, threat assessment |
strategic-foresight | Signals -> Scenarios -> Strategies -> Decisions | Long-range planning, scenario analysis |
industry-transformation | Forces -> Friction -> Evolution -> Leadership | Industry analysis, regulatory impact |
trend-panorama | Forces -> Impact -> Horizons -> Foundations (TIPS) | Trend-scout output, TIPS trend reports |
jtbd-portfolio | Jobs -> Friction -> Portfolio -> Invitation | Portfolio introductions, capability overviews, pre-sales |
See references/story-arc/arc-registry.md for detection signals, word targets, and extension guidelines.
When language: de, all generated text uses proper Unicode umlauts. ASCII transliterations in body text (fuer, ueber, Aenderung) are wrong because they look unprofessional and break German grammar conventions.
| Context | Use | Example |
|---|---|---|
| Body text, headings, titles | Proper umlauts (ä, ö, ü, ß) | "für", "Änderung", "größte" |
| File names and slugs | ASCII transliterations | "ue", "ae", "oe", "ss" |
| YAML keys | ASCII only | arc_id, entity_type |
Common failures to scan for after generation: "fuer" (should be "für"), "ueber" ("über"), "Aenderung" ("Änderung"), "groesste" ("größte"), "Fuehrung" ("Führung").
See references/language-templates.md for localized headers per arc.
Claim text<sup>[N](source-file.md)</sup>See references/narrative-techniques/techniques-overview.md for the full library:
| Technique | Purpose |
|---|---|
| Pyramid Principle | Answer First architecture |
| PSB | Problem-Solution-Benefit for unconsidered needs |
| IS-DOES-MEANS | Power Position structure |
| Number Plays | 6 quantification techniques |
| Forcing Functions | Urgency through external pressures |
| Contrast Structure | Cognitive dissonance patterns |
| You-Phrasing | Direct address to reader |
| Compound Impact | Cost of inaction stacking |
On any unrecoverable failure, return error JSON:
{
"success": false,
"error": "Description of what went wrong",
"phase": "Phase where failure occurred"
}
| Phase | Failure | Action |
|---|---|---|
| 1 | Source path not found | Halt with error |
| 1 | No .md files in source | Halt with error |
| 2 | Unknown arc_id | Halt with available arcs list |
| 3 | Arc pattern files missing | Halt with missing file list |
| 4 | Transformation fails | Halt with error JSON |
| 5 | Validation fails | Report failures, fix, re-validate |
| File | Purpose | Load When |
|---|---|---|
references/story-arc/arc-registry.md | Arc index, detection algorithm, extension guide | Phase 2 |
references/story-arc/{arc_id}/arc-definition.md | Element definitions, word targets, quality gates | Phase 3 |
references/narrative-techniques/techniques-overview.md | 8 narrative techniques with arc application matrix | Phase 3 |
references/phase-workflows/phase-4b-synthesis-{arc_id}.md | Arc-specific transformation workflow | Phase 4 |
references/phase-workflows/shared-steps.md | Entity counting, output template, validation, write steps | Phase 4 (via phase-4b) |
references/language-templates.md | Localized headers for en/de | Phase 4 (if de) |
npx claudepluginhub cogni-work/insight-wave --plugin cogni-narrativeTransforms analysis and data into clear, persuasive narratives for executives, customers, or non-technical stakeholders using story structures like Hero's Journey and Problem-Solution-Benefit.
Routes to the right narrative skill for storytelling, framing, audience modeling, or structure mapping. Entry point for the narrative toolkit.
Transforms ideas, presentations, speeches, sales pitches, or data into persuasive stories using frameworks like StoryBrand, Golden Circle, Hero's Journey, and Challenger Sale.