prestamp が拾えなかった 2-8 字日本語連続 (Kanji / Katakana) を抽出し、`mojiemoji-selector` subagent に flavor を選ばせて usage cache に<img src="https://mojiemoji.jozo.beer/emoji/%E8%BF%BD%E8%A8%98?font=akzk&color=c084fc&animation=chirichiri&background=transparent&outline=fcc084&outline_width=2" alt="追記" height="24" align="absmiddle">する。catalog 育成パイプライン (#46) の<img src="https://mojiemoji.jozo.beer/emoji/%E5%85%A5%E5%8A%9B?font=mincho&color=ef4444&animation=bane&background=transparent&a...
Scanned 5/27/2026
Install via CLI
openskills install jozobeer/mojiemoji-plugin---
name: mojiemoji-propose
description: "prestamp が拾えなかった 2-8 字日本語連続 (Kanji / Katakana) を抽出し、`mojiemoji-selector` subagent に flavor を選ばせて usage cache に<img src="https://mojiemoji.jozo.beer/emoji/%E8%BF%BD%E8%A8%98?font=akzk&color=c084fc&animation=chirichiri&background=transparent&outline=fcc084&outline_width=2" alt="追記" height="24" align="absmiddle">する。catalog 育成パイプライン (#46) の<img src="https://mojiemoji.jozo.beer/emoji/%E5%85%A5%E5%8A%9B?font=mincho&color=ef4444&animation=bane&background=transparent&outline=44ef44&outline_width=2" alt="入力" height="24" align="absmiddle">枯渇 (#92) を解決する Phase 1 (#93)。ユーザーが draft markdown ファイルを指定して呼ぶ。"
allowed-tools:
- Bash(python3 skills/mojiemoji-github/scripts/prestamp.py*)
- Bash(python3 */skills/mojiemoji-github/scripts/prestamp.py*)
- Bash(python3 skills/mojiemoji-github/scripts/cache_record.py*)
- Bash(python3 */skills/mojiemoji-github/scripts/cache_record.py*)
- Read
- Agent(mojiemoji-selector)
---
# Mojiemoji Propose
prestamp <img src="https://mojiemoji.jozo.beer/emoji/%E5%BE%8C?font=hachimaru&color=f472b6&animation=nami&background=transparent&outline=b6f472&outline_width=2" alt="後" height="24" align="absmiddle">の draft に残った未 stamp <img src="https://mojiemoji.jozo.beer/emoji/%E6%97%A5?font=tamanegi&color=f87171&animation=kage_neon&background=transparent&outline=26dc26&outline_width=2" alt="日" height="24" align="absmiddle">本語語に対して、
`mojiemoji-selector` subagent に flavor を考案させて usage cache
に記録する。これにより `bump-catalog` の<img src="https://mojiemoji.jozo.beer/emoji/%E5%85%A5%E5%8A%9B?font=akzk&color=f97316&animation=nami&background=transparent&outline=16f973&outline_width=2" alt="入力" height="24" align="absmiddle">が補充され、catalog が
自然に育つ。
## 起動条件
- ユーザーが `/mojiemoji-propose <path>` を叩いたとき
- ユーザーが「未 stamp 語を catalog に育てたい」「propose を回して」など
明示的に要求したとき
## なぜ<img src="https://mojiemoji.jozo.beer/emoji/%E5%BF%85%E8%A6%81?font=gothic-bold&color=60a5fa&animation=zairu&background=transparent&outline=eb2563&outline_width=2" alt="必要" height="24" align="absmiddle">か
`prestamp.py` は<img src="https://mojiemoji.jozo.beer/emoji/%E6%B1%BA%E5%AE%9A?font=zero&color=10b981&animation=mozaiku&background=transparent&outline=8110b9&outline_width=2" alt="決定" height="24" align="absmiddle">論的に catalog hit を `<img>` 化するため
selector 起<img src="https://mojiemoji.jozo.beer/emoji/%E5%8B%95%E6%A9%9F?font=toge&color=34d399&animation=kaiten&speed=slow&background=transparent&outline=9934d3&outline_width=2" alt="動機" height="24" align="absmiddle">会を奪う (#92)。`usage.jsonl` が空のまま<img src="https://mojiemoji.jozo.beer/emoji/%E6%94%BE%E7%BD%AE?font=pixel&color=fb923c&animation=mabataki&background=transparent&outline=0cea58&outline_width=2" alt="放置" height="24" align="absmiddle">されると
`bump-catalog` (#46) が永久に発火せず catalog が育たない。この skill は
prestamp の隙間を埋め、selector を起動するための入口になる。
## <img src="https://mojiemoji.jozo.beer/emoji/%E6%89%8B%E9%A0%86?font=kurobara&color=c084fc&animation=kaiten&speed=slow&background=transparent&outline=fcc084&outline_width=2" alt="手順" height="24" align="absmiddle">
### 1. draft を prestamp + report 取得
```bash
DRAFT="<path>"
REPORT="$(mktemp /tmp/propose-XXXXXX.json)"
python3 "${CLAUDE_PLUGIN_ROOT}/skills/mojiemoji-github/scripts/prestamp.py" \
--report-unstamped < "$DRAFT" > "$REPORT"
```
`unstamped` 配列が空なら「育成候補なし」を<img src="https://mojiemoji.jozo.beer/emoji/%E5%A0%B1%E5%91%8A?font=hachimaru&color=60a5fa&animation=yoko_scroll&background=transparent&outline=eb2563&outline_width=2" alt="報告" height="24" align="absmiddle">して<img src="https://mojiemoji.jozo.beer/emoji/%E7%B5%82%E4%BA%86?font=tamanegi&color=ec4899&animation=bane&background=transparent&outline=99ec48&outline_width=2" alt="終了" height="24" align="absmiddle">。
### 2. <img src="https://mojiemoji.jozo.beer/emoji/%E4%B8%8A%E4%BD%8D?font=kurobara&color=facc15&animation=norinori&background=transparent&outline=04ca8a&outline_width=2" alt="上位" height="24" align="absmiddle"> N 件を抽出
`--top` 引数があればその件数、無ければ最大 5 件まで。出現頻度 (count) の
高い順から処理。
```bash
N="${TOP:-5}"
python3 -c "
import json, sys
data = json.load(open('$REPORT'))
for entry in data['unstamped'][:$N]:
print(entry['term'])
"
```
### 3. 各候補に selector を起動
候補 1 件ごとに `mojiemoji-selector` subagent を呼ぶ。selector は
flavor を選定し、契約通り `cache_record.py` に書き込む (selector の
標準<img src="https://mojiemoji.jozo.beer/emoji/%E5%8B%95%E4%BD%9C?font=gothic-bold&color=60a5fa&animation=psycho&background=transparent&outline_width=0" alt="動作" height="24" align="absmiddle">)。
Input contract に従って:
- フレーズ: 抽出した term
- mode: `inline` (catalog 育成用の標準形式)
- context: `report.unstamped[i].contexts[0]` (selector に文脈を<img src="https://mojiemoji.jozo.beer/emoji/%E6%8F%90%E4%BE%9B?font=dela&color=ef4444&animation=yatta&background=transparent&outline=44ef44&outline_width=2" alt="提供" height="24" align="absmiddle">)
複数候補は並列起動可。
### 4. dry-run <img src="https://mojiemoji.jozo.beer/emoji/%E3%83%A2%E3%83%BC%E3%83%89?font=hachimaru&color=4ade80&animation=bane&background=transparent&outline=4a16a3&outline_width=2" alt="モード" height="24" align="absmiddle">
`--dry-run` <img src="https://mojiemoji.jozo.beer/emoji/%E3%83%95%E3%83%A9%E3%82%B0?font=maru-bold&color=ef4444&animation=kirari&background=transparent&outline=44ef44&outline_width=2" alt="フラグ" height="24" align="absmiddle">では候補リストだけ<img src="https://mojiemoji.jozo.beer/emoji/%E8%A1%A8%E7%A4%BA?font=kurobara&color=fdba74&animation=kaiten&speed=slow&background=transparent&outline=74fdba&outline_width=2" alt="表示" height="24" align="absmiddle">し、selector を起動しない。
ユーザーが「どんな語が候補に出るか先に見たい」ときに使う:
```
未 stamp 候補 (count 順):
- 特殊用語 (2 件): "これは特殊用語と未収録単語と…"
- 未収録語 (1 件): "本文の未収録語は対象。"
...
```
### 5. <img src="https://mojiemoji.jozo.beer/emoji/%E5%A0%B1%E5%91%8A?font=toge&color=f472b6&animation=yokomoya&background=transparent&outline=77db27&outline_width=2" alt="報告" height="24" align="absmiddle">
最後に N 件のうち selector が記録した件数を<img src="https://mojiemoji.jozo.beer/emoji/%E5%A0%B1%E5%91%8A?font=toge&color=f472b6&animation=yokomoya&background=transparent&outline=77db27&outline_width=2" alt="報告" height="24" align="absmiddle">:
```
mojiemoji-propose: 5 件の候補語を selector に渡し、
5 件すべて usage.jsonl に追記しました。
次回 /bump-catalog で promotion 対象になります。
```
## オプション
- `--top N` — 処理する候補数<img src="https://mojiemoji.jozo.beer/emoji/%E4%B8%8A%E9%99%90?font=maru&color=3b82f6&animation=yokomoya&background=transparent&outline=f63b82&outline_width=2" alt="上限" height="24" align="absmiddle"> (default: 5)
- `--dry-run` — 候補リストだけ<img src="https://mojiemoji.jozo.beer/emoji/%E5%87%BA%E5%8A%9B?font=tamanegi&color=22c55e&animation=kage_bokashi&background=transparent&outline=5e22c5&outline_width=2" alt="出力" height="24" align="absmiddle">、selector 起動しない
- `--min-count N` — count >= N の候補だけ処理 (default: 1)
## <img src="https://mojiemoji.jozo.beer/emoji/%E5%89%AF?font=zero&color=60a5fa&animation=kage_bokashi&background=transparent&outline=fa60a5&outline_width=2" alt="副" height="24" align="absmiddle"><img src="https://mojiemoji.jozo.beer/emoji/%E4%BD%9C%E7%94%A8?font=zero&color=60a5fa&animation=kage_bokashi&background=transparent&outline=fa60a5&outline_width=2" alt="作用" height="24" align="absmiddle">
- `usage.jsonl` に N 件<img src="https://mojiemoji.jozo.beer/emoji/%E8%BF%BD%E8%A8%98?font=akzk&color=c084fc&animation=chirichiri&background=transparent&outline=fcc084&outline_width=2" alt="追記" height="24" align="absmiddle">される
- 次回 `/bump-catalog --dry-run` で<img src="https://mojiemoji.jozo.beer/emoji/%E6%96%B0%E8%A6%8F?font=toge&color=fb7185&animation=yoko_scroll&background=transparent&outline=85fb71&outline_width=2" alt="新規" height="24" align="absmiddle"> variant 候補として visible に
なる
## <img src="https://mojiemoji.jozo.beer/emoji/%E9%96%A2%E9%80%A3?font=kurobara&color=c084fc&animation=patapata&background=transparent&outline=fcc084&outline_width=2" alt="関連" height="24" align="absmiddle">
- #92 — <img src="https://mojiemoji.jozo.beer/emoji/%E6%A7%8B%E9%80%A0?font=maru&color=fb923c&animation=neruneru&background=transparent&outline=0cea58&outline_width=2" alt="構造" height="24" align="absmiddle"><img src="https://mojiemoji.jozo.beer/emoji/%E5%95%8F%E9%A1%8C?font=mincho&color=facc15&animation=zairu&background=transparent&outline=04ca8a&outline_width=2" alt="問題" height="24" align="absmiddle">の原 issue
- #93 — この skill 自体の implementation
- #46 — `bump-catalog` パイプライン (下流)
- `agents/mojiemoji-selector.md` — 起動先 subagent
- `skills/bump-catalog/SKILL.md` — promotion 段
No comments yet. Be the first to comment!