skills/inspectional-reading/SKILL.md
Domain-neutral methodology for the first level of Adler-style reading - systematic skimming to determine what kind of document this is, what it's about as a whole, and whether deeper engagement is worth the time investment. Read title, metadata, table of contents or section headings, abstract or introduction, conclusion, and end-material at a glance. Classify document type (methodology, framework, tool, theoretical, reference, or hybrid). Decide whether to escalate to deeper reading. Reusable across any artifact-from-document workflow - paper extraction, skill creation from a methodology document, literature triage, reading-list pruning. Use when an agent needs to convert "I have a document, what is it" into structured downstream-actionable input. Trigger keywords - inspectional reading, systematic skimming, document classification, Adler reading, skim before reading, skill-worthiness check, paper triage, reading triage.
npx skillsauth add lyndonkl/claude inspectional-readingInstall 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 first level of Adler's "How to Read a Book" methodology, applied as a reusable skill. Answers two questions before any deeper reading happens: What kind of document is this? and Is it worth reading carefully?
The skill is invoked autonomously by an agent — it reads the document and produces structured output. It does not host a dialogue with the operator.
- [ ] Step 1: Read the metadata (title, authors, date, source, length)
- [ ] Step 2: Read the abstract / introduction completely
- [ ] Step 3: Examine table of contents or section headings
- [ ] Step 4: Skim the conclusion and any end-material at a glance
- [ ] Step 5: Classify the document type
- [ ] Step 6: Assess worthiness for the calling agent's purpose
- [ ] Step 7: Output structured findings
Time budget: 10-15 minutes for a typical paper / chapter / methodology document. If a document needs more, you've drifted into the next level of reading — stop and produce the inspectional output you have.
The calling agent passes:
source: the document to read (path or URL or text)purpose_context: a short string describing what this document is being read for. The classification and worthiness check both depend on this — reading a paper for synthesis vs reading a methodology document for skill extraction yield different worthiness criteria. Examples:
purpose=paper_extraction_for_weekly_digest — caller is paper-synthesizer's pipelinepurpose=skill_extraction_from_methodology — caller is the skill-creator agentpurpose=reading_list_triage — caller wants to rank a backlogdomain_hint: optional. The field the document is in (life sciences, ML, philosophy, etc.) — improves classification.## Inspectional Reading Output
### Metadata
- Source: {path or URL}
- Title: {title}
- Authors / origin: {names or affiliation}
- Length: {pages, sections, or word count}
- Date / version: {date}
### Document type
Primary: {methodology | framework | tool/template | theoretical | reference/catalog | hybrid}
Secondary aspects (if hybrid): {list}
### Stated purpose and audience
{1-2 sentences from the abstract / intro}
### Structural skeleton
{TOC or section headings, in order, as a bullet list}
### Worthiness assessment (for purpose={purpose_context})
- Reusable across multiple contexts: {yes|no|partial} — {one-line rationale}
- Teachable as steps or principles: {yes|no|partial} — {rationale}
- Non-obvious (provides value beyond common sense): {yes|no} — {rationale}
- Complete enough to be actionable: {yes|no|partial} — {rationale}
Recommendation: {ESCALATE to deeper reading | STOP — not worth it | PROCEED with caveats}
### One-line summary
{single sentence, ≤30 words, what this document is}
The classification drives what the calling agent does next. Use the most specific applicable label.
| Type | Characteristics | Extraction focus | Skill-worthy default | | ------------------- | ------------------------------------------------------ | --------------------------------------------------------- | ----------------------------------- | | Methodology / process | Sequential steps or phases; "first do X, then Y" | Steps, sequence, inputs/outputs, decision criteria | Yes — linear workflow | | Framework / model | Dimensions, axes, principles, matrices | Dimensions, categories, when-to-apply, interpretation | Yes — framework with decision logic | | Tool / template | Fill-in-the-blank, templates, checklists | Template structure, what goes where, usage guidelines | Yes — template with completion docs | | Theoretical / concept | Explains "why", research findings, principles | Core concepts, implications, application mappings | Needs synthesis to be actionable | | Reference / catalog | Lists, encyclopedia-like, lookup-oriented | Usually skip — but extract decision-frameworks if present | Usually NOT skill-worthy | | Hybrid | Combines multiple types | Identify boundaries; extract each part by its type | Yes — partitioned |
purpose=paper_extraction_for_weekly_digest. The caller wants to know enough to decide whether to invest deeper-reading compute. Worthiness criteria emphasize: relevance to the watchlist, novelty vs prior weeks, whether the abstract claims something specific or vague. Paper papers fall mostly into "theoretical / empirical study" — apply the next level of reading (content grasp) only when the worthiness check passes.
purpose=skill_extraction_from_methodology. The caller wants to know whether this document is worth extracting into a SKILL.md. Worthiness criteria emphasize: is the methodology actionable (can it be turned into steps a different agent could follow), is it non-obvious (does it teach something the model doesn't already know), is it complete enough (or are there gaps that would need filling). Reference/catalog documents almost always fail; methodology / framework documents almost always pass.
purpose=reading_list_triage. The caller has a backlog of N documents and wants to rank them. Output focuses on the worthiness assessment + one-line summary; classification is secondary.
(not visible at this level) rather than guessing.paper-three-pass-extraction — wraps this skill as Pass 1 plus the paper-specific Five Cs framework, then escalates to Pass 2 / Pass 3 for content grasp + deep reading.structural-analysis — the next level of reading; called by paper-three-pass-extraction Pass 2 and by skill-creator Step 2 when this skill recommends ESCALATE.synthesis-application — the completeness-and-logic check that runs in deeper reading levels after this one.skills/skill-creator/SKILL.md invokes this skill as its Step 1.testing
Cluster a conference's event records into a small set of coarse themes with finer sub-clusters, an explicit outlier bucket, and soft (multi-membership) affinities — using the hybrid embed-then-label pipeline (embed abstracts, reduce, density-cluster, then LLM-label the clusters) when embedding libraries are available, and an LLM-reasoned hierarchical fallback when they are not. Embeddings do the grouping; the LLM only names the groups. Conference-agnostic. Use when turning structured event records into a navigable theme map for preference elicitation and scheduling, when you need 6-8 reasonable themes rather than 20 muddy ones, or when overlapping talks must belong to more than one theme. Trigger keywords - theme clustering, cluster talks, embed then label, soft membership, outlier talks, conference themes, topic map.
development
Build a personal conference schedule as a constraint-optimization problem — hard constraints (no time overlap, room-to-room travel time, capacity/registration, the attendee's own must-attends and blackouts) plus a user-owned weighted objective trading interest against breadth, pacing (maximize contiguous free time), and serendipity. Surfaces unbreakable conflicts (two high-value overlapping talks the model cannot rank) as decisions for the human rather than silently picking, and reports what each choice traded away. Conference-agnostic. Use to turn a preference profile plus a theme map into a day-by-day plan, to resolve overlapping sessions, or to balance a packed vs paced schedule. Trigger keywords - schedule optimization, conference schedule, constraint optimization, overlapping talks, contiguous free time, conflict surfacing, packed vs paced.
development
Parse a heterogeneous conference program (markdown, HTML, PDF-derived text, or JSON) into normalized event records with per-field confidence scores and independent classification axes (topic, depth, format, prerequisites, recorded, capacity). Detects the program's format before extracting, treats every inferred field as uncertain (present vs inferred vs missing), and flags thin or missing abstracts so downstream enrichment can target them. Conference-agnostic. Use when ingesting a conference or event schedule into a structured store, normalizing a talk/session list, or extracting per-session metadata with calibrated confidence. Trigger keywords - program ingestion, parse schedule, session extraction, event records, conference program, talk metadata, per-field confidence.
development
Build a personalized preference profile from a small number of well-chosen, cluster-grounded questions instead of a long survey. Represents the person's interests as an uncertainty region over the theme map, picks the single highest-information-gain choice-based question (contrasting real talks from different clusters), balances exploiting known interests against exploring uncertain ones, deliberately injects outlier probes to fight selection bias, and stops as soon as the schedule would be stable. Also elicits the user-owned objective weights and hard constraints. Interactive — runs where it can actually ask the person. Conference-agnostic. Use to turn a theme map into a preference profile, to decide what to ask a conference attendee, or to elicit scheduling priorities. Trigger keywords - preference elicitation, ask few questions, information gain, choice-based questions, selection bias probe, objective weights, attendee preferences.