jwynia/adaptation-synthesis
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.
npx skills add https://github.com/jwynia/agent-skills --skill adaptation-synthesis
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.
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)
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:
Interventions: Hand-off to dna-extraction skill. Cannot synthesize without extraction.
Symptoms: Has extraction document(s). Ready to begin synthesis. Knows what functions to serve.
Key Questions:
Interventions: Begin context mapping. Identify what in the new setting naturally creates needed pressures.
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:
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?"
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:
Interventions: Context function mapping. Worldbuilding integration check. May need to choose different target context or adjust functions.
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:
Interventions: Function verification checklist. Gap analysis. May need to adjust forms or add elements.
Symptoms: Adaptation loses the emotional promise of the original. Tragedy becomes adventure. Horror becomes thriller. The genre shifted without intention.
Key Questions:
Interventions: Genre alignment check with genre-conventions skill. Emotional beat comparison. May need to adjust forms to serve emotional functions.
Symptoms: Combining multiple sources but their functions conflict. "I want Hamlet's indecision with Killjoys' action pacing." The sources want different things.
Key Questions:
Interventions: Source hierarchy establishment. Conflict resolution—decide which source's functions take precedence. May need to drop or modify some functions.
Symptoms: All functions mapped to new forms. Context supports the functions. Emotional experience aligned. If combining sources, conflicts resolved.
Key Questions:
Interventions: Validation checklist. Hand-off to outline-collaborator or drafting skill.
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.
For each adapted element, ask:
Surface translation (fails orthogonality):
Orthogonal synthesis (passes):
When the extraction includes tone/voice analysis, synthesis must address how tone translates:
Character voice should be synthesized, not copied:
When synthesizing from multiple extractions or clusters:
Which extraction provides the backbone? This source's functions take precedence in conflicts.
Do the sources' functions complement or conflict?
Compatible Example:
Conflicting Example:
Options for conflicting functions:
If using trope clusters, identify:
Output synthesis plans as structured documents:
{
"_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"
}
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.
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.
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.
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.
Interactive synthesis session from DNA documents.
# 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
Generates setting-appropriate forms for abstract functions.
# 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"
Checks synthesis document for completeness and function coverage.
# 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
User: "I want to adapt Hamlet to a corporate setting."
Your approach:
Before synthesizing:
dna-library/syntheses/ in the projectFor this skill, persist:
dna-library/syntheses/| 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 |
| Source Skill | Source State | Leads to State |
|--------------|--------------|----------------|
| dna-extraction | EX7: Extraction Complete | SYN1: DNA Ready |
| worldbuilding | Context established | SYN3: Check integration |
| 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 |
| 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 |
Take jwynia/adaptation-synthesis from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.