Octo Summary logo

Octo Summary

Organization
Mininglamp-OSS
octo-summary

Read, create, find, and cite Octo summaries through octo-cli. Use when an agent needs to create an owner-only summary from explicit channels, discover summaries visible to its bot owner, inspect one summary, retrieve its current body, or ground an answer in returned citation metadata. Load after octo-shared.

Overview

PublisherMininglamp-OSS
Repositoryocto-cli
Skill nameocto-summary
Stars
918
Forks
130
Bundled files
Instructions only
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by Mininglamp-OSS on GitHub. Read the source before you install it.

Installation

Install the Octo Summary AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/Mininglamp-OSS/octo-cli/tree/main/skills/octo-summary
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Mininglamp-OSS/octo-cli.git /tmp/octo-cli
mkdir -p .claude/skills
cp -r /tmp/octo-cli/skills/octo-summary .claude/skills/octo-summary
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Octo Summary in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Octo Summary on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Octo Summary is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Octo Summary

This skill can read summaries and create an owner-only asynchronous summary. It does not edit, regenerate, publish, or delete summaries.

Authentication and scope

Authenticate with the owner's bf_* personal Agent token through a stored profile or OCTO_BOT_TOKEN. Do not pass or rely on --space: the Summary service resolves both the human owner and Space from the bot token and applies the owner's existing Summary permissions.

Create a summary

Creation is a write operation. Confirm the requested channels and time range with the user before calling it. Only explicit sources are accepted; the service does not let the model search all owner channels implicitly.

Pass time_range and sources through --data, and always provide a stable idempotency key:

bash
octo-cli summary create \
  --idempotency-key project-weekly-2026w31 \
  --data '{"title":"本周项目进展","topic":"整理决策、进展和风险","time_range":{"start":"2026-07-21T00:00:00+08:00","end":"2026-07-28T00:00:00+08:00"},"sources":[{"source_type":1,"source_id":"group-id"}]}'

Reuse the same key only when retrying the exact same request body after an uncertain outcome. If any body field changes, generate a new key; reusing the old key with a changed body returns 409/40009. Never generate a fresh key merely because an otherwise unchanged first request timed out.

Source types are 1=group, 2=thread, and 3=DM. include_archived defaults to false. An optional origin channel must also be present in sources. Owner, bot identity, Space, source names, and participants are server-controlled; do not send uid, participants, source_name, or confirm_timeout_hours.

The result contains task_id with an initial pending status. Poll with summary get <task-id> until status is completed (3), failed (4), or cancelled (5), then use summary result <task-id>. Poll at most 60 times with a 5-second interval; if it is still pending after 5 minutes, report the task id and current status instead of continuing.

Treat 40301/40302 as a source authorization or Space mismatch. Treat 50301 as the create feature being disabled. Treat 409/40009 as key reuse with a changed body: preserve the existing task id for audit and use a new key only if the user still wants the modified request. Do not retry authorization or feature-disabled errors with altered identity or broader sources.

Discover summaries

bash
octo-cli summary list
octo-cli summary list --keyword "launch review" --page 1 --page-size 20
octo-cli summary list --status 3 --created-after 2026-07-01T00:00:00Z

--keyword matches the summary title or topic. Results are page-based {total, items}; increment --page manually because --page-all is not available.

Choose a candidate using its title, topic, sources, participants, time range, and task_id. Do not assume a title match alone proves relevance.

Read and cite

bash
octo-cli summary get <task-id>
octo-cli summary result <task-id>

Use get for metadata plus the current visible result. Use result when the full current body and citations are needed.

When answering from a summary:

  1. Identify the summary by title and task_id.
  2. Attribute claims to the returned citation entry using its index, sender, sent time, source, and message sequence.
  3. Preserve the summary's citation marker such as [1] or [P1] when useful.
  4. Never invent missing surrounding conversation. Bot responses intentionally omit context_before and context_after.

Treat 401 as an invalid/ineligible bot identity. Treat 403 or 404 as unavailable or not visible; do not infer the contents of a hidden summary.

Inspect exact flags and schemas when needed:

bash
octo-cli schema summary.list
octo-cli schema summary.get
octo-cli schema summary.result

Frequently asked questions

What does the Octo Summary AI skill do?

Read, create, find, and cite Octo summaries through octo-cli. Use when an agent needs to create an owner-only summary from explicit channels, discover summaries visible to its bot owner, inspect one summary, retrieve its current body, or ground an answer in returned citation metadata. Load after octo-shared.

Why use Octo Summary on TypingMind?

Because you install it once and use it with any model. Octo Summary is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Octo Summary in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Mininglamp-OSS/octo-cli/tree/main/skills/octo-summary. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Octo Summary?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Octo Summary?

As many as you like. As long as a model supports skills, you can use Octo Summary with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Octo Summary AI skill free?

Yes. It is published on GitHub by Mininglamp-OSS under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇