Skip to content

feat(patterns): add three critical reading lens patterns#2120

Open
OdinKral wants to merge 1 commit into
danielmiessler:mainfrom
AnsibleBBridge:feat/reading-lens-patterns
Open

feat(patterns): add three critical reading lens patterns#2120
OdinKral wants to merge 1 commit into
danielmiessler:mainfrom
AnsibleBBridge:feat/reading-lens-patterns

Conversation

@OdinKral

Copy link
Copy Markdown

Summary

Adds three analytical reading lens patterns that apply classical critical theory traditions to any prose input. These fill a gap in Fabric's pattern library: Fabric has many extraction tools (extract_wisdom, summarize, analyze_paper) but nothing that applies a named intellectual framework as the analytical lens.

Patterns

lens_stoic — Philosophical lineage and tensions

  • Traces intellectual ancestry (named and unnamed)
  • Finds where the author departs from their own sources (where original thinking lives)
  • Surfaces questions a rigorous philosopher would ask that the text doesn't
  • Based on philosophical hermeneutics and history of ideas

lens_deconstructive — Binary oppositions and absences

  • Maps the binary pairs the text organizes itself around and which term is privileged
  • Identifies what is absent from the frame
  • Finds self-undermining moments where the text contradicts its own logic
  • Constructs at least one against-the-grain reading
  • Based on Derrida and post-structuralist close reading

lens_rhetorical — Ethos / pathos / logos / kairos

  • Analyzes how the text establishes authority, moves emotionally, constructs argument
  • Maps audience construction: who is the implied reader?
  • Catalogs specific techniques worth studying or borrowing
  • Based on Aristotle's Rhetoric and discourse analysis

Usage

# Any prose input works: books, articles, essays, speeches, transcripts
cat chapter.txt | fabric -p lens_deconstructive
yt URL | fabric -p lens_rhetorical
pbpaste | fabric -p lens_stoic

Design principles

Each pattern:

  • Opens with IDENTITY and PURPOSE naming the exact tradition it draws from
  • Contains STEPS guiding the model to read before analyzing
  • Produces sections that are framework-specific (not generic "analysis")
  • Explicitly instructs: analyze how the text argues, not what it argues
  • Calibrates depth to input length

These are the three most broadly applicable lenses. The framework is extensible — feminist, Marxist, postcolonial, and psychoanalytic lenses follow the same structure and could be added in follow-up PRs.

Test plan

  • echo "short text" | fabric -p lens_deconstructive — verify it runs and produces the expected sections
  • cat article.txt | fabric -p lens_rhetorical — verify ethos/pathos/logos sections are populated
  • cat philosophy_excerpt.txt | fabric -p lens_stoic — verify lineage and tensions sections

🤖 Generated with Claude Code

Adds a set of analytical reading lenses that apply distinct critical
theory traditions to any text. Unlike extraction patterns (summarize,
extract_wisdom), these produce framework-grounded analysis:

  lens_stoic         — philosophical lineage, intellectual tensions,
                       unasked questions; grounded in hermeneutics and
                       history of ideas

  lens_deconstructive — binary oppositions, hierarchies, absences,
                        self-undermining moments; grounded in Derrida
                        and post-structuralist close reading

  lens_rhetorical    — ethos/pathos/logos/kairos, audience construction,
                       notable persuasion techniques; grounded in
                       Aristotle's Rhetoric and discourse analysis

Usage:
  cat chapter.txt | fabric -p lens_deconstructive
  yt URL | fabric -p lens_rhetorical
  pbpaste | fabric -p lens_stoic

Each pattern works on any prose input: book chapters, articles, essays,
speeches, or transcripts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant