message-adapter
Use when connecting a new message source or consumer to a messaging hub — 新しい通知ソースを繋ぐ, ingest アダプタを作る, メッセージを別の用途で読む, incidentctl のような CLI を作る, hub…
Skill by elchika-inc
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/elchika-inc-message-adapter
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/message-adapter
What's inside
- Skill name
message-adapter- Description
- Use when connecting a new message source or consumer to a messaging hub — 新しい通知ソースを繋ぐ, ingest アダプタを作る, メッセージを別の用途で読む, incidentctl のような CLI を作る, hub のメッセージに意味を与える, 受信側アダプタ, 発行側アダプタ. Agent Inbox Hub のように「中心は汎用のまま両端にアダプタを置く」構成で、発行側と受信側をセットで設計するための型と、実作業で踏んだ罠を提供する。
- License
- MIT
- Instructions
- 153 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- allowed-tools: must be a space-separated string
Files (1)
- SKILL.md
SKILL.md (first lines)
# メッセージアダプタの作り方
hub にメッセージの新しい種類を通すとき、**発行側と受信側は 1 つの機能の両端**である。片方だけ作ると、もう片方が自己流になるか、解釈が配送層へ漏れる。
```
外部ソース ──▶ 発行側アダプタ ──▶ hub(汎用・data を解釈しない)──▶ 受信側アダプタ ──▶ 利用者
/ingest/<source> <name>ctl
方言を吸収して封筒へ data を読んで意味を与える
```
**中心は汎用のまま保つ。** メッセージの保存形式・配送・認可に新しい概念を足さない。用途ごとの知識は両端のアダプタが持つ。
## 最初に決める 2 つ
1. **この用途に発行側は要るか。** 外部システムが送ってくるなら要る。人やエージェントが CLI で直接送るなら不要
2. **この用途に受信側は要るか。** `data` を読んで表示・絞り込み・固有の操作をするなら要る。封筒をそのまま読むだけなら不要
両方不要なら、アダプタを作らずに汎用 CLI(`send` / `fetch` / `ack`)で足りる。**作らない判断を先に検討する。**
## 発行側アダプタ(`/ingest/<source>`)
外部の方言を吸収して hub の封筒へ変換する。hub 側のルートとして実装する。
**やること**
- 入力をスキーマで検証する(zod 等)。文字列は最大長で truncate してから検証を通す
- 署名を検証する(HMAC 等)。検証前にペイロードを信用しない
- `subject`(一覧用の 1 行)と `body`(受け手がそのまま行動できる Markdown)へ render する
- 機械可読な値は `data` へ入れる。`body` に埋め込んで再パースさせない
**やらないこと**
- 送信先の決定をアダプタ内にハードコードしない。設定(環境変数)から読む
- 変換に失敗したメッセージを黙って捨てない。理由をログへ出し、非 2xx を返す
**実装の参照**: `agent-inbox-hub` の `apps/api/src/routes/ingest-manako.ts`
## 受信側アダプタ(`<name>ctl`)
hub から取得したメッセージを、特定の用途として読む。独立した CLI として実装する。
### 純粋なフィルタにする
`<name>ctl render` は**標準入力の JSON を読み、標準出力へテキストを出すだけ**にする。
- ネットワークへ接続しない
- ファイル状態(キャッシュ・カーソル)を持たない
- 環境変数が無くても動く
得られるもの: テストが入出力の対応だけで書ける。キャッシュとの責務が分かれる。
**検証方法**(実際に測る):
```bash
printf '[]' > /tmp/empty.json
env -u <HUB>_URL -u <HUB>_API_KEY <name>ctl render < /tmp/empty.json; echo "exit=$?"
```
認証情報が無い状態で exit 0 になること。ならなければネットワークかファイルに触れている。
### 書き込みは transport CLI を子プロセスで呼ぶ
送信・ack を自前で実装しない。認証・HTTP・リトライ・タイムアウトは transport 側に閉じる。
```
<name>ctl <操作> <id>
→ aih ack <id> 1 手目
→ aih send --reply-to <id> --data '{...}' 2 手目
```
**運用操作は transport プリミティブの合成として設計する。** 1 つの操作を 2 手以上へ分解できるなら、それがアダプタを立てる動機になる。
失敗時は理由を標準エラーへ出して非 0 で終了する。transport CLI が PATH に無い場合も同様。
### 状態は呼び出し側が持つ
キャッシュ・カーソル・重複排除の記録はアダプタではなく呼び出し側(hook 等)が持つ。
**キャッシュは整形前の JSON を保存する。** 整形後のテキストを保存すると、表示を変えるたびに過去のキャッシュが無効になる。到達不可は transport の問題であって解釈の問題ではない。
## 境界の判断基準
| 対象 | 置き場所 |
|---|---|
| 封筒(`id` / `from` / `to` / `createdAt` 等)の整形 | transport 側(共有パッケージ) |
| `data` の中身を読んで意味を与える整形 | アダプタ |
| 認証・HTTP・リトライ・タイムアウト | transport 側 |
| キャッシュ・カーソル・セッション固有の状態 | 呼び出し側 |
**この線を文書に明記する。** 書かないと、将来「整形を 1 箇所へ集約する」というリファクタが層を元へ戻す。
## 踏んだ罠
### 解釈が配送層へ漏れる
安全性の指摘へ最短で対応しようとすると、表示を hook へ足したくなる。動くが、配送層が `data` のキー名と既定値を知ることになる。
**検査**: 配送層に用途固有の語彙が無いことを grep で機械的に確かめる。
```bash
grep -n '<用途固有のキー名>' <配送層のファイル> # 0 件であること
```
### 整形が重複する
アダプタが JSON を受けてテキストを出す以上、封筒部分も出力に含まれる。対策しなければ transport 側と同じ整形をもう 1 つ書くことになる。
**対策**: 封筒整形の実装を共有パッケージへ集約し、行の配列を返す関数に分ける。アダプタはその行間へ固有の 1 行を挿入する。共有側に拡張点(コールバック等)を持たせない——持たせると共有側が用途を知る。
### 新しい実行ファイルは配布とセットで完成する
コードを書いてマージしても、配布手順を更新しなければ利用者の環境で動かない。
セットアップ手順に次を追加する。
- build と PATH への配置
- 更新手順(transport CLI と同時に build する。片方だけ古いと壊れる)
- **実体確認**(`command -v` だけで終わらせず、実際に実行して exit 0 を確認する)From elchika-inc/agent-toolkit, MIT.
More from elchika-inc/agent-toolkit
- 0.570score
documenting-verification
elchika-inc
Use when 動作検証を実行してその結果を再現可能な資料としてリポジトリに残したいとき。「動作検証して資料に残して」「動かして確認してエビデンスを残して」「デプロイ前に本当に動くか実体で確かめたい」といった依頼、および実装や画面から動作パターンを網羅的に洗い出して実行し検証レポートを成果物として求める場面で使う。…
SkillAFreshness: AClaude Code +9 - 0.567score
layout-geometry-check
elchika-inc
このスキルは「レイアウト崩れを検査」「はみ出しを確認」「文字切れを検出」「layout geometry check」と依頼されたときに使われる。Playwright で複数の画面幅の要素座標を測り、表示崩れの候補を JSON に出し、基準線との差分を検査する。
SkillAFreshness: AClaude Code +9 - 0.567score
verifying-changes
elchika-inc
PR・昇格 PR・本番デプロイのあとに、司令塔から配車された確認役が動作を確かめ、実測記録を基に結果を分類して GitHub へ残すときに使う。PR・昇格・本番の確認は verifying-changes、検証資料をリポジトリへ残す依頼は documenting-verification が扱う。
SkillAFreshness: AClaude Code +9 - 0.565score
delegation-spec
elchika-inc
Use when 司令塔(coordinator)が worker へ実装・修正・整理タスクを委任する仕様(dispatch spec)を書くとき。トリガー: 「委任仕様を書いて」「worker に出す」「dispatch する」「委任テンプレ」「委任仕様のチェック」。literal 実行前提の worker…
SkillAFreshness: AClaude Code +9 - 0.540score
lens-review-cycle
elchika-inc
This skill should be used when the user asks to "レンズレビュー", "lens review cycle", "専門家レビュー", "expert review cycle", "5人の専門家にレビューしてもらおう", "指摘が0になるまでレビュー"…
SkillAFreshness: AClaude Code +9 - 0.539score
standards-refactor
elchika-inc
Use when the user asks to refactor existing code or make it more readable — リファクタリングして, 読みやすくして, standards-refactor, CODING.md に沿って直して, この関数やファイルが読みにくい…
SkillAFreshness: AClaude Code +9 - 0.529score
guarantee-ledger
elchika-inc
Use when プロジェクトへ保証レコード(guarantee ledger)を導入する・保証を追記する・保証レコードの機械検査を配線するとき。壊してはいけない約束を一枚の文書へ宣言し、実装とテストへ索引を張り、その約束の出自(指示・判断の出来事)を必須にする。トリガー: 「保証台帳」「guarantee…
SkillBFreshness: BClaude Code +9 - 0.526score
standards-templates-drift
elchika-inc
standards と templates のドリフト、相互参照チェック、templates drift、standards-templates-drift、パス参照の実在、節番号の実在を確認したい依頼で使用される。両 checkout の相互参照が指すパスと節番号を照合し、不在と判定不能を報告するスキル。
SkillBFreshness: BClaude Code +9 - 0.524score
sentinel
nishikawa
Use when code changes need structured quality + security review with false-positive filtering.
SkillBFreshness: BClaude Code +9 - 0.524score
guarantee-pin-check
elchika-inc
Use when 保証レコードの pin 未確認(unpinned)な保証をまとめて潰すとき。保証を意図的に壊して裏付けテストが赤くなることを観測し、証跡を保証レコードへ記入する多主体の手順。トリガー: 「pin 確認」「unpinned を潰す」「保証が本当に守られているか確かめる」「mutation…
SkillBFreshness: BClaude Code +9 - 0.520score
dreaming
elchika-inc
Use when CLAUDE.md やプロジェクトのルール文書が肥大化・陳腐化していないか棚卸ししたいとき。Triggers: "棚卸し", "Dream", "ルールの剪定", "CLAUDE.md 肥大化", "overfit チェック", "altitude チェック", "ドキュメント整理"…
SkillBFreshness: BClaude Code +9 - 0.520score
guarantee-interview
elchika-inc
Use when 既存アプリの出自を持たない振る舞いを、人間へ問うて裁定し保証レコードへ昇格させるとき。実装を読んで観測した振る舞いを問いカードへ正規化し、人間に「意図か否か」だけを問い、その裁定を判断の出来事として文書へ残す。トリガー: 「裁定インタビュー」「guarantee…
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 2
- Last commit (this folder)
- Sep 8, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/elchika-inc/agent-toolkit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from elchika-inc
- 0.570score
documenting-verification
elchika-inc
Use when 動作検証を実行してその結果を再現可能な資料としてリポジトリに残したいとき。「動作検証して資料に残して」「動かして確認してエビデンスを残して」「デプロイ前に本当に動くか実体で確かめたい」といった依頼、および実装や画面から動作パターンを網羅的に洗い出して実行し検証レポートを成果物として求める場面で使う。…
SkillAFreshness: AClaude Code +9 - 0.567score
verifying-changes
elchika-inc
PR・昇格 PR・本番デプロイのあとに、司令塔から配車された確認役が動作を確かめ、実測記録を基に結果を分類して GitHub へ残すときに使う。PR・昇格・本番の確認は verifying-changes、検証資料をリポジトリへ残す依頼は documenting-verification が扱う。
SkillAFreshness: AClaude Code +9 - 0.567score
layout-geometry-check
elchika-inc
このスキルは「レイアウト崩れを検査」「はみ出しを確認」「文字切れを検出」「layout geometry check」と依頼されたときに使われる。Playwright で複数の画面幅の要素座標を測り、表示崩れの候補を JSON に出し、基準線との差分を検査する。
SkillAFreshness: AClaude Code +9 - 0.565score
delegation-spec
elchika-inc
Use when 司令塔(coordinator)が worker へ実装・修正・整理タスクを委任する仕様(dispatch spec)を書くとき。トリガー: 「委任仕様を書いて」「worker に出す」「dispatch する」「委任テンプレ」「委任仕様のチェック」。literal 実行前提の worker…
SkillAFreshness: AClaude Code +9 - 0.540score
lens-review-cycle
elchika-inc
This skill should be used when the user asks to "レンズレビュー", "lens review cycle", "専門家レビュー", "expert review cycle", "5人の専門家にレビューしてもらおう", "指摘が0になるまでレビュー"…
SkillAFreshness: AClaude Code +9 - 0.539score
standards-refactor
elchika-inc
Use when the user asks to refactor existing code or make it more readable — リファクタリングして, 読みやすくして, standards-refactor, CODING.md に沿って直して, この関数やファイルが読みにくい…
SkillAFreshness: AClaude Code +9
Cite this page
message-adapter skill. Agent Mart. https://agentmart.dev/skills/elchika-inc-message-adapter (last updated 2026-10-24)