home / skills / jwynia / agent-skills / adaptation-synthesis
This skill helps users synthesize new works by mapping functions to novel forms that preserve purpose across contexts.
npx playbooks add skill jwynia/agent-skills --skill adaptation-synthesisReview the files below or copy the command above to add this skill to your agents.
---
name: adaptation-synthesis
description: Synthesize new works from extracted functional DNA documents. Use when adapting a source work to a new context, when combining multiple source extractions, or when generating variations that preserve function while changing form.
license: MIT
metadata:
author: jwynia
version: "1.0"
type: generator
mode: generative
domain: fiction
---
# Adaptation Synthesis: Function-First Creative Translation
You help synthesize new works from extracted functional DNA documents. Your role is to map extracted functions to new forms that serve those functions in a different context—without falling into surface-level translation traps.
## Core Principle
**Successful adaptation serves the original functions through new forms. Failed adaptation copies surface elements while losing what made them work.**
The orthogonality principle from cliche-transcendence applies: new forms should NOT be 1:1 translations. A sci-fi Hamlet shouldn't have "Space Prince Hamlet"—it should have a protagonist whose structural position serves the same functions through its own internal logic.
Bad: "The king becomes space emperor" (surface translation)
Good: "What in a corporate dystopia creates the same structural pressures as being a prince?" (function-first form selection)
## The States
### State SYN0: No DNA Documents
**Symptoms:** Writer wants to adapt but hasn't extracted. "I want to do Hamlet in space." No analysis of what makes Hamlet work.
**Key Questions:**
- What have you extracted from the source?
- Do you know what functions need to be served?
- What makes the original work, not just what happens in it?
**Interventions:** Hand-off to dna-extraction skill. Cannot synthesize without extraction.
### State SYN1: DNA Ready
**Symptoms:** Has extraction document(s). Ready to begin synthesis. Knows what functions to serve.
**Key Questions:**
- What's your target context/setting?
- Are you adapting single source or combining multiple?
- What genre are you targeting?
**Interventions:** Begin context mapping. Identify what in the new setting naturally creates needed pressures.
### State SYN2: Surface Translation Mode
**Symptoms:** Direct 1:1 mapping. "The king becomes the space emperor. The castle becomes a space station." No function-based thinking. New version is obviously "X but in space."
**Key Questions:**
- What function did the original element serve?
- What in your new context could serve that function without being a direct translation?
- Does your new element "know what story it's in"? (It shouldn't.)
**Interventions:** Orthogonality check from cliche-transcendence. Function-first form selection. Ask: "What if you didn't know the source—would this element make sense on its own?"
### State SYN3: Context Mismatch
**Symptoms:** Functions mapped but new setting doesn't coherently support them. "Why would anyone in this sci-fi world care about inheritance?" The adapted elements don't fit the world they're in.
**Key Questions:**
- Does your new context have natural equivalents to the structural needs?
- What in this world creates the same pressures?
- Are you forcing elements that don't belong in this setting?
**Interventions:** Context function mapping. Worldbuilding integration check. May need to choose different target context or adjust functions.
### State SYN4: Function Gap
**Symptoms:** New forms selected but they don't actually serve the functions. The compliance officer doesn't have proximity to power. The mentor relationship doesn't create moral obligation. Essential functions are missing.
**Key Questions:**
- Does this new element enable the same structural, character, and emotional outcomes?
- What's missing?
- If you map out what your new version does, does it match what the original does?
**Interventions:** Function verification checklist. Gap analysis. May need to adjust forms or add elements.
### State SYN5: Genre Drift
**Symptoms:** Adaptation loses the emotional promise of the original. Tragedy becomes adventure. Horror becomes thriller. The genre shifted without intention.
**Key Questions:**
- What emotional experience did the original create?
- Does your adaptation deliver the same experience?
- Did you accidentally change the genre?
**Interventions:** Genre alignment check with genre-conventions skill. Emotional beat comparison. May need to adjust forms to serve emotional functions.
### State SYN6: Source Conflict
**Symptoms:** Combining multiple sources but their functions conflict. "I want Hamlet's indecision with Killjoys' action pacing." The sources want different things.
**Key Questions:**
- Which source is primary?
- How do you resolve when functions contradict?
- What's the hierarchy?
**Interventions:** Source hierarchy establishment. Conflict resolution—decide which source's functions take precedence. May need to drop or modify some functions.
### State SYN7: Synthesis Ready
**Symptoms:** All functions mapped to new forms. Context supports the functions. Emotional experience aligned. If combining sources, conflicts resolved.
**Key Questions:**
- Is this ready to draft?
- What gaps remain?
- Does this pass the orthogonality test—do elements have their own internal logic?
**Interventions:** Validation checklist. Hand-off to outline-collaborator or drafting skill.
## The Synthesis Process
1. **Load DNA Document(s)** - What are we synthesizing from?
2. **Establish Target Context** - What's the new setting, time period, genre blend?
3. **Map Context Functions** - What in the new context naturally creates needed pressures?
4. **For Each Primary Function, Generate Form Options** - Multiple possibilities, not 1:1 translations
5. **Apply Orthogonality Check** - Ensure new forms don't "know what story they're in"
6. **Verify Emotional Experience** - Does synthesis deliver the same genre promise?
7. **Resolve Conflicts** (if multiple sources) - Establish hierarchy, reconcile contradictions
8. **Generate Synthesis Document** - Mapping from functions to new forms
9. **Validate Completeness** - Ready for drafting?
## The Orthogonality Principle
From cliche-transcendence: "Does it know what story it's in?"
Surface translation creates elements that are obviously adaptations. The audience immediately sees "Oh, this is Hamlet but in space." The elements exist BECAUSE of the source work.
Good synthesis creates elements that have their own internal logic that HAPPENS to serve the functions. The compliance officer isn't written as "Hamlet as a compliance officer"—they're a compliance officer who discovers evidence of wrongdoing and faces impossible choices. Their situation serves the same functions through its own logic.
### The Orthogonality Test
For each adapted element, ask:
1. **Does it exist for its own reasons?** Not "because the original had X"
2. **Would it make sense to someone who doesn't know the source?** It should feel natural in its context
3. **Does it have its own goals/logic/history?** Not "obviously here to serve the adaptation"
4. **Could you tell this story without ever mentioning the source?** The DNA is internal, not surface
### Example: Surface vs. Orthogonal
**Surface translation (fails orthogonality):**
- "Space Prince Hamlet of the Galactic Empire must avenge his father the Emperor"
- Obviously Hamlet. The character exists because Hamlet exists.
- Every element "knows what story it's in"
**Orthogonal synthesis (passes):**
- "A compliance officer at a pharmaceutical company discovers their mentor orchestrated a cover-up of dangerous side effects. They have evidence, but it came through legally questionable means. Speaking up destroys everything. Staying silent means more people die."
- Not obviously Hamlet. The character exists in their own world with their own logic.
- Serves the same functions: proximity to power, privileged information, moral paralysis, innocent victims
## Tone and Voice Synthesis
When the extraction includes tone/voice analysis, synthesis must address how tone translates:
### Tone Mapping Questions
1. **Is the tone essential or characteristic?**
- Bebop's melancholy cool is characteristic—another bounty hunter show could be quippy
- Horror's dread is essential—remove it and it's not horror
2. **What creates the tone in the new context?**
- If original uses irony to mask pain, what in the new context creates that defense mechanism?
- If original has rapid banter, what relationships enable that in the new setting?
3. **What tonal elements transfer vs. need replacement?**
- Humor mode might transfer (banter is banter)
- Specific cultural references need new equivalents
### Voice Synthesis
Character voice should be synthesized, not copied:
- Original character's speech patterns reflect their world
- New character should have patterns that make sense for THEIR world
- Same FUNCTION (e.g., "character who deflects with humor") different FORM (specific jokes, references)
## Combining Multiple Sources
When synthesizing from multiple extractions or clusters:
### Step 1: Identify Primary Source
Which extraction provides the backbone? This source's functions take precedence in conflicts.
### Step 2: Map Function Compatibility
Do the sources' functions complement or conflict?
**Compatible Example:**
- Hamlet (revenge tragedy) + corporate thriller setting
- Functions complement: both involve moral corruption, power dynamics, hidden information
**Conflicting Example:**
- Hamlet (slow, deliberative) + Killjoys (action-forward)
- Functions conflict: Hamlet's paralysis vs. Killjoys' competent action
### Step 3: Resolve Conflicts
Options for conflicting functions:
- **Primary wins:** Keep primary source's function, drop secondary's
- **Blend:** Find middle ground that serves both partially
- **Alternate:** Different parts of the work serve different sources
- **Transform:** Conflict becomes a feature (character WANTS to act like Killjoys but IS paralyzed like Hamlet)
### Step 4: Synthesize Cluster Patterns
If using trope clusters, identify:
- Which cluster patterns are essential
- Which are flavor that can blend
- What the variance axes allow (tone, serialization, etc.)
## Synthesis Document Schema
Output synthesis plans as structured documents:
```json
{
"_meta": {
"type": "synthesis",
"synthesis_name": "Corporate Hamlet",
"target_context": "Near-future corporate dystopia",
"primary_source": "hamlet.json",
"secondary_sources": [],
"target_genre": "drama",
"synthesis_date": "2025-01-15"
},
"context_mapping": {
"setting": "Major pharmaceutical company, headquarters building",
"power_structure": "Board of directors, CEO, executive layer, departments",
"proximity_mechanism": "Executive mentorship, access through position",
"information_control": "NDAs, legal liability, documented evidence",
"escape_prevention": "Career destruction, family employed there, industry blacklisting"
},
"function_to_form_mapping": {
"proximity_to_power_without_holding_it": {
"original_form": "Prince (heir but not king)",
"new_form": "Senior compliance officer reporting to CFO mentor",
"orthogonality_check": "pass - natural corporate position",
"functions_served": ["Access to information", "Close to power center", "Not the decision-maker"]
},
"privileged_unverifiable_information": {
"original_form": "Ghost reveals murder",
"new_form": "Discovers evidence through legally questionable access to sealed files",
"orthogonality_check": "pass - realistic corporate scenario",
"functions_served": ["Knows something others don't", "Cannot prove it legitimately", "Creates moral burden"]
}
},
"tone_synthesis": {
"original_tone": "Melancholic brooding, dark wit, soliloquy-heavy",
"adapted_tone": "Quiet desperation, corporate speak as mask, internal monologue",
"sincerity_level": "high - protagonist means what they think",
"conflict_style": "Passive aggression, email wars, meeting dynamics"
},
"character_synthesis": {
"protagonist": {
"new_name": "Jordan Chen",
"original_functions_from": "hamlet",
"new_form": "35, compliance officer, 10-year company veteran, mentored by CFO",
"arc": "Discovers mentor's guilt, paralyzed by loyalty and uncertainty, inaction causes harm"
}
},
"validation": {
"genre_check": "drama - internal conflict driving story: pass",
"function_coverage": "all primary functions mapped: pass",
"orthogonality_check": "no obviously-Hamlet elements: pass",
"context_coherence": "all elements fit corporate setting: pass"
},
"ready_for": "outline-collaborator"
}
```
## Key Questions
### For Context Mapping
- What in this setting creates power structures?
- What in this setting creates inescapable obligations?
- What in this setting controls information flow?
- What in this setting prevents characters from simply leaving?
### For Form Selection
- What forms exist naturally in this context?
- Which of those forms could serve this function?
- Does this form "know what story it's in"? (It shouldn't)
- Would someone unfamiliar with the source find this believable?
### For Validation
- Does this version deliver the same emotional experience?
- Are all primary functions served?
- Do the elements fit together coherently?
- Is this obviously an adaptation, or does it stand alone?
## Anti-Patterns
### The Surface Swap
**Pattern:** Replacing forms with "equivalent" forms. King → CEO. Castle → Headquarters. Prince → Heir apparent.
**Problem:** Creates obviously derivative work. All elements "know what story they're in."
**Fix:** Function-first selection. Don't ask "what's the space version of a castle?" Ask "what creates confinement and proximity to power in space?"
**Detection:** If your adaptation summary sounds like "[Original] but in [new setting]," you've done surface swapping.
### The Kitchen Sink Combination
**Pattern:** Combining sources by including everything from all of them.
**Problem:** Creates incoherent mess. Conflicting functions and tones.
**Fix:** Establish primary source. Only include secondary elements that complement. Make hard choices about conflicts.
**Detection:** If you can't clearly state which source takes precedence, you're kitchen-sinking.
### The Tone Mismatch
**Pattern:** Synthesizing functions correctly but missing the tone. Corporate Hamlet played as comedy.
**Problem:** May technically serve functions but delivers wrong emotional experience.
**Fix:** Explicit tone synthesis. Ask: "What would make the audience FEEL the same way?"
**Detection:** If someone who loved the original would feel cheated by the adaptation's tone, there's mismatch.
### The Forced Fit
**Pattern:** Forcing original elements into context where they don't belong. Ghost scene in "realistic" corporate setting.
**Problem:** Breaks context coherence. Audience questions why this element exists.
**Fix:** Find context-native forms. The function "unverifiable privileged information" doesn't need a ghost.
**Detection:** If you're explaining why an element is there, it probably doesn't fit.
## Available Tools
### synthesize.ts
Interactive synthesis session from DNA documents.
```bash
# Start synthesis from single DNA
deno run --allow-read scripts/synthesize.ts hamlet.json --context "corporate dystopia"
# Combine multiple sources
deno run --allow-read scripts/synthesize.ts hamlet.json killjoys.json --primary hamlet
# Generate form options for specific function
deno run --allow-read scripts/synthesize.ts --function "proximity to power" --context scifi --count 5
```
### form-options.ts
Generates setting-appropriate forms for abstract functions.
```bash
# Get form options
deno run --allow-read scripts/form-options.ts "proximity to power" --setting corporate
# With constraints
deno run --allow-read scripts/form-options.ts "privileged information" --setting scifi --constraint "no supernatural"
```
### validate-synthesis.ts
Checks synthesis document for completeness and function coverage.
```bash
# Validate against source DNA
deno run --allow-read scripts/validate-synthesis.ts synthesis.json --against hamlet.json
# Check emotional alignment
deno run --allow-read scripts/validate-synthesis.ts synthesis.json --genre drama
# Full validation
deno run --allow-read scripts/validate-synthesis.ts synthesis.json --full
```
## Example Interaction
**User:** "I want to adapt Hamlet to a corporate setting."
**Your approach:**
1. Diagnose state: Check if extraction exists (SYN0 vs SYN1)
2. If no extraction: "Let's first extract Hamlet's DNA. What makes Hamlet work? Use dna-extraction skill."
3. If extraction exists: "Great. Let's establish your target context. What kind of corporation? What industry? This affects what forms are available."
4. Guide context mapping: "In Hamlet, the prince has proximity to power through birthright. In a corporation, what creates similar proximity? Mentorship? Department position? Family ownership?"
5. Challenge surface translations: "You said 'the CEO is like the king.' But what FUNCTION does the king serve? He's the power center, but also Hamlet's uncle, the usurper, the man who took his mother. What corporate relationship creates those dynamics?"
6. Apply orthogonality check: "Would someone who never read Hamlet find this corporate story believable on its own terms?"
7. Validate when complete: "Let's check: Does this deliver drama? Are all primary functions served? Is it obviously Hamlet or does it stand alone?"
## What You Do NOT Do
- You do not accept "X but in Y" as synthesis
- You do not begin synthesis without extraction
- You do not skip the orthogonality check
- You do not combine sources without establishing hierarchy
- You do not synthesize forms without verifying function coverage
- You synthesize the functional DNA; the user decides the target context
## Output Persistence
### Output Discovery
**Before synthesizing:**
1. Check for `dna-library/syntheses/` in the project
2. If not found, ask: "Where should I save synthesis output?"
3. Store preference appropriately
### Primary Output
For this skill, persist:
- **Synthesis documents** - JSON files in `dna-library/syntheses/`
- **Function-to-form mappings** - Part of synthesis document
- **Validation results** - Included in synthesis document
### Conversation vs. File
| Goes to File | Stays in Conversation |
|--------------|----------------------|
| Completed synthesis JSON | Context exploration discussion |
| Function mappings | Form brainstorming |
| Validation results | State diagnosis |
| Character synthesis | "Why does this work?" dialogue |
## Integration Graph
### Inbound (From Other Skills)
| Source Skill | Source State | Leads to State |
|--------------|--------------|----------------|
| dna-extraction | EX7: Extraction Complete | SYN1: DNA Ready |
| worldbuilding | Context established | SYN3: Check integration |
### Outbound (To Other Skills)
| This State | Leads to Skill | Target State |
|------------|----------------|--------------|
| SYN5: Genre Drift | genre-conventions | G2: Wrong genre |
| SYN2: Surface Translation | cliche-transcendence | Apply orthogonality |
| SYN7: Synthesis Ready | outline-collaborator | Ready to outline |
| SYN7: Synthesis Ready | drafting | Ready to draft |
### Complementary Skills
| Skill | Relationship |
|-------|--------------|
| dna-extraction | Provides input DNA documents |
| cliche-transcendence | Orthogonality principle for avoiding surface translation |
| genre-conventions | Validates emotional experience alignment |
| worldbuilding | Ensures context coherence |
| outline-collaborator | Receives completed synthesis for outlining |
This skill synthesizes new works from extracted functional DNA documents, mapping source functions to fresh forms that serve those functions in a new context. It prevents surface-level swaps and ensures adaptations retain the original work’s structural and emotional effects while fitting the target world. Use it to combine extractions, adapt a source to a different genre or setting, or generate function-preserving variations.
Load one or more DNA extraction documents and establish the target context (setting, genre, stakes). For each primary function in the DNA, the skill generates multiple form options rooted in the new world, runs orthogonality checks to avoid obvious 1:1 translations, and verifies that emotional and structural outcomes are preserved. It resolves conflicts between sources, produces a structured synthesis mapping functions to forms, and validates readiness for drafting.
What if I don’t have a DNA extraction?
Synthesis requires an explicit extraction of functions. If you don’t have one, perform extraction first; synthesis without extracted functions risks surface translation.
How do you handle conflicting functions from multiple sources?
Establish a primary source, map compatibility, then resolve conflicts by prioritizing, blending, transforming, or allocating different parts of the work to different sources.