From summarizer
Routes summarization requests for files, URLs, images, and multi-source content to type-specific strategies, enforcing anti-hallucination and fidelity rules.
npx claudepluginhub jamie-bitflight/claude_skills --plugin summarizerThis skill uses the workspace's default tool permissions.
Route to the correct summarization methodology and enforce fidelity rules across all summarization operations.
Creates effective summaries by matching type (TLDR, executive, abstract) to purpose, audience, and context. Use for summarizing, condensing, or abstracting content.
Summarizes files by reading content, extracting key passages, and applying size-based strategies with type-specific handling for code, config, data, docs, markup, binaries.
Summarizes URLs, PDFs, images, audio files, and YouTube videos using the summarize CLI with AI models from OpenAI, Anthropic, Google Gemini, or xAI.
Share bugs, ideas, or general feedback.
Route to the correct summarization methodology and enforce fidelity rules across all summarization operations.
When the user specifies an output format, load the corresponding template before delegating to a domain skill or agent. If no format is specified, default to structured.
| User Signal | format_id | Template |
|---|---|---|
| (no format specified) | structured | structured.md |
| "bullet points", "key points", "quick bullets" | bullets | bullets.md |
| "tl;dr", "one-liner", "in a nutshell" | tldr | tldr.md |
| "json", "machine-readable", "structured data" | json | json.md |
| "table", "tabular", "grid format" | table | table.md |
| "outline", "table of contents", "hierarchical" | outline | outline.md |
Loading instruction: Read $SKILL_DIR/templates/{format_id}.md to obtain the schema, example, and fidelity constraints for the selected format. Pass the format parameter to the delegated agent or apply the template directly when summarizing inline.
When the model needs to summarize content, follow this decision tree to select the correct approach:
INPUT RECEIVED
│
├─ Is it a FILE path?
│ ├─ Yes → Load file-summarization skill
│ │ Run file_metrics.py to assess size
│ │ Select strategy based on size thresholds
│ └─ No ↓
│
├─ Is it a URL?
│ ├─ Yes → Load url-summarization skill
│ │ Fetch content first, then summarize
│ └─ No ↓
│
├─ Is it an IMAGE (path to .png, .jpg, .gif, .svg, .webp, screenshot)?
│ ├─ Yes → Load image-summarization skill
│ │ Read image with Read tool (multimodal)
│ └─ No ↓
│
├─ Is it MULTIPLE sources (list of files, URLs, or mixed)?
│ ├─ Yes → Count sources
│ │ ├─ 3+ sources AND Teammate tool available?
│ │ │ ├─ Yes → Spawn summarizer team (see Team Coordination below)
│ │ │ │ Each teammate summarizes one source
│ │ │ │ Teammates cross-check findings via messaging
│ │ │ │ Leader synthesizes with multi-source-synthesis skill
│ │ │ └─ No ↓
│ │ └─ Summarize each source individually (subagents or sequential)
│ │ Then load multi-source-synthesis skill
│ │ Combine with deduplication and attribution
│ └─ No ↓
│
└─ Is it INLINE TEXT (pasted content, agent output, conversation excerpt)?
└─ Yes → Apply fidelity rules directly
Use extractive method: identify key passages first
Produce structured output
When the summarization task is autonomous (user asks to summarize something and move on), delegate to a specialized agent:
| Source Type | Agent | When to Use |
|---|---|---|
| File(s) | @file-summarizer | Summarizing files without immediate follow-up questions |
| URL(s) | @url-summarizer | Summarizing web content autonomously |
| Image(s) | @image-summarizer | Describing visual content autonomously |
When the summarization is part of the current conversation flow (user wants to discuss the content), apply the relevant skill methodology directly rather than delegating.
Orchestrator relay: When receiving results from any summarizer agent, the orchestrator MUST follow the agent-result-relay skill to preserve counts, failure reasons, and structured output. Do not re-summarize agent summaries.
When the Teammate tool is available and 3+ sources require summarization, the model SHOULD use agent teams instead of sequential subagents. If the Teammate tool is not available, fall back to subagent delegation.
Teammate({ operation: "spawnTeam", team_name: "summarize-{task-id}" })Agent({
team_name: "summarize-{task-id}",
name: "source-1",
subagent_type: "file-summarizer", // or url-summarizer, image-summarizer
prompt: "Summarize [source path]. Format: {format_id}. When done, send findings to team-lead via Teammate write. If you find information that contradicts another source, message that teammate directly.",
run_in_background: true
})
All fidelity rules apply identically to teammate output. The SubagentStop hook validates teammate summaries the same way it validates subagent summaries.
These rules apply to ALL summarization regardless of source type. See Fidelity Rules for full details.
Rule 1: Read Before Summarizing - Read actual content. Never guess from filenames or paths.
Rule 2: Extract Before Abstracting - Pull quotes/passages first, then summarize from extracts.
Rule 3: Preserve Counts and Specifics - Keep exact numbers. "7 of 10" not "most."
Rule 4: Distinguish Absence from Nonexistence - "Not mentioned in source" not "doesn't exist."
Rule 5: No Lossy Re-Summarization - When relaying agent results, relay counts and references. Do not summarize the summary.
Rule 6: State Confidence Explicitly - Every summary includes confidence level with rationale.
Rule 7: Structured Output Always - Use the format defined in Structured Summary.
All summaries MUST use structured markdown with YAML frontmatter. See Structured Summary for the complete specification.
Required sections in every summary:
The model MUST NOT: