text-summarizer
SkillAI & modelsLets your agent summarize text on your machine without sending it anywhere.
Available today. Use it from your connected AI after setup.
No other account needed.
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
| Var | Purpose |
|---|---|
ANTHROPIC_API_KEY | Talks 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
Anthropicwith 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
textto 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