← 返回 Skills 市场
matthewspear

Kosu

作者 Matt Spear · GitHub ↗ · v1.1.0 · MIT-0
cross-platform ✓ 安全检测通过
257
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install kosu
功能描述
Add, reorder, and manage content in a Kosu queue via API. Use when adding URLs, checking what's queued, suggesting content, reordering items, or tracking wha...
使用说明 (SKILL.md)

Kosu

Kosu (漉す) — Japanese for "to strain/filter." A mindful content queue built on the philosophy: save less, read more.

Vision

Most read-it-later apps become graveyards. Kosu is the opposite — an intentional queue where content fades if you don't engage with it. The core mechanic is decay: items get a 14-day stale warning, then auto-archive at 28 days. This forces you to either consume what matters or let it go.

Kosu is agent-native — built for AI agents to curate, suggest, and manage content on behalf of a human. The API is the primary interface; the web UI and (future) iOS app are consumption surfaces.

Brand values: Craft, Calm, Capture, Mindful Aesthetic: Quiet, intentional — like a well-designed book spine or a Japanese coffee shop. Not hustle culture, not information overload. Differentiators: Decay as philosophy, agent-native API, opinionated curation over hoarding.

Installation

For OpenClaw agents

Save this skill locally:

mkdir -p ~/.openclaw/skills/kosu
curl -s https://usekosu.com/skill.md > ~/.openclaw/skills/kosu/SKILL.md

Or just read it directly from https://usekosu.com/skill.md — no install needed.

For any AI agent (Claude Code, Codex, etc.)

Read this file and follow the setup below.

Getting Started

  1. Ask your human to sign up at usekosu.com
  2. They can get an API key from Settings → API Keys
  3. Store the key as the environment variable KOSU_API_KEY
    • Create a dedicated key with minimal scope for this agent
    • The key is only sent to usekosu.com — never send it to any other domain
    • Rotate or revoke from Settings if anything unexpected happens
  4. You're ready to start managing their queue

First thing to do: Try listing the queue to confirm your key works:

curl -s "https://usekosu.com/api/v1/items?state=queue&limit=5" \
  -H "Authorization: Bearer $KOSU_API_KEY"

Updates: If something doesn't work as expected, check the OpenAPI spec for the latest API surface.

Pricing

  • Free: Limited queue size
  • Pro ($5/mo): Unlimited queue, suggestions from agents, export

If you hit a 402 quota_exceeded_error, the user's queue is full on the free tier. Let them know they can upgrade to Pro at usekosu.com/settings for unlimited items.

API

  • Base URL: https://usekosu.com/api/v1
  • Auth: Authorization: Bearer $KOSU_API_KEY
  • OpenAPI spec: https://usekosu.com/openapi.json

If KOSU_API_KEY is not set: Don't fail silently. Tell your human they need an API key and direct them to usekosu.com/settings to create one. The skill is still useful for explaining Kosu and guiding setup — just can't make API calls without a key.

AUTH="Authorization: Bearer $KOSU_API_KEY"
BASE="https://usekosu.com/api/v1"

Quick Reference

Action Method Endpoint Notes
Add item POST /items Just pass url, server enriches. 201=new, 200=exists
List items GET /items?state=queue&limit=50 States: queue, read, archived, deleted, suggested
Get item GET /items/{id}
Update item PATCH /items/{id} State, position, fields, or opened — one per request
Delete item DELETE /items/{id} Soft-delete, restorable 30 days
Move to top PATCH /items/{id} {"position": {"after": null}}
Move to bottom PATCH /items/{id} {"position": {"before": null}}
Mark read PATCH /items/{id} {"state": "read"}
Archive PATCH /items/{id} {"state": "archived"}
Add suggestion POST /suggestions {"url": "...", "reason": "..."}. 409 if already active
List suggestions GET /suggestions
Act on suggestion POST /suggestions/{id} {"action": "accept"} or {"action": "dismiss"}
Export GET /export Full queue export

Key Behaviours

  • YouTube URLs are auto-enriched (title, channel, thumbnail, duration)
  • Decay: configurable queue decay (7, 14, or 28 days) before items are auto-archived. Can be turned off entirely. Set by the user in settings.
  • Dedup is server-side by canonical URL per user
  • Opening an item ({"opened": true}) extends decay protection by 1 day (max once per 24h)

Common Examples

# Add item
curl -s "$BASE/items" -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/article"}'

# List queue (first 50)
curl -s "$BASE/items?state=queue&limit=50" -H "$AUTH"

# Move to top
curl -s -X PATCH "$BASE/items/itm_xxx" -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"position": {"after": null}}'

# Move after another item
curl -s -X PATCH "$BASE/items/itm_xxx" -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"position": {"after": "itm_yyy"}}'

# Mark as read
curl -s -X PATCH "$BASE/items/itm_xxx" -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"state": "read"}'

# Archive
curl -s -X PATCH "$BASE/items/itm_xxx" -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"state": "archived"}'

# Requeue (restore from archive/read/deleted)
curl -s -X PATCH "$BASE/items/itm_xxx" -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"state": "queue"}'

# Record open (extends decay protection 1 day, max once per 24h)
curl -s -X PATCH "$BASE/items/itm_xxx" -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"opened": true}'

# Update fields
curl -s -X PATCH "$BASE/items/itm_xxx" -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"title": "Better Title", "source": "article"}'

# Delete (soft, restorable 30 days)
curl -s -X DELETE "$BASE/items/itm_xxx" -H "$AUTH"

# Add suggestion
curl -s "$BASE/suggestions" -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","reason":"Relevant to your interest in X"}'

# Accept/dismiss suggestion
curl -s -X POST "$BASE/suggestions/sug_xxx" -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"action": "accept"}'

Item Shape

{
  "object": "item",
  "id": "itm_...",
  "url": "https://...",
  "title": "...",
  "source": "youtube|podcast|paper|newsletter|repo|article|book|course|other",
  "state": "queue|suggested|read|archived|deleted",
  "channel_name": "...",
  "thumbnail": "...",
  "duration": "1h 37m",
  "duration_minutes": 97,
  "creator": "...",
  "created_at": "2026-02-22T07:31:59.205Z",
  "updated_at": "...",
  "opened_at": null,
  "read_at": null,
  "archived_at": null,
  "published_at": null
}

PATCH Body Types (one per request)

Type Body Notes
State {"state": "read|archived|queue|suggested"} suggested requires reason field
Position {"position": {"after": "itm_x"|null}} null = top. Also supports before
Fields {"title": "...", "source": "..."} At least one of: title, source, thumbnail, channel_name, duration_minutes
Opened {"opened": true} Extends decay by 1 day

Pagination

  • Queue state: cursor-based. Use next_cursor from response as ?cursor= param.
  • Other states: offset-based. Use ?offset= param.
  • Response: {"object": "list", "data": [...], "has_more": bool, "next_cursor": "..."}

Error Codes

Status Type When
400 invalid_request_error Bad input, validation failure
401 authentication_error Missing/invalid API key
402 quota_exceeded_error Free tier queue limit — suggest upgrading to Pro
404 not_found_error Item doesn't exist
409 invalid_request_error (code: item_already_active) Suggesting a URL that's already in queue
429 rate_limit_error Rate limited

Troubleshooting

If an API call returns an unexpected response, 404 on a known endpoint, or schema mismatch:

  1. Check the OpenAPI spec for the current API surface: curl -s https://usekosu.com/openapi.json
  2. Compare with the endpoints documented above
  3. If the spec has changed, update your local copy of this skill to match
  4. Retry the original request
安全使用建议
This skill is coherent for managing a Kosu queue. Before installing: (1) confirm you trust https://usekosu.com and fetch the SKILL.md over HTTPS; (2) create a dedicated, minimal-scope API key in Kosu and store it as KOSU_API_KEY; (3) review the openapi.json if you want to audit available endpoints; (4) be aware that any agent with this key can read and modify the user's Kosu items, so rotate or revoke the key if you stop trusting the agent. No other credentials or system files are requested by the skill.
功能分析
Type: OpenClaw Skill Name: kosu Version: 1.1.0 The Kosu skill bundle is a standard API integration for a 'read-it-later' service. It provides clear instructions for managing content via the official https://usekosu.com/api/v1 endpoint and includes explicit security guidance for the agent to only send the KOSU_API_KEY to the authorized domain. No evidence of malicious intent, data exfiltration, or harmful prompt injection was found in SKILL.md or _meta.json.
能力评估
Purpose & Capability
Name and description describe Kosu queue management and the skill only requires an API key (KOSU_API_KEY) and describes API endpoints on usekosu.com — this is proportional and expected.
Instruction Scope
SKILL.md contains concrete instructions to call the Kosu API (curl examples, endpoints, auth header) and setup guidance. It does not instruct the agent to read unrelated files, harvest other credentials, or exfiltrate data to third-party domains.
Install Mechanism
This is instruction-only (no install spec, no code files). The doc suggests downloading SKILL.md from https://usekosu.com/skill.md into ~/.openclaw/skills/kosu — writing that file to disk is normal, but users should verify the HTTPS source before saving. No package downloads or archive extraction are performed.
Credentials
Only the Kosu API key (KOSU_API_KEY) is referenced as the primary credential and is used solely for calls to usekosu.com. The skill explicitly warns to only send the key to usekosu.com and to create a dedicated minimal-scope key.
Persistence & Privilege
always is false (default) and the skill does not request system-wide config changes or other skills' credentials. It will operate when invoked and requires the user's Kosu API key to act on their account.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install kosu
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /kosu 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.0
Kosu 1.1.0 - Added a version field and expanded metadata (including API base, homepage, emoji, environment variable). - Clarified and improved installation and setup instructions, especially around API key handling and security. - Added guidance for handling missing API keys (now suggests to guide the user through setup, not fail silently). - Documented new user-configurable decay period options and ability to disable decay. - Updated the skill description for increased clarity on feature scope and usage. - Provided explicit references to the OpenAPI spec for troubleshooting and keeping up-to-date.
v1.0.0
Initial release
元数据
Slug kosu
版本 1.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Kosu 是什么?

Add, reorder, and manage content in a Kosu queue via API. Use when adding URLs, checking what's queued, suggesting content, reordering items, or tracking wha... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 257 次。

如何安装 Kosu?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install kosu」即可一键安装,无需额外配置。

Kosu 是免费的吗?

是的,Kosu 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Kosu 支持哪些平台?

Kosu 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Kosu?

由 Matt Spear(@matthewspear)开发并维护,当前版本 v1.1.0。

💬 留言讨论