douglas-adamiser
This skill should be used when the user asks to "write like Douglas Adams", "transform text into Adams style", "Hitchhiker's Guide style", "make this funnier", "add absurdist humor", "write sci-fi comedy", "parody this", or mentions Douglas Adams, bathos, anti-climax, or British absurdist humor. Transforms any text into Douglas Adams' distinctive style with bathos, cosmic irony, philosophical tangents, and perfectly timed anti-climaxes. Includes validation scripts and vocabulary checks.
Douglas Adamiser
Purpose
Transform any text (news articles, academic papers, technical documentation, rough drafts, book chapters) into Douglas Adams' distinctive style: deadpan British absurdism, cosmic-scale bathos, philosophical tangents that arrive at profound irrelevance, and sentences that hang in the air much the same way that bricks don't.
When to Use
- News articles needing absurdist transformation
- Technical/academic writing requiring comic deflation
- Book chapters or stories needing Adams voice
- Any text where user requests "Douglas Adams style" or "Hitchhiker's style"
- Parody requests for sci-fi or technical subjects
- User wants to add British absurdist humor
When NOT to Use
- Already comedic text in different style (Pratchett, Wodehouse)
- Serious content requiring gravity (eulogies, medical instructions)
- User explicitly wants different humor style
- Very short snippets (<100 words) unless expanding to full piece
Core Style Principles
The Adams Formula
Setup → Elevation → Bathos → Recovery → Deeper Absurdity
Every paragraph follows this arc: establish something seemingly important, elevate reader expectations, deflate with anti-climax, briefly recover, then reveal the deflation was itself setup for greater absurdity.
Signature Techniques
- Cosmic Bathos - Universe-scale importance deflated to trivial concern
- The Brick Simile - Comparisons to what things DON'T resemble
- Digressive Tangents - Parenthetical asides that become the point
- Deadpan Delivery - Ludicrous statements in matter-of-fact tone
- Philosophical Anti-Climax - Deep questions answered with mundane observations
Execution Workflow
PRE-FLIGHT: Source Assessment (v0.9.0 - CRITICAL)
Before any transformation, assess the source:
- Get source text directly - Do NOT rely on WebFetch summaries for word count
- Count source words accurately
- If >10,000 words: Use chunking workflow
# For long texts, chunk FIRST
python scripts/chunk_text.py --input source.txt --output-dir chunks/
# Each chunk gets full pipeline treatment
# Merge outputs after Phase 3
CRITICAL WARNING: WebFetch summarizes long web pages. If transforming a URL:
- Fetch the full HTML/text first
- Count words in the FULL source
- If >10,000 words, chunk before processing
- Never transform a summary thinking it's the full text
Step 1: Content Extraction & Fresh Material (CRITICAL)
Run Phase 0 BEFORE any transformation.
Step 1a: Content Extractor
- Prompt:
prompts/content_extractor.md - Measures source length and sets target range (60% to 115% of source)
- Extracts ALL key points with importance ratings (HIGH/MEDIUM/LOW)
- Maps structure for section-by-section transformation
LENGTH TARGETS
==============
Source: [N] words
Minimum (floor): [N × 0.60] words - DO NOT GO BELOW
Maximum (ceiling): [N × 1.15] words
Ideal: [N × 1.00] to [N × 1.10] words
Step 1b: Originality Engines (run in parallel)
Observation Engine (prompts/observation_engine.md):
- Questions assumptions in source text
- Generates FRESH observations specific to THIS topic
- Key method: "What's actually strange about this if you think about it?"
- Output: Fresh Observation Inventory (Grade A/B/C)
Contemporary Adams Vision (prompts/contemporary_adams_vision.md):
- Identifies 2015-2025 absurdities relevant to topic
- Modern equivalents for digital watches, Vogon bureaucracy, etc.
- Optional web search for recent examples (last 2 years prioritised)
- Output: Contemporary angles for tangents/bathos
Combined Output: Fresh Material Inventory - travels through entire pipeline.
The Preserve-First Principle: Adams added tangents ON TOP of content. He didn't compress. The Adamiser must do the same.
The Originality Principle: Adams invented new jokes. "Hordes of writers have tried to copy his style... but none successfully." We use his TECHNIQUES, not his specific jokes.
Step 2: Plan Transformation
Produce 5-bullet strategy:
- Opening approach (cosmic scale or mundane zoom-in)
- Primary bathos targets (what to deflate)
- Digression opportunities (tangent subjects)
- Simile/metaphor inversions planned
- Closing anti-climax structure
Step 3: Parallel Agent Analysis
CRITICAL: Launch these 4 specialist agents IN PARALLEL using a single message with multiple Task tool calls:
Agent 1: Bathos Architect
- Prompt: prompts/bathos_architect.md
- Task: Identify serious statements, map bathos insertion points
- Output: Bathos insertion map with patterns (A-D) and locations
Agent 2: Metaphor Engineer
- Prompt: prompts/metaphor_engineer.md
- Task: Inventory existing comparisons, suggest new ones using domain taxonomy
- Output: Comparison inventory and insertion suggestions (Mechanical/Animal/Human/Abstract/Natural)
Agent 3: Rhythm Analyst
- Prompt: prompts/rhythm_analyst.md
- Task: Audit sentence/paragraph structure against corpus targets
- Output: Rhythm map with correction recommendations (30% short, 32% single-sentence paragraphs)
Agent 4: Dialogue Transformer (if dialogue present)
- Prompt: prompts/dialogue_transformer.md
- Task: Audit dialogue tags (90% "said" rule), structure exchanges
- Output: Tag corrections and structural recommendations
Wait for all agents to complete, then synthesize outputs following priority order: Rhythm → Bathos → Metaphor → Dialogue.
Step 4: Transform (Multi-Phase)
Phase A: Opening
Apply opening system from reference/adams_style_guide.md:
- Cosmic Zoom: Start at universal scale, crash to trivial
- Mundane Enormity: Begin with boring detail, reveal cosmic significance
- Authoritative Absurdity: Guide-entry format with deadpan impossibility
Phase B: Body Transformation
For each paragraph:
- Identify the "serious point"
- Elevate its apparent importance
- Insert digressive tangent (see
reference/digression_systems.md) - Apply bathos formula (see
reference/bathos_patterns.md) - Weave sentence architecture (see
reference/sentence_architecture.md)
Phase C: Closing
Apply triple-layer Adams closing:
- Layer 1: Return to original subject as if nothing absurd occurred
- Layer 2: Casual mention of universe-ending implication
- Layer 3: Character worrying about tea/towels/bureaucracy
Step 5: Four-Layer Quality Review (Ultrathink)
This is the critical differentiator: Style fidelity alone produces parody. Originality prevents imitation. Meaning amplification produces excellence.
Run sequentially - each layer feeds the next:
Layer 1: Style Fidelity Check
- Prompt:
prompts/layer1_fidelity_check.md - Input: First draft from Step 4
- Task: DETECT (not fix) style deviations using corpus-calibrated metrics
- Output: Fidelity report with specific flags (target: ≥6/8 checks passed)
Anti-Cliché Layer (NEW)
- Prompt:
prompts/anti_cliche_layer.md - Input: First draft + Layer 1 report
- Task: Detect recycled Adams tropes and insufficient joke depth
- Checks:
- BANNED (0 uses): brick similes, 42, Vogons, Babel fish, "Don't Panic"
- LIMITED (budget per 2000 words): "not entirely unlike", tea, towels
- "Twist more than once": Single-twist jokes flagged for deepening
- Output: Anti-Cliché report with replacement recommendations
Layer 2: Technique Refinement
- Prompt:
prompts/layer2_technique_refinement.md - Input: First draft + Layer 1 report + Anti-Cliché report
- Task: Apply SURGICAL corrections + replace clichés with fresh material
- Output: Refined text + change log
Layer 3: Meaning Amplification
- Prompt:
prompts/layer3_meaning_amplification.md - Input: Refined text + original source
- Task: Ensure Adams techniques AMPLIFY (not obscure) the message
- Output: Final text + amplification report
The Ultrathink Principle: Every Adams technique must serve the content's truth. Decorative mimicry fails Layer 3.
The "Twist More Than Once" Principle: Professional analysis notes "Douglas has to twist the line more than once." Single-layer jokes are flagged for deeper work.
See prompts/orchestrator.md for complete workflow coordination.
Step 6: Validate
MANDATORY: Run validate_metrics.py after Phase 2 synthesis:
python scripts/validate_metrics.py --source original.txt --output transformed.txt --json
For long texts (>10,000 words), use chunk_text.py FIRST:
python scripts/chunk_text.py --input long_source.txt --output-dir chunks/
# Process each chunk through the pipeline
# Merge outputs, then run final validation
Script checks (deterministic):
- Word count ratio (60-115% of source)
- Banned phrases (Adams quotes, clichés, book report patterns, PowerPoint headers)
- Deadpan markers ("in fact"/"of course" density)
- Sentence distribution
- Exclamation marks (<1 per 2000 words)
- Question frequency (8-10 per 1000 words)
Optional: Run validate_adams_style.py for comprehensive final check:
python scripts/validate_adams_style.py <output_file>
Additional checks:
- Bathos presence (varied placement, NOT formulaic intervals)
- Digression density (at least 1 tangent per 300 words)
- Inverted comparisons ("not like X, but like Y")
- Sentence rhythm (30% short ≤10 words, 31% single-sentence paragraphs)
- Adams vocabulary markers ("quite"/"rather" > "utterly")
- Dialogue tag distribution (90% "said")
Step 7: Report
Transformation Complete
**Source Analysis:**
- Original style: [formal/journalistic/technical]
- Original length: [X words]
- Bathos opportunities identified: [Y]
**Output Specifications:**
- Final length: [X words]
- Bathos instances: [N]
- Digressions inserted: [M]
- Simile inversions: [K]
- Validation: [PASS/FAIL with details]
**Key Transformations:**
1. [e.g., Converted Q3 earnings report to Vogon poetry analysis]
2. [e.g., Inserted 400-word tangent on digital watches]
3. [e.g., Applied cosmic bathos to meeting agenda]
CRITICAL: Contextual Mode Detection
Do not apply global averages. Adams wrote differently in different contexts. Before any transformation, segment text by mode:
| Mode | Short Sentences | Tangent Density | Reluctance |
|---|---|---|---|
| Guide Entry | 20-25% | LOW | LOW (confident absurdity) |
| Narrative Action | 35-40% | MEDIUM | HIGH for Arthur, LOW for Ford |
| Philosophical Musing | 15-20% | HIGH (is the tangent) | MEDIUM (weary omniscience) |
| Dialogue Scene | 45-55% | LOW | Character-dependent |
| Descriptive Passage | 25-30% | MEDIUM-HIGH | MEDIUM (bored by magnificence) |
See reference/contextual_modes.md for full details.
The Marketing Copy Trap: AI tends toward efficiency. Adams was gloriously inefficient. If your output moves smoothly A→B→C, you've failed. Adams moved A→tangent→tangent→B.
Corpus-Validated Insights
Based on analysis of 528,808 words of authentic Adams text across 10 books:
Vocabulary (Often Imitated Wrong)
Top Intensifiers:
- "quite" (8.13/10k) and "rather" (6.73/10k) are #1 and #2
- "utterly" is OVERUSED in imitations (only 0.96/10k in real Adams)
Sentence Distribution:
- 30% short (≤10 words) - MORE punchy than commonly assumed
- 46% medium (11-30 words)
- 15% long (31-50 words)
- 8% very long (>50 words)
Questions: ~9 per 1000 words (high - drives philosophical voice)
Signature "brick simile": Use sparingly - only 0.15 per 10k words
Opening Patterns (NEW)
| Type | Frequency | Example |
|---|---|---|
| Cosmic Zoom | 33% | "Far out in the uncharted backwaters..." |
| Character Action | 25% | "The regular early morning yell of horror..." |
| Philosophical | 17% | "There is a theory which states..." |
| Meta-Commentary | 17% | "The history of the Galaxy has got muddled..." |
Bathos Timing is NOT Formulaic (NEW)
Real Adams places first bathos anywhere from 30 words to 2,200 words into a piece. The variation IS the pattern. Do not apply bathos at fixed intervals.
Dialogue (NEW)
- Use "said" for 90% of dialogue tags
- Reserve "burbled" for machines, "rasped/rumbled" for authority figures
- ~31.9% of paragraphs are single sentences (use for punchlines)
Metaphor Patterns (NEW)
- 693 comparisons across corpus: 37.5% "like a/the", 28.3% "as if"
- Inverted comparisons ("not like X, but like Y") are signature technique
- Categories: Mechanical (34%), Animal (28%), Human (22%), Abstract (10%)
Chapter Endings (NEW)
- End with deflation/bathos (35%), dialogue punchline (30%), physical comedy (20%)
- Final sentences typically SHORT (3-15 words)
- Recurring: "Or so it would seem", "It was that simple"
See reference/literary_analysis.md for complete analysis and reference/corpus_analysis_summary.md for statistics.
Reference Files
Agent Prompts (Multi-Layer System)
Phase 0 - Extraction & Fresh Material:
prompts/content_extractor.md- RUN FIRST - Extracts key points, sets length targetsprompts/observation_engine.md- NEW - Generates FRESH observations by questioning assumptionsprompts/contemporary_adams_vision.md- NEW - 2015-2025 absurdities, modern digital watch equivalents
Phase 1 - Parallel Analysis:
prompts/orchestrator.md- Coordinates entire workflow with parallel agents and 4-layer reviewprompts/bathos_architect.md- Bathos analysis and insertion (4 patterns, corpus timing)prompts/metaphor_engineer.md- Comparison crafting (5 techniques, domain taxonomy)prompts/rhythm_analyst.md- Sentence/paragraph structure (corpus targets)prompts/dialogue_transformer.md- Dialogue tags and exchange patternsprompts/tangent_injector.md- Tangent insertion using fresh material
Phase 3 - Quality Layers:
prompts/layer1_fidelity_check.md- Style deviation detection (12 checkpoints)prompts/anti_cliche_layer.md- NEW - Trope detection, originality verification, "twist more than once"prompts/layer2_technique_refinement.md- Surgical corrections + cliché replacementprompts/layer3_meaning_amplification.md- ULTRATHINK - Ensures techniques serve message
Core References
reference/contextual_modes.md- CRITICAL - The 5 contextual modes with mode-specific targets (Guide Entry, Narrative, Philosophical, Dialogue, Descriptive)reference/original_patterns.md- NEW - 100+ pre-generated Adams-esque patterns (bathos, similes, tangents, etc.) - use instead of recycling Adams' specific jokesreference/literary_analysis.md- Comprehensive literary patterns from 10-book corpus studyreference/corpus_analysis_summary.md- Real statistics from Adams corpusreference/adams_style_guide.md- Complete style breakdown with examplesreference/bathos_patterns.md- 12 bathos formulas with templatesreference/sentence_architecture.md- Adams-specific sentence patternsreference/digression_systems.md- Tangent insertion techniquesreference/vocabulary_guide.md- Adams vocabulary, neologisms, phrase patterns
Scripts
Primary (Integrated into Pipeline):
scripts/validate_metrics.py- MANDATORY - Deterministic validation (banned phrases, word counts, deadpan markers). Run after Phase 2, output feeds Phase 3 layers. Use--jsonfor programmatic output.scripts/chunk_text.py- FOR LONG TEXTS - Splits texts >10,000 words into ~3000-word chunks at natural breaks for parallel processing.
Optional Standalone Tools:
scripts/validate_adams_style.py- Comprehensive style validation (can run independently for final check)scripts/bathos_detector.py- Detect and score anti-climax patterns (exploratory analysis)scripts/vocabulary_checker.py- Check Adams vocabulary markers (exploratory analysis)scripts/analyse_corpus.py- Analyse text for Adams style statistics (reference tool)
Examples
examples/news_to_adams.md- News article transformationexamples/academic_to_adams.md- Academic paper transformationexamples/technical_to_adams.md- Technical doc transformation
Templates
templates/guide_entry.md- Hitchhiker's Guide entry formattemplates/chapter_opening.md- Novel chapter opening formattemplates/cosmic_zoom.md- Universal-to-trivial structure
Output Requirements
Must include:
- Bathos instances (vary placement - NOT at fixed intervals, range 30-2200 words to first)
- At least 1 digressive tangent per 300 words
- At least 1 inverted comparison ("not like X, but like Y") per 500 words
- Mode-appropriate short sentence percentage (see contextual modes)
- ~31% single-sentence paragraphs for rhythm and punchlines
- Use "quite"/"rather" NOT "utterly" for intensification
- Use "said" for 90% of dialogue tags
Originality Requirements (v0.9.0 EXPANDED):
- 0 BANNED Adams tropes (brick similes, 42, Vogons, Babel fish, "Don't Panic", whale/petunias)
- 0 VERBATIM Adams openings ("Far out in the uncharted backwaters...", "In the beginning the Universe was created...")
- 0 Book report constructions ("the letter mentions", "the author argues", "in the article")
- 0 PowerPoint headers (ALL CAPS section breaks - use narrative bridges instead)
- LIMITED tropes within budget (max 1 "not entirely unlike" per 2000 words)
- ≥70% of jokes must have multiple twists ("twist more than once")
- Fresh observations from Observation Engine, not recycled Adams material
- Contemporary (2015-2025) references where relevant
Length: 60% to 115% of source (target: 100-110%)
- Below 60%: Content has been lost - FAIL
- 100-110%: Ideal (preserved content + Adams additions)
- Above 115%: Review for over-tangenting
Content Coverage: ≥90% of source key points must appear in output
- HIGH importance points: 100% required (non-negotiable)
- MEDIUM importance points: 85%+ required
- Layer 3 verifies coverage before approval
Format: Markdown (or HTML using appropriate template)
Endings: Short final sentence (3-15 words), deflation or dialogue punchline
Invocation: Provide source text and say "Adamise this", "Douglas Adams style", or "make this absurd" - skill auto-detects from context.
Modes: "plan only" for strategy preview, "validate only" to check existing text, "guide entry" for Hitchhiker's format specifically.
Audio Output (Optional)
Generate audio narration of Adamised text using ElevenLabs v3:
ELEVENLABS_API_KEY="sk_da5157040e6b27a7d1eb9f73ab2b2891aaead490991d2bcf"
curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/oaGwHLz3csUaSnc2NBD4" \
-H "xi-api-key: $ELEVENLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "YOUR_ADAMISED_TEXT", "model_id": "eleven_v3"}' \
--output adamised_audio.mp3
Voice: Boris (oaGwHLz3csUaSnc2NBD4)
Model: eleven_v3 (most expressive - sighs, laughs, whispers)
For long texts, split into chunks <5000 characters and concatenate audio files.