Skip to content
Back to skills

Knowledge Summarize

ASecurity

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').

  • 529 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 29, 2026
ai-agentspythonapibackend

Works with

  • cli
  • api

Security analysis

A100/100

Scanned May 29, 2026

npx -y skills add evolution-foundation/evo-nexus --skill knowledge-summarize --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Knowledge Summarize?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Knowledge Summarize
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/evolution-foundation-knowledge-summarize/badge)](https://www.skillsdirectory.com/skills/evolution-foundation-knowledge-summarize)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: knowledge-summarize
description: "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')."
---

# knowledge-summarize

Group: **Consumption**. Generate TL;DR of a document or unit using indexed chunks.

## When to trigger

- "Summary of lesson 5"
- "TL;DR of this PDF"
- "Explain document X"
- "Summary of module Y"

## Arguments

| 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) |

## Workflow

### Step 1 — Fetch chunks

```python
from 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)"
```

### Step 2 — Concatenate + truncate

Concatenate `chunk.content` separated by `\n\n`. If total > 40k chars: sample first/middle/last third.

### Step 3 — LLM call

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}
```

### Step 4 — Render

Return summary + footer `Based on {N} chunks from {M} documents`.

## Actionable failures

- Neither `document_id` nor `unit_id` passed → "Pass one of the two (mutually exclusive)."
- Not found → "Not found. Use `knowledge-browse` to list."
- `ANTHROPIC_API_KEY` missing → "Set `ANTHROPIC_API_KEY` in `.env`."
- Doc status != ready → "Not indexed (status={status}). Re-upload the document or wait for ingestion to complete."

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…