Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate a TL;DR summary of a specific document or learning unit in the Knowledge base. Pulls chunks from pgvector and synthesizes via Claude Haiku. Use when the user wants a quick overview ('summary of lesson 5', 'TL;DR of this PDF', 'explain document X in one paragraph').
.claude/skills/evolution-foundation-knowledge-summarize/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 978% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 53% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 320% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 170% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 517% | 0% |
Group: Consumption. Generate TL;DR of a document or unit using indexed chunks.
| Name | Type | Required | Description | |---|---|---|---| | document_id | str | one of two | Document UUID | | unit_id | str | one of two | Unit UUID (aggregates all docs) | | connection | str | no | Defaults to first ready | | max_tokens | int | no | Limit (default 500) |
pythonfrom dashboard.backend.sdk_client import evo if document_id: doc = evo.get(f"/api/knowledge/v1/documents/{document_id}", headers={"X-Knowledge-Connection": connection}) chunks = doc["chunks"] title = doc["title"] elif unit_id: docs = evo.get(f"/api/knowledge/v1/documents?unit_id={unit_id}", headers={"X-Knowledge-Connection": connection}) chunks = [] for d in docs: full = evo.get(f"/api/knowledge/v1/documents/{d['id']}", headers={"X-Knowledge-Connection": connection}) chunks.extend(full["chunks"]) title = f"Unit {unit_id} ({len(docs)} documents)"
Concatenate chunk.content separated by \n\n. If total > 40k chars: sample first/middle/last third.
Model: claude-haiku-4-5-20251001.
Prompt:
Summarize the document in structured markdown. Max {max_tokens} tokens.
## {title}
**TL;DR (1 paragraph):** ...
**Key points:**
- ...
- ...
**Target audience / when to use:** (optional)
### Document
{concatenated_chunks}Return summary + footer Based on {N} chunks from {M} documents.
document_id nor unit_id passed → "Pass one of the two (mutually exclusive)."knowledge-browse to list."ANTHROPIC_API_KEY missing → "Set ANTHROPIC_API_KEY in .env."| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 1,964 | 15,188 | +673% | 1 | 1 | 0% | 313 | 3,375 | +978% | 0 | 0 | — |
case-02 | fail→pass | 8,603 | 8,311 | -3% | 1 | 1 | 0% | 1,326 | 2,026 | +53% | 0 | 0 | — |
case-03 | fail→fail | 3,685 | 4,775 | +30% | 1 | 1 | 0% | 573 | 1,382 | +141% | 0 | 0 | — |
case-04 | fail→fail | 4,438 | 4,270 | -4% | 1 | 1 | 0% | 679 | 1,326 | +95% | 0 | 0 | — |
case-05 | pass→pass | 9,153 | 6,269 | -32% | 1 | 1 | 0% | 1,755 | 1,656 | -6% | 0 | 0 | — |
case-06 | pass→pass | 7,682 | 5,980 | -22% | 1 | 1 | 0% | 1,403 | 1,738 | +24% | 0 | 0 | — |
case-07 | fail→pass | 4,136 | 11,536 | +179% | 1 | 1 | 0% | 645 | 2,708 | +320% | 0 | 0 | — |
case-08 | fail→pass | 5,362 | 8,710 | +62% | 1 | 1 | 0% | 846 | 2,282 | +170% | 0 | 0 | — |
case-09 | fail→pass | 1,860 | 5,696 | +206% | 1 | 1 | 0% | 256 | 1,580 | +517% | 0 | 0 | — |
case-10 | fail→pass | 4,777 | 4,341 | -9% | 1 | 1 | 0% | 785 | 1,460 | +86% | 0 | 0 | — |
case-11 | fail→pass | 2,112 | 2,564 | +21% | 1 | 1 | 0% | 288 | 933 | +224% | 0 | 0 | — |
case-12 | fail→pass | 2,172 | 3,385 | +56% | 1 | 1 | 0% | 314 | 1,175 | +274% | 0 | 0 | — |
case-13 | pass→pass | 2,522 | 2,520 | -0% | 1 | 1 | 0% | 384 | 962 | +151% | 0 | 0 | — |
case-14 | fail→pass | 3,025 | 2,081 | -31% | 1 | 1 | 0% | 473 | 948 | +100% | 0 | 0 | — |
case-15 | fail→pass | 1,951 | 2,159 | +11% | 1 | 1 | 0% | 286 | 983 | +244% | 0 | 0 | — |
case-16 | fail→pass | 1,598 | 11,098 | +594% | 1 | 1 | 0% | 229 | 2,823 | +1133% | 0 | 0 | — |
case-17 | fail→pass | 2,496 | 5,775 | +131% | 1 | 1 | 0% | 349 | 1,716 | +392% | 0 | 0 | — |
case-18 | fail→pass | 9,299 | 1,429 | -85% | 1 | 1 | 0% | 1,727 | 863 | -50% | 0 | 0 | — |
case-19 | fail→pass | 7,716 | 1,300 | -83% | 1 | 1 | 0% | 1,254 | 814 | -35% | 0 | 0 | — |
case-20 | fail→pass | 8,518 | 3,907 | -54% | 1 | 1 | 0% | 1,394 | 1,388 | -0% | 0 | 0 | — |
case-21 | fail→pass | 9,931 | 4,246 | -57% | 1 | 1 | 0% | 1,809 | 1,435 | -21% | 0 | 0 | — |
case-22 | fail→pass | 17,014 | 1,863 | -89% | 1 | 1 | 0% | 3,017 | 959 | -68% | 0 | 0 | — |
case-23 | fail→pass | 11,112 | 4,928 | -56% | 1 | 1 | 0% | 1,830 | 1,522 | -17% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +78 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.