← 返回 Skills 市场
samuel-wei

Brainstorming

作者 SamuelWei · GitHub ↗ · v0.1.1 · MIT-0
cross-platform ⚠ suspicious
38
总下载
1
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install javis-brainstorming
功能描述
Creates a to-do card with a ready-to-paste prompt that hands off recent transcript data to Claude’s content-brainstorming skill for idea organization.
使用说明 (SKILL.md)

Brainstorming

Turn a brainstorm-worthy voice/keyboard unit into a generic to-do card whose prompt hands off to Claude's content-brainstorming skill. The skill does no brainstorming itself — it detects a discernible goal/request in a transcript, composes a ready-to-paste Claude prompt, and writes a type="todo" card. iOS renders that card generically (calendar-style, Confirm / Discard) in the Calendar tab; Confirm copies payload.prompt to the clipboard so you can paste it into Claude. Fetch the last 24 hours of transcript data by default.

When to use

  • "brainstorm this"
  • "整理成簡報" (organize this into a presentation)
  • "帮我腦力激盪" (help me brainstorm)
  • A natural ask like "help me organize my thoughts on X" or "turn this into a deck".
  • Automatically, when the javis-server session dispatcher auto-runs this skill after a completed unit matches the brainstorm route — no approve-to-run card (see "How this skill is invoked").

Core commands

\x3CuserId> is optional. Omit it and it defaults to self. Each HiJavis user runs in their own openclaw container, so self is correctly isolated; the gateway token (not the userId) authenticates every server call.

# Step 1 — fetch recent transcripts as JSON (the agent reads this and composes a card)
node scripts/brainstorming.js fetch [--hours N] [--limit N]

# Step 1 (dispatcher run) — fetch ONE completed unit (the auto-run dispatcher unit)
node scripts/brainstorming.js fetch --session \x3CsessionId> [--hours N]   # audio unit
node scripts/brainstorming.js fetch --kbd-input \x3CinputId> [--hours N]   # keyboard unit

# Step 2 — push: pipe the composed to-do-card JSON to stdin; dedups (seen) + writes type=todo pending
echo '\x3Ctodo-card-json>' | node scripts/brainstorming.js push

Workflow

A two-step pipeline mirroring calendar-extractor: the script does the I/O (fetch transcripts, dedup, write the card), the agent/LLM does the reasoning (decide there is a brainstorm-worthy unit, extract its goal/request, and compose the hand-off prompt). Nothing is hardcoded — the agent reads the fetched transcript and emits one to-do-card JSON object.

  1. Fetchnode scripts/brainstorming.js \x3CuserId> fetch issues GET http://javis-server:8000/api/transcripts/recent?since=…&limit=… with the OPENCLAW_GATEWAY_TOKEN bearer and prints { "reference_time": LOCAL-wall-clock (zoneless, in tz), "reference_date": "YYYY-MM-DD", "reference_weekday": "Thursday", "reference_time_utc": ISO8601, "tz": IANA, "sessions": [ { session_id, started_at, ended_at, transcript, source } ] }. If fetch fails, returns invalid JSON, or yields zero sessions, output nothing and do not push; report the failure only if the user asked for a diagnostic.

  2. Compose — the agent reads that JSON and decides whether there is a discernible goal and request. If there is none, emit no card (silence is a valid detector outcome). If there is, produce one to-do-card JSON object:

    {
      "title": "Intro Javis to the OpenClaw community",
      "goal": "introduce Javis to the OpenClaw community, for non-engineer users",
      "subtitle": "Brainstorm · 2 sessions",
      "request": [
        "an attention hook",
        "a step-by-step demo/onboarding flow",
        "an explanation for the open-source community",
        "concise skill examples & use cases"
      ],
      "key_points": ["…optional notes the agent pulled from the transcript…"],
      "source_refs": ["\x3Csession_id>", "\x3Csession_id>"]
    }
    

    title, goal, request[], and source_refs[] are the bracketed fields. The push script composes the ready-to-paste prompt from them using the fixed template below (the agent may instead supply an explicit prompt field to override it; if absent, the template is used). icon defaults to 🧠; subtitle defaults to Brainstorm / Brainstorm · N sessions.

  3. Push — pipe the card JSON into node scripts/brainstorming.js \x3CuserId> push. The script:

    • dedups against per-user local state (data/users/\x3CuserId>.jsonseen map, 30-day TTL),
    • validates + writes the new card to POST /api/skill/data with type="todo", merge="upsert", status="pending", and payload = { icon, title, subtitle?, prompt, source_refs[] } (icon/title/prompt required) — see references/todo-card-contract.md for the general contract,
    • optionally posts a tiny POST /api/agent/push nudge so the user notices the new card in the Calendar tab.

The ready-to-paste prompt (the per-skill payload.prompt)

push composes this from the card's bracketed fields; the rest is literal. This is what Confirm copies to the clipboard:

I want to \x3CGOAL — e.g. introduce Javis to the OpenClaw community, for non-engineer users>.

Source: my Javis voice note(s), session_id(s): \x3Cid…>. Before we start, pull the full
transcript via the javis_mcp connector (get_transcript_tool / search_transcripts_tool).

Please produce:
- \x3CREQUEST item 1 — e.g. an attention hook>
- \x3CREQUEST item 2 — e.g. a step-by-step demo/onboarding flow>
- \x3CREQUEST item 3 — e.g. an explanation for the open-source community>
- \x3CREQUEST item 4 — e.g. concise skill examples & use cases>

Run the content-brainstorming flow: ask me clarifying questions one at a time,
inventory the source material, then produce a structured brief before drafting.

This closes the loop: the openclaw brainstorming skill hands off to the Claude-side content-brainstorming skill, with javis_mcp pulling the source transcript.

How this skill is invoked

This skill has two triggers (dispatcher auto-run and manual).

  1. Dispatcher auto-run (automatic). When a unit of input completes (an audio session ends or a keyboard input is saved), the javis-server session dispatcher classifies the transcript. If it finds brainstorm-worthy content (ideation, "help me organize", presentation/deck planning) and an enabled brainstorm route matches, the server claims run-once (DispatchRouteExecuted (user, unit, route)) and AUTO-RUNS this skill directly — there is no approve-to-run proposal card. It runs in the user's container with a prompt of the form Run /brainstorming for \x3Cunit>. Deliverable: …, where the deliverable text is the dispatcher's classification carried as an advisory HINT. The agent parses \x3Cunit> (audio:\x3Csession_id> or kbd:\x3Ckeyboard_input.id>), runs fetch --session \x3Cid> / fetch --kbd-input \x3Cid>, composes the card, and pushes it. The human gate is not running the skill — it is Confirm/Discard on the produced to-do card. The skill does not self-gate — the server owns run-once.
  2. Manual ("brainstorm this"). On demand, the agent runs the windowed fetch (last 24h by default) → composes → pushes. Repeating the ask re-runs composition on the window; the seen map still prevents writing the same card twice.

The route contract the javis-server team must satisfy is declared in this file's metadata.routes block and documented in references/todo-card-contract.md (which also carries the general to-do card contract shared by all to-do-emitting skills).

Notes

  • Runtime dependencies — the scripts use Node 18+ built-ins only (fetch, fs, path); no npm install is needed for the script runtime.
  • Does no brainstorming. This skill detects + composes + writes a card. The actual brainstorming happens on Claude when the user taps Confirm (which copies payload.prompt) and pastes it into the interactive content-brainstorming flow.
  • The card is written PENDING. The row mirrored to /api/skill/data carries status: "pending"; iOS renders it dashed (purple accent) in the Calendar tab with Confirm · Discard. Confirm copies payload.prompt to the clipboard and marks the row confirmed; Discard deletes it. There is no approve-to-run proposal card.
  • Dedup is local-state-authoritative. The container's gateway token can WRITE to /api/skill/data but cannot read it back (GET /api/skill/data requires a Clerk JWT), so novelty is decided by the local seen map ({ "\x3Cdedup_key>": "\x3Cts>" } in data/users/\x3CuserId>.json, 30-day TTL-pruned); the server write is a best-effort mirror. The to-do dedup_key is title|hash(goal) — re-brainstorming the same unit toward a new goal is a genuinely new card.
  • Timezone: there is no prefs file. tz resolves in order: the tz field on the fetch payload → the TZ environment variable → the system zone. To-do rows carry no date (start_at/end_at absent), so the anchor is informational only — it lets the agent resolve "today" coherently if the goal references it.
  • The shared write side. scripts/todo-card.js is the reusable Layer-1 helper: any future skill can require it to build + POST a type="todo" card without re-implementing the contract. brainstorming.js is its first consumer.
  • User IDs only allow letters, digits, -, _ (path-traversal guard in data.js).
安全使用建议
Install only if you are comfortable with HiJavis scanning recent recordings or a dispatcher-selected completed unit to make brainstorming cards. Review the pending card before confirming, because Confirm copies a prompt intended for Claude and may lead Claude to pull the original transcript. Consider disabling the route or avoiding this skill for sensitive meetings, regulated data, or conversations where broad phrases like organizing thoughts should not trigger automation.
能力标签
crypto
能力评估
Purpose & Capability
The capabilities fit the stated purpose: fetch HiJavis transcripts, let the agent compose a brainstorming handoff, and write a pending to-do card for Claude. This involves sensitive conversation and voice-note data, but that access is central to the skill and is repeatedly disclosed.
Instruction Scope
The runtime instructions and route metadata allow automatic dispatcher execution on broad matches such as ideation, help organizing thoughts, deck planning, or turning something into a brief. The produced card is pending, but transcript processing and card creation happen before the user confirms.
Install Mechanism
The package uses Node 18 built-ins only, declares simple npm scripts, and has no dependency installation step. The static child_process finding is confined to tests that spawn Node to exercise path-safety exits.
Credentials
Use of OPENCLAW_GATEWAY_TOKEN and JAVIS_SERVER_URL is expected for this HiJavis integration and is used to call documented internal endpoints for transcript fetches, skill-data writes, and an optional notification nudge.
Persistence & Privilege
The skill writes local per-user deduplication state for 30 days and posts pending to-do rows. That persistence is disclosed and bounded, but combined with automatic transcript-driven execution it warrants user review before enabling.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install javis-brainstorming
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /javis-brainstorming 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.1
Version 0.1.1 of javis-brainstorming - Skill name updated from "brainstorming" to "javis-brainstorming" for consistency. - Route configuration and metadata updated to reference the new skill name. - No logic or behavior changes were introduced in this release.
v0.1.0
- Initial release of the "brainstorming" skill for generating ready-to-paste to-do cards, enabling seamless hand-off to Claude’s content-brainstorming workflow. - Automatically or on-demand detects brainstorm-worthy requests in transcripts, then composes and saves a “todo” card without doing any brainstorming itself. - Card is presented in the iOS Calendar tab, with "Confirm" copying a pre-filled Claude prompt to the clipboard. - Fetches up to 24 hours of transcript data by default; deduplicates cards on push. - Supports triggers such as "brainstorm this", "整理成簡報", and "帮我腦力激盪", with full support for auto-run via the session dispatcher.
元数据
Slug javis-brainstorming
版本 0.1.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Brainstorming 是什么?

Creates a to-do card with a ready-to-paste prompt that hands off recent transcript data to Claude’s content-brainstorming skill for idea organization. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 38 次。

如何安装 Brainstorming?

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

Brainstorming 是免费的吗?

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

Brainstorming 支持哪些平台?

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

谁开发了 Brainstorming?

由 SamuelWei(@samuel-wei)开发并维护,当前版本 v0.1.1。

💬 留言讨论