一键导入
opencode-session-collector
OpenCode SDK/APIでセッション一覧を取得し、必要なメッセージだけ抽出する方法を学ぶときに使う
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
OpenCode SDK/APIでセッション一覧を取得し、必要なメッセージだけ抽出する方法を学ぶときに使う
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
GitHub Issue や Pull Request にコメントを投稿する。Use when Claude needs to: (1) Post a comment on a GitHub Issue, (2) Post a comment on a Pull Request, (3) Reply to existing discussions. コメント本文を標準入力から受け取ることで引用符の問題を回避する。
tomoasleep が書くような Pull Request の書き方を教えます。PR の説明文を書く・直す・レビューする・What/How/Why を整える・flaky 修正やバグ修正の説明を書くときは必ず使ってください。特に How が実装詳細に寄りすぎている場合や、Why に「なぜこの変更で直るのか」を検証可能に書く必要がある場合に使います。
指示された内容、または GitHub Pull Request で実装している内容に対して、 Playwright MCP, Playwright テストコードを生成および実行します。
GitHub Sub Issuesの作成・管理(追加/削除/一覧)を行うためのSkill。Use when Claude needs to: (1) Plan作成やタスク分解で関連するIssueを複数作り、親子関係を付けたい, (2) 既存の親Issueに子Issueを追加して進捗を追いたい, (3) 既存の親子関係を解除したい, (4) 親Issueに紐づくSub Issue一覧を取得したい
Skillの利用時に scripts の相対パス解決ミスを防ぐための実行手順。相対パス、cwd、No such file or directory、./scripts、scripts/ が出る文脈では必ずこのSkillを使って、Skill Base Directory基準で絶対パス実行に正規化する。
カレントディレクトリの .vibedump.jsonl に作業ログを追記し、jq でタスク状況を集計するときに使う
| name | opencode-session-collector |
| description | OpenCode SDK/APIでセッション一覧を取得し、必要なメッセージだけ抽出する方法を学ぶときに使う |
OpenCode のセッション情報を SDK / API で収集し、コンテキスト溢れを避けるために必要最小限のメッセージだけを抽出する。
サーバー未起動なら SDK で起動する。起動済みならクライアントのみ作る。
import { createOpencode, createOpencodeClient } from '@opencode-ai/sdk'
const opencode = await createOpencode()
const { client } = opencode
const clientOnly = createOpencodeClient({ baseUrl: 'http://localhost:4096' })
SDK
const sessions = await client.session.list()
API
curl -s "http://localhost:4096/session"
セッション一覧の projectID と directory で絞る。
プロジェクト一覧(任意)
const projects = await client.project.list()
フィルタ方針
projectID が一致するセッションだけ残すdirectory が指定パスのプレフィックスなら対象にするメッセージを直接 API で全量取得すると長くなり、コンテキストが溢れやすい。
同梱スクリプトで user 全件 + 最終 assistant 1件 のみを抽出する運用を推奨する。
スクリプト
config/opencode/skills/opencode-session-collector/scripts/extract-session-messages.js
例
node config/opencode/skills/opencode-session-collector/scripts/extract-session-messages.js \
--base-url http://localhost:4096 \
--project-id PROJECT_ID
node config/opencode/skills/opencode-session-collector/scripts/extract-session-messages.js \
--dir-prefix /path/to/worktree
node config/opencode/skills/opencode-session-collector/scripts/extract-session-messages.js \
--session-id SESSION_ID
JSON でセッションごとの抽出結果を返す。
{
"sessions": [
{
"session": {
"id": "...",
"title": "...",
"directory": "...",
"projectID": "...",
"time": { "created": 0, "updated": 0 }
},
"messages": [
{ "role": "user", "time": { "created": 0 }, "text": "..." },
{ "role": "assistant", "time": { "created": 0 }, "text": "..." }
]
}
]
}