text-summarizer

SkillAI & models

Lets your agent summarize text on your machine without sending it anywhere.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the text-summarizer skill

About this capability

Summarise a chunk of text down to roughly `length` words using the agent's configured LLM provider. Input shape `{ text: string, length?: number }` on stdin, JSON; output shape `{ summary: string }` on stdout, JSON. Minimal: ~50 lines, no streaming, no retries — a deliberate baseline so the wiring i

What this skill tells your AI

The instructions your AI receives, as published by chronoaiproject/ornn in examples/text-summarizer/SKILL.md and read by ahel’s review.

A minimum-viable LLM skill — the smallest amount of code that takes structured input, calls an LLM, and emits structured output.

Contract

Input (stdin, JSON):

{ "text": "...long input...", "length": 60 }
  • text (string, required) — what to summarise.
  • length (number, optional, default 60) — target word count for the summary.

Output (stdout, JSON):

{ "summary": "..." }

Errors — written to stderr as { "error": "...message..." } and exit code 1.

Required environment

VarPurpose
ANTHROPIC_API_KEYTalks to Claude. Swap the SDK call to point at OpenAI / Gemini / your own backend; nothing else changes.

Run locally

cd examples/text-summarizer
bun install
ANTHROPIC_API_KEY=sk-ant-... echo '{"text":"...","length":40}' | bun run src/index.ts

Adapt this

  • Different model vendor — replace Anthropic with the SDK of your choice; the I/O shape stays.
  • Stream output — emit one JSON line per token instead of one final blob.
  • Sanitise input — the current code passes text to the model verbatim; for untrusted callers, strip control characters and cap length before the API call.

Signals

GitHub stars
20
Forks
1
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
text-summarizer
Source
github.com/chronoaiproject/ornn