skills/component-extraction/SKILL.md
Domain-neutral methodology for the third level of Adler-style reading - extracting structured components (terms, propositions, arguments, solutions) from a document section by section. Selects a reading strategy appropriate to document size and structure (section-based for documents under 50 pages with clear sections; windowing for long documents without breaks; targeted for hybrid content where only specific sections matter). Writes per-section extraction notes that downstream synthesis can consume. Reusable across any extraction workflow - skill creation from a methodology document, Pass-2 content grasp on a paper's full text, evidence-mining from a long-form report. Use when an agent has done structural analysis and now needs to extract the actual atomic content. Trigger keywords - component extraction, section-by-section extraction, extract terms, extract propositions, extract arguments, Adler Level 3, interpretive reading.
npx skillsauth add lyndonkl/claude component-extractionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The third level of Adler's reading methodology. Builds on structural-analysis: now that the document's unity, parts, and problems are mapped, this skill extracts atomic components — terms, propositions, arguments, solutions — section by section.
The extraction is the substrate the downstream synthesis works on. Quality here determines downstream artifact quality.
- [ ] Step 1: Choose a reading strategy based on document size and structure
- [ ] Step 2: Initialize a per-section extraction workspace
- [ ] Step 3: For each section in turn — read it, extract terms / propositions / arguments / solutions, write to workspace, clear from context
- [ ] Step 4: Cross-reference (terms used across sections, contradictions across sections)
- [ ] Step 5: Output the consolidated extraction
The calling agent passes:
source: the documentstructural_output: from structural-analysis — gives the parts list and unity statementpurpose_context: e.g., paper_pass_2_content_grasp, skill_extraction_from_methodology, evidence_miningdomain_hint: optionalMatch strategy to document characteristics from structural-analysis. Don't read everything at once — that's how context windows fill and quality drops.
When: clear sections, document under ~50 pages.
How: read one section, extract components for it, write to workspace, clear context, repeat. Each section is a unit of focused attention.
This is the default strategy. Most well-structured documents fit it.
When: long document over ~50 pages with no clear section breaks (long-form essays, transcripts).
How: read 200-line chunks with ~20-line overlap (so context spans the boundary), extract per chunk, dedupe across chunks at the end.
When: hybrid content where only specific sections from structural-analysis are high-value for the calling purpose.
How: read only the high-value sections (skip the rest with a note), extract intensively per relevant section.
The calling agent's purpose_context determines which sections are high-value.
For each section, extract these four component types. Each gets a structured entry.
Words or short phrases the document defines, uses repeatedly, or relies on as load-bearing concepts. Capture:
Distinguish terms-of-art (specific to this document or field) from generic terms (where the document uses an ordinary word in a normal sense — those don't need extraction).
Statements the document makes — claims it wants the reader to accept. Capture:
How does the document get from premise A to conclusion C? Capture:
Anything the document provides as a model of execution — examples worked through, templates to fill, scripts to run, procedures to follow. Capture:
A consolidated extraction that the synthesis level (synthesis-application) can evaluate.
## Component Extraction Output
### Reading strategy used
{section-based | windowing | targeted}
Rationale: {why}
### Per-section extractions
#### Section 1: {name}
**Terms:**
- {term} — {definition} — {section ref}
- ...
**Propositions:**
- {claim} — {evidence or "no support"} — {hedge if any}
- ...
**Arguments:**
- Premises: {list}
Conclusion: {claim}
Reasoning: {steps}
Gaps: {if any}
**Solutions:**
- {example or template} — {context} — {what's variable}
#### Section 2: {name}
... (same structure)
### Cross-section observations
- Terms used across sections (consolidated definitions)
- Contradictions: where section X says A and section Y says not-A
- Reused arguments: where the same logical move appears multiple times
purpose_context=skill_extraction_from_methodology. Each extracted component becomes a candidate for the SKILL.md being built — terms become the skill's vocabulary, propositions become its claims, arguments become its decision logic, solutions become its examples and templates.
purpose_context=paper_pass_2_content_grasp. Per-section extraction maps cleanly to the paper's section structure (intro / methods / results / discussion). The output feeds Pass 2's content-grasp questions: terms become unfamiliar-terms-to-gloss, propositions become the main argument, arguments become the hypothesis-evidence chain, solutions become the figure-by-figure analysis.
purpose_context=evidence_mining. Propositions are the centerpiece — extract every claim with its evidence and hedge, prepare for downstream triangulation across documents.
{none}. Don't pad to fit the template.structural-analysis — Level 2, run before this. Provides the parts list this skill iterates over.synthesis-application — Level 4, run after this. Evaluates the components this skill produced for completeness + logic + applicability.research-claim-map — pairs naturally with the evidence_mining purpose; consumes propositions and triangulates.skills/skill-creator/SKILL.md invokes this skill as its Step 3.paper-three-pass-extraction invokes this skill in Pass 2 to produce the structured per-section content used by the synthesizer.testing
--- name: advisory-edit description: A strict advisory-only editing discipline for a writer who dictates ("speaks out") essays and wants help WITHOUT having their voice changed. The editor directs structure, flags grammar, and suggests strategic language — but never modifies the writer's text unless the writer explicitly says "apply" / "make that change" / "rewrite this." Produces a line-referenced, suggestion-only critique where every item is marked the writer's call. Four passes: structural, l
testing
Provides the house style for analyst-grade strategist writing — third-person register with sparing first-person, no em dashes, no "not X, not Y, not Z" negation cascades, numbered footnote citations rather than inline source parentheticals, specific opinion-signaling phrases, and topic-forward paragraph structure modeled on voice patterns observed in Damodaran's Musings on Markets and Thompson's Stratechery. Use when consolidating working notes into a finished long-form strategist or analyst report that must read as written by a senior human analyst rather than an AI assistant.
testing
Renders a markdown report to a PDF using pandoc with xelatex (11pt serif body, 1-inch margins, numbered footnotes, formal heading hierarchy). Requires a one-time install of pandoc and a LaTeX engine on the user's machine — basictex on macOS or texlive-xetex on Linux. Does not attempt automatic install. Fails loudly with the exact install commands if pandoc or xelatex is missing on the user's PATH. Use when producing a finished strategist or analyst report PDF from a polished markdown source.
testing
Produces step-by-step computational walkthroughs of vector and matrix operations as a sequence of numbered "frames", showing the explicit state at each step. The text-equivalent of a 3Blue1Brown animation — each frame shows what changed and why, so the learner can re-trace the operation by hand. Use when the learner needs to *see* a computation unfold (eigenvalue computation, attention with 3 tokens, gradient descent step, SVD on a 2×2, layer norm on a 3-vector, softmax of a small input), when an explanation has been given but the learner needs to ground it in a worked example, or when introducing an operation that's intimidating in symbol form but trivial in pencil-and-paper form.