summarize-source
Skill0 starsChanged 5 months agoMITView on GitHub
Summarises a fetched web source into structured, cited notes suitable for a research brief. Extracts key claims, attributes each to the source URL, and flags unsupported or hedged assertions. Designed for use inside the Researcher Worker of research swarms.
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Call this skill immediately after a successful WebFetch call, before appending anything to the build state file.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
summarize-source
Converts raw fetched web content into structured, cited notes. Used by the Researcher Worker inside research swarms. Input is a URL + raw page content + research topic; output is a set of claim bullets, each attributed to the source.
When to invoke
Call this skill immediately after a successful WebFetch call, before appending anything to the build state file. Do not summarise content you have not actually fetched.
/summarize-source
url: <url>
content: <raw fetched text — paste the full WebFetch output>
topic: <the research question or subject>What the skill produces
A structured note block in this format:
### <url>
- Claim: "<verbatim or close-paraphrase claim from the source, directly relevant to the topic>."
[Source: <url>]
- Claim: "<next claim>."
[Source: <url>]
- [UNSUPPORTED] "<hedged or speculative statement that should not be treated as fact>."
- [OFF-TOPIC] Skipped N paragraphs not relevant to topic.Rules applied during extraction:
| Rule | Behaviour |
| Relevance filter | Only extract claims relevant to the topic. Off-topic content is logged as [OFF-TOPIC] with a count. |
| Citation on every claim | Every claim line ends with [Source: <url>]. Never emit a claim without it. |
| No fabrication | If the fetched content does not support a claim, do not emit it. |
| Hedge flagging | Speculative or hedged statements (uses "may", "might", "could", "unclear") are marked [UNSUPPORTED]. |
| Deduplication | If a claim is a restatement of a prior claim in this summary, skip it. |
| Length cap | Emit at most 8 claim bullets per source. Prefer the most specific, well-supported claims. |
Model rationale
Sonnet — extracting claims from unstructured web content requires judgement: deciding
what is relevant, distinguishing a stated fact from a hedged opinion, and paraphrasing
accurately without over-summarising or fabricating. This is a pattern-matching-with-judgement
task — the Sonnet tier in the decision tree (docs/conventions/model-orchestration.md).
Failure modes
| Failure | Response |
| Fetched content is blank or an error page | Emit a single line: [FETCH FAILED] <url> — content empty or error. Do not call the skill. |
| Content is in a non-English language | Emit up to 3 translated claims if confident; flag [TRANSLATED]. If not confident, emit [LANGUAGE BARRIER] — skipped. |
| Content is a paywall / login page | Emit [PAYWALLED] <url> — no extractable content. |
| Content has no claims relevant to topic | Emit [OFF-TOPIC] <url> — no relevant claims found. |
Example invocation and output
Input:
/summarize-source
url: https://example-edu.org/consensus-mechanisms
content: [raw page text about blockchain consensus mechanisms]
topic: How do proof-of-work and proof-of-stake consensus mechanisms differ?Output:
### https://example-edu.org/consensus-mechanisms
- Claim: "Proof-of-work requires miners to solve cryptographic puzzles, consuming significant
electrical energy." [Source: https://example-edu.org/consensus-mechanisms]
- Claim: "Proof-of-stake selects validators proportionally to their staked token holdings,
eliminating the need for energy-intensive computation." [Source: https://example-edu.org/consensus-mechanisms]
- [UNSUPPORTED] "Some researchers suggest PoS may introduce new centralisation risks — the
evidence is still emerging."Related
swarms/example-research-swarm/agents/researcher.md— primary callerdocs/conventions/model-orchestration.md— model selection rationaledocs/conventions/skill-model-pins.md— pin catalog (row added on creation)
In this repository11 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- wiki/CLAUDE.mdCLAUDE.md
- cross-linkerSkill
- find-skillsSkill
- skill-creatorSkill
- swarm-conformSkill
- swarm-scaffolderSkill
- tag-taxonomySkill
- wiki-ingestSkill
- wiki-lintSkill
- wiki-statusSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

