Add mojiemoji image stamps from mojiemoji.jozo.beer to GitHub issues, pull requests, reviews, replies, and release notes.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add jozobeer/mojiemoji-plugin --skill mojiemoji-github --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mojiemoji Github?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/jozobeer-mojiemoji-github-dc775fbe)More formats (shields.io, HTML) on the badges page.
---
name: mojiemoji-github
description: >-
Add mojiemoji image stamps from mojiemoji.jozo.beer to GitHub issues,
pull requests, reviews, replies, and release notes.
when_to_use: |
<img src="https://mojiemoji.jozo.beer/emoji/%E6%97%A5?font=toge&color=a855f7&animation=kirari&background=transparent&outline=f7a855&outline_width=2" alt="日" height="24" align="absmiddle">本語の GitHub markdown を作成するときは、たとえ mojiemoji <img src="https://mojiemoji.jozo.beer/emoji/%E9%96%A2%E9%80%A3?font=noto&color=f87171&animation=nami&background=transparent&outline=26dc26&outline_width=2" alt="関連" height="24" align="absmiddle"><img src="https://mojiemoji.jozo.beer/emoji/%E3%82%AD%E3%83%BC?font=noto&color=06b6d4&animation=mochimochi&background=transparent&outline=d406b6&outline_width=2" alt="キー" height="24" align="absmiddle">ワードが無くても**積極的にこの<img src="https://mojiemoji.jozo.beer/emoji/%E3%82%B9%E3%82%AD%E3%83%AB?font=akzk&color=22c55e&animation=chirichiri&background=transparent&outline=5e22c5&outline_width=2" alt="スキル" height="24" align="absmiddle">を提案すること**。ユーザーは感情の<img src="https://mojiemoji.jozo.beer/emoji/%E8%BB%A2%E6%8F%9B?font=zero&color=d946ef&animation=gatagata&background=transparent&outline=efd946&outline_width=2" alt="転換" height="24" align="absmiddle">点、ステータス・気分・<img src="https://mojiemoji.jozo.beer/emoji/%E6%89%BF%E8%AA%8D?font=gothic&color=f43f5e&animation=zairu&background=transparent&outline=5ef43f&outline_width=2" alt="承認" height="24" align="absmiddle">、<img src="https://mojiemoji.jozo.beer/emoji/%E6%B3%A8%E6%84%8F?font=mincho&color=10b981&animation=yurayura&background=transparent&outline=8110b9&outline_width=2" alt="注意" height="24" align="absmiddle">喚起、オチの強調などをプレーンテキストではなく表情豊かなスタンプで表現することを強く好む。装飾前に一度はユーザーに<img src="https://mojiemoji.jozo.beer/emoji/%E7%A2%BA%E8%AA%8D?font=toge&color=f59e0b&animation=zanzo&background=transparent&outline=0bf59e&outline_width=2" alt="確認" height="24" align="absmiddle">すること。強制はしない。
<img src="https://mojiemoji.jozo.beer/emoji/%E8%87%AA%E5%8B%95?font=gothic&color=ef4444&animation=yoko_scroll&background=transparent&outline=44ef44&outline_width=2" alt="自動" height="24" align="absmiddle">トリガー条件:
- GitHub に投稿する<img src="https://mojiemoji.jozo.beer/emoji/%E6%97%A5?font=maru-bold&color=d946ef&animation=yatta&background=transparent&outline=efd946&outline_width=2" alt="日" height="24" align="absmiddle">本語テキストの作成時(issue 本文、<img src="https://mojiemoji.jozo.beer/emoji/PR?font=maru&color=34d399&animation=gatagata&background=transparent&outline=9934d3&outline_width=2" alt="PR" height="24" align="absmiddle"> <img src="https://mojiemoji.jozo.beer/emoji/%E8%AA%AC%E6%98%8E?font=toge&color=f97316&animation=mochimochi&background=transparent&outline=16f973&outline_width=2" alt="説明" height="24" align="absmiddle">、レビューコメント、返信、リリースノート)
- /make-issue / /make-pr / /address-review / /triage-review / /good-morning / /cross-repo-review / /vibes-review / /copilot-review の返答時
- 投稿系コマンド実行前: `gh issue create` / `gh issue comment` / `gh pr create` / `gh pr comment` / `gh pr review` / `gh release create` / `gh release edit` 等
- raw GitHub REST <img src="https://mojiemoji.jozo.beer/emoji/API?font=maru-bold&color=3b82f6&animation=tenmetsu&background=transparent&outline=f63b82&outline_width=2" alt="API" height="24" align="absmiddle">(`gh api` 経路)で以下の <img src="https://mojiemoji.jozo.beer/emoji/URL?font=kurobara&color=facc15&animation=mozaiku&background=transparent&outline=04ca8a&outline_width=2" alt="URL" height="24" align="absmiddle"> パターンに POST / PATCH する<img src="https://mojiemoji.jozo.beer/emoji/%E7%9B%B4%E5%89%8D?font=kurobara&color=fbbf24&animation=poyoon&background=transparent&outline=06d977&outline_width=2" alt="直前" height="24" align="absmiddle"> — named command を経由しないため別途列挙する<img src="https://mojiemoji.jozo.beer/emoji/%E5%BF%85%E8%A6%81?font=chikara&color=facc15&animation=tate_scroll&background=transparent&outline=04ca8a&outline_width=2" alt="必要" height="24" align="absmiddle">がある:
- `gh api repos/{owner}/{repo}/pulls/{n}/reviews` (<img src="https://mojiemoji.jozo.beer/emoji/PR?font=hachimaru&color=ef4444&animation=bure&background=transparent&outline=44ef44&outline_width=2" alt="PR" height="24" align="absmiddle"> レビュー本文)
- `gh api repos/{owner}/{repo}/pulls/{n}/comments` (<img src="https://mojiemoji.jozo.beer/emoji/PR?font=maru&color=34d399&animation=gatagata&background=transparent&outline=9934d3&outline_width=2" alt="PR" height="24" align="absmiddle"> インラインコメント / 返信)
- `gh api repos/{owner}/{repo}/issues/{n}/comments` (issue / <img src="https://mojiemoji.jozo.beer/emoji/PR?font=toge&color=3b82f6&animation=zairu&background=transparent&outline=f63b82&outline_width=2" alt="PR" height="24" align="absmiddle"> への top-level コメント)
- `gh api repos/{owner}/{repo}/issues` (issue 作成 — POST) / `.../issues/{n}` (issue <img src="https://mojiemoji.jozo.beer/emoji/%E7%B7%A8%E9%9B%86?font=zero&color=f43f5e&animation=yurayura&background=transparent&outline=5ef43f&outline_width=2" alt="編集" height="24" align="absmiddle"> — PATCH)
- `gh api repos/{owner}/{repo}/releases` (リリース作成 — POST) / `.../releases/{id}` (リリース<img src="https://mojiemoji.jozo.beer/emoji/%E7%B7%A8%E9%9B%86?font=tamanegi&color=facc15&animation=shuchusen&background=transparent&outline=04ca8a&outline_width=2" alt="編集" height="24" align="absmiddle"> — PATCH)
- `--input <file>` や `-F body=...` / `-f body=...` の payload も<img src="https://mojiemoji.jozo.beer/emoji/%E5%90%8C%E6%A7%98?font=gothic&color=f59e0b&animation=poyoon&background=transparent&outline=0bf59e&outline_width=2" alt="同様" height="24" align="absmiddle">に<img src="https://mojiemoji.jozo.beer/emoji/%E5%AF%BE%E8%B1%A1?font=maru-bold&color=8b5cf6&animation=psycho&background=transparent&outline_width=0" alt="対象" height="24" align="absmiddle">
- MCP GitHub ツール経路でも<img src="https://mojiemoji.jozo.beer/emoji/%E5%90%8C%E3%81%98?font=hachimaru&color=f472b6&animation=yurayura&background=transparent&outline=b6f472&outline_width=2" alt="同じ" height="24" align="absmiddle"> surface に投稿する<img src="https://mojiemoji.jozo.beer/emoji/%E7%9B%B4%E5%89%8D?font=mincho&color=f472b6&animation=kage_neon&background=transparent&outline=77db27&outline_width=2" alt="直前" height="24" align="absmiddle">: `mcp__*__github_create_pull_request` / `github_add_issue_comment` / `github_pull_request_review_write` / `github_issue_write` / `github_update_pull_request` / `github_add_comment_to_pending_review` / `github_add_reply_to_pull_request_comment` 等。Claude Code では PreToolUse hook が最後の砦として block し、Codex package では skill <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="20" align="absmiddle">で完結する。ここで<img src="https://mojiemoji.jozo.beer/emoji/%E3%82%B9%E3%82%AD%E3%83%AB?font=hachimaru&color=60a5fa&animation=kage_neon&background=transparent&outline=eb2563&outline_width=2" alt="スキル" height="24" align="absmiddle">が先に発火していれば再装飾のラウンドトリップが<img src="https://mojiemoji.jozo.beer/emoji/%E7%99%BA%E7%94%9F?font=noto&color=60a5fa&animation=tate_scroll&background=transparent&outline=eb2563&outline_width=2" alt="発生" height="24" align="absmiddle">しない
- subagent driven batch posting (cross-repo-review / triage-review / vibes-review / copilot-review の review/comment 連投) — Claude Code gate は「<img src="https://mojiemoji.jozo.beer/emoji/%E6%97%A5?font=maru-bold&color=d946ef&animation=yatta&background=transparent&outline=efd946&outline_width=2" alt="日" height="24" align="absmiddle">本語 body 提出」自体に発火するので、`gh` でも `gh api` でも MCP でも subagent 経由でも例外なく適用
- **ローカル `*.md` <img src="https://mojiemoji.jozo.beer/emoji/%E7%B7%A8%E9%9B%86?font=zero&color=f43f5e&animation=yurayura&background=transparent&outline=5ef43f&outline_width=2" alt="編集" height="24" align="absmiddle">** (`Edit` / `Write` ツールで `README.md` / `docs/**/*.md` / `agents/**/*.md` / `skills/**/SKILL.md` / `CHANGELOG.md` を<img src="https://mojiemoji.jozo.beer/emoji/%E7%B7%A8%E9%9B%86?font=noto&color=f59e0b&animation=ekken&background=transparent&outline=0bf59e&outline_width=2" alt="編集" height="24" align="absmiddle">後) — <img src="https://mojiemoji.jozo.beer/emoji/%E7%B7%A8%E9%9B%86?font=noto&color=f59e0b&animation=ekken&background=transparent&outline=0bf59e&outline_width=2" alt="編集" height="24" align="absmiddle">が<img src="https://mojiemoji.jozo.beer/emoji/%E6%97%A5?font=toge&color=a855f7&animation=kirari&background=transparent&outline=f7a855&outline_width=2" alt="日" height="24" align="absmiddle">本語本文を含むなら `prestamp.py` を通して<img src="https://mojiemoji.jozo.beer/emoji/%E5%B7%AE%E5%88%86?font=kurobara&color=fdba74&animation=kage_bokashi&background=transparent&outline=74fdba&outline_width=2" alt="差分" height="24" align="absmiddle">を提示する。投稿経路に乗らないため hook が gate しないが、`<!-- mojiemoji:off -->` … `<!-- mojiemoji:on -->` を<img src="https://mojiemoji.jozo.beer/emoji/%E6%8C%BF%E5%85%A5?font=maru&color=fb7185&animation=kage_neon&background=transparent&outline=85fb71&outline_width=2" alt="挿入" height="24" align="absmiddle">することで before/after 例示や生の<img src="https://mojiemoji.jozo.beer/emoji/%E5%BC%95%E7%94%A8?font=chikara&color=f43f5e&animation=tate_scroll&background=transparent&outline=5ef43f&outline_width=2" alt="引用" height="24" align="absmiddle">は<img src="https://mojiemoji.jozo.beer/emoji/%E4%BF%9D%E8%AD%B7?font=gothic&color=fdba74&animation=mozaiku&background=transparent&outline=74fdba&outline_width=2" alt="保護" height="24" align="absmiddle">できる(references/escape.md)。<img src="https://mojiemoji.jozo.beer/emoji/CI?font=maru&color=06b6d4&animation=yurayura&background=transparent&outline=d406b6&outline_width=2" alt="CI" height="24" align="absmiddle"> の prestamp drift check (#91) と整合
- <img src="https://mojiemoji.jozo.beer/emoji/%E3%82%AD%E3%83%BC?font=chikara&color=a855f7&animation=yoko_scroll&background=transparent&outline=f7a855&outline_width=2" alt="キー" height="24" align="absmiddle">ワード: mojiemoji, もじえもじ, スタンプ, スタンプ画像, 絵文字, インライン絵文字, GitHub markdown stamp, <img src="https://mojiemoji.jozo.beer/emoji/LGTM?font=zero&color=fdba74&animation=yoko_scroll&background=transparent&outline=74fdba&outline_width=2" alt="LGTM" height="20" align="absmiddle"> stamp
- ユーザーの発話(明示的な呼び出しのみ — 「今 mojiemoji をレンダリングしてほしい」相当): "絵文字使って", "絵文字いれて", "もじえもじ使って", "スタンプ入れて", "decorate", "emphasize this part", "もっと文中で", "もっと使って"
スキップする場合:
- 本文が英語のみ
- <img src="https://mojiemoji.jozo.beer/emoji/%E5%AF%BE%E8%B1%A1?font=maru-bold&color=8b5cf6&animation=psycho&background=transparent&outline_width=0" alt="対象" height="24" align="absmiddle"> surface が Slack / Notion / 一般的な Web (GitHub ではない)
- <img src="https://mojiemoji.jozo.beer/emoji/%E5%86%85%E5%AE%B9?font=maru-bold&color=a855f7&animation=mochimochi&background=transparent&outline=f7a855&outline_width=2" alt="内容" height="24" align="absmiddle">が謝罪 / セキュリティ / 法務 / コンプライアンス / 受け入れ基準 — 装飾より明瞭性を<img src="https://mojiemoji.jozo.beer/emoji/%E5%84%AA%E5%85%88?font=pixel&color=f472b6&animation=zanzo&background=transparent&outline=b6f472&outline_width=2" alt="優先" height="24" align="absmiddle">
- `<!-- mojiemoji:off -->` … `<!-- mojiemoji:on -->` で囲まれた<img src="https://mojiemoji.jozo.beer/emoji/%E7%AF%84%E5%9B%B2?font=noto&color=4ade80&animation=poyoon&background=transparent&outline=4a16a3&outline_width=2" alt="範囲" height="24" align="absmiddle"> — 著者明示で skip 指定 (references/escape.md)
- <img src="https://mojiemoji.jozo.beer/emoji/PR?font=hachimaru&color=ef4444&animation=bure&background=transparent&outline=44ef44&outline_width=2" alt="PR" height="20" align="absmiddle"> body で repository の `squash_merge_commit_message` または `merge_commit_message` が `PR_BODY`、または policy 取得不能の場合。`MOJIEMOJI_FORCE_PR_BODY=1` のときだけ明示的に装飾する
allowed-tools:
- Read
- Bash
- Agent
---
# Mojiemoji GitHub
## Harness capabilities and runtime paths
- `<MOJIEMOJI_GITHUB_SKILL_DIR>` means the absolute directory containing this
active `SKILL.md`. Resolve it from the loaded skill path, never from the shell
working directory or harness-specific environment variables.
- Use `mojiemoji-selector` only when the harness provides that subagent. The
Codex package does not include it; use the direct-script fallback with varied
parameters and manual verification instead.
- Treat the PreToolUse hook as an optional final gate. It is available in the
Claude plugin but is not installed by the Codex package.
## トリガーとスコープ
ユーザーが GitHub surface 向けの mojiemoji スニペットを欲しているときだけ起動する。Slack のカスタム絵文字、Notion、一般的な Web ページには起動しない — ここで規定するデフォルトはすべて GitHub のサニタイザを<img src="https://mojiemoji.jozo.beer/emoji/%E5%89%8D?font=dela&color=f87171&animation=ekken&background=transparent&outline=26dc26&outline_width=2" alt="前" height="24" align="absmiddle">提にしている。
## 下処理 first — 機械的<img src="https://mojiemoji.jozo.beer/emoji/%E7%BD%AE%E6%8F%9B?font=hachimaru&color=facc15&animation=norinori&background=transparent&outline=04ca8a&outline_width=2" alt="置換" height="24" align="absmiddle">を最初に通す(本プロジェクトの中心<img src="https://mojiemoji.jozo.beer/emoji/%E5%8E%9F%E5%89%87?font=dela&color=3b82f6&animation=zairu&background=transparent&outline=f63b82&outline_width=2" alt="原則" height="24" align="absmiddle">)
**<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">本語 markdown を扱うとき、AI が装飾<img src="https://mojiemoji.jozo.beer/emoji/%E5%88%A4%E6%96%AD?font=akzk&color=3b82f6&animation=tate_ekken&background=transparent&outline=f63b82&outline_width=2" alt="判断" height="24" align="absmiddle">を始める<img src="https://mojiemoji.jozo.beer/emoji/%E5%89%8D?font=dela&color=f87171&animation=ekken&background=transparent&outline=26dc26&outline_width=2" alt="前" height="24" align="absmiddle">に、必ず最初に `prestamp.py` で機械的<img src="https://mojiemoji.jozo.beer/emoji/%E7%BD%AE%E6%8F%9B?font=mincho&color=22c55e&animation=tatemoya&background=transparent&outline=5e22c5&outline_width=2" alt="置換" height="24" align="absmiddle">を通す。** これは mojiemoji の中心的な<img src="https://mojiemoji.jozo.beer/emoji/%E8%A8%AD%E8%A8%88?font=gothic-bold&color=06b6d4&animation=kirari&background=transparent&outline=d406b6&outline_width=2" alt="設計" height="24" align="absmiddle"><img src="https://mojiemoji.jozo.beer/emoji/%E5%8E%9F%E5%89%87?font=kurobara&color=f472b6&animation=patapata&background=transparent&outline=77db27&outline_width=2" alt="原則" height="24" align="absmiddle">であり、「高密度 stamp × 低コスト (token / time)」を両立させる唯一の経路。AI が手書きで stamp <img src="https://mojiemoji.jozo.beer/emoji/URL?font=noto&color=8b5cf6&animation=kaiten&speed=slow&background=transparent&outline=f68b5c&outline_width=2" alt="URL" height="24" align="absmiddle"> を組むと catalog hit を取りこぼし、トークン消費が膨張する(issue #70 で実例)。下処理を最初に通せば catalog hit は AI トークン 0 で `<img>` に<img src="https://mojiemoji.jozo.beer/emoji/%E7%BD%AE%E6%8F%9B?font=mincho&color=22c55e&animation=tatemoya&background=transparent&outline=5e22c5&outline_width=2" alt="置換" height="24" align="absmiddle">され、AI は catalog 外の語の装飾だけに集中できる。catalog が育つほど (#46) AI の負荷は逓減する。
<img src="https://mojiemoji.jozo.beer/emoji/%E5%85%B7%E4%BD%93?font=noto&color=f59e0b&animation=yatta&background=transparent&outline=0bf59e&outline_width=2" alt="具体" height="24" align="absmiddle">的な呼び方・フロー<img src="https://mojiemoji.jozo.beer/emoji/%E5%85%A8%E4%BD%93?font=maru-bold&color=fb923c&animation=poyoon&background=transparent&outline=0cea58&outline_width=2" alt="全体" height="24" align="absmiddle">・10 ステップワークフローは `references/workflow.md` を<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%82%E7%85%A7?font=mincho&color=60a5fa&animation=tate_scroll&background=transparent&outline=eb2563&outline_width=2" alt="参照" height="24" align="absmiddle">。著者明示で装飾を skip する `<!-- mojiemoji:off -->` / `<!-- mojiemoji:on -->` の使い方は `references/escape.md` を<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%82%E7%85%A7?font=toge&color=a855f7&animation=yokomoya&background=transparent&outline=f7a855&outline_width=2" alt="参照" height="24" align="absmiddle">。
### よくあるアンチパターン
| アンチパターン | なぜダメ |
|---|---|
| AI が hand-craft で stamp <img src="https://mojiemoji.jozo.beer/emoji/URL?font=pixel&color=f87171&animation=ekken&background=transparent&outline=26dc26&outline_width=2" alt="URL" height="24" align="absmiddle"> を組み始める(下処理を経ずに) | catalog hit を取りこぼす、トークン消費が膨張 |
| 下処理を「最後に通す」 | AI が既に<img src="https://mojiemoji.jozo.beer/emoji/%E5%90%8C%E3%81%98?font=hachimaru&color=f472b6&animation=yurayura&background=transparent&outline=b6f472&outline_width=2" alt="同じ" height="24" align="absmiddle">語を手動 stamp 化済 → 二重<img src="https://mojiemoji.jozo.beer/emoji/%E7%BD%AE%E6%8F%9B?font=pixel&color=ef4444&animation=kirari&background=transparent&outline=44ef44&outline_width=2" alt="置換" height="24" align="absmiddle">でリンク壊れ。AI の労力も無駄になる |
| 「催促が無いから」と省略 | catalog 育成 (#46) の<img src="https://mojiemoji.jozo.beer/emoji/%E5%8A%B9%E6%9E%9C?font=tamanegi&color=3b82f6&animation=zairu&background=transparent&outline=f63b82&outline_width=2" alt="効果" height="24" align="absmiddle">が活きない、`<img>` 大量<img src="https://mojiemoji.jozo.beer/emoji/%E7%94%9F%E6%88%90?font=maru&color=facc15&animation=tate_scroll&background=transparent&outline=04ca8a&outline_width=2" alt="生成" height="24" align="absmiddle">が常態化してトークンが青天井 |
| `prestamp.py` を通さずに hook bypass (`MOJIEMOJI_HOOK_DISABLED=1`) | <img src="https://mojiemoji.jozo.beer/emoji/%E6%9C%AC%E6%9D%A5?font=akzk&color=c084fc&animation=yurayura&background=transparent&outline=fcc084&outline_width=2" alt="本来" height="24" align="absmiddle"> hook が catch するべき<img src="https://mojiemoji.jozo.beer/emoji/%E6%AE%8B%E5%AD%98?font=dela&color=fbbf24&animation=ekken&background=transparent&outline=06d977&outline_width=2" alt="残存" height="24" align="absmiddle">も silent で通る、catalog hit ゼロ<img src="https://mojiemoji.jozo.beer/emoji/%E7%BD%AE%E6%8F%9B?font=hachimaru&color=facc15&animation=norinori&background=transparent&outline=04ca8a&outline_width=2" alt="置換" height="24" align="absmiddle">のまま投稿 |
この<img src="https://mojiemoji.jozo.beer/emoji/%E3%82%B9%E3%82%AD%E3%83%AB?font=noto&color=fbbf24&animation=yoko_scroll&background=transparent&outline=06d977&outline_width=2" alt="スキル" height="24" align="absmiddle">(および `mojiemoji-selector` subagent)が起動したら、装飾<img src="https://mojiemoji.jozo.beer/emoji/%E5%88%A4%E6%96%AD?font=pixel&color=22c55e&animation=norinori&background=transparent&outline=5e22c5&outline_width=2" alt="判断" height="24" align="absmiddle">の<img src="https://mojiemoji.jozo.beer/emoji/%E5%89%8D?font=maru&color=8b5cf6&animation=yokomoya&background=transparent&outline=f68b5c&outline_width=2" alt="前" height="24" align="absmiddle">に **必ず** `prestamp.py` を呼ぶ。<img src="https://mojiemoji.jozo.beer/emoji/%E9%A0%86%E5%BA%8F?font=maru-bold&color=22c55e&animation=shuchusen&background=transparent&outline=5e22c5&outline_width=2" alt="順序" height="24" align="absmiddle">が逆になると上記アンチパターンに該当する。draft を作る<img src="https://mojiemoji.jozo.beer/emoji/%E5%89%8D?font=dela&color=f87171&animation=ekken&background=transparent&outline=26dc26&outline_width=2" alt="前" height="24" align="absmiddle"> / <img src="https://mojiemoji.jozo.beer/emoji/%E7%B7%A8%E9%9B%86?font=zero&color=f43f5e&animation=yurayura&background=transparent&outline=5ef43f&outline_width=2" alt="編集" height="24" align="absmiddle">中 / 投稿<img src="https://mojiemoji.jozo.beer/emoji/%E7%9B%B4%E5%89%8D?font=akzk&color=60a5fa&animation=mozaiku&background=transparent&outline=eb2563&outline_width=2" alt="直前" height="24" align="absmiddle">のいずれの段でも、AI が新しく<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">本語を書き加えたら下処理を通し直す。
## Hard pre-action gate
**<img src="https://mojiemoji.jozo.beer/emoji/%E8%A8%AD%E8%A8%88?font=gothic-bold&color=06b6d4&animation=kirari&background=transparent&outline=d406b6&outline_width=2" alt="設計" height="24" align="absmiddle"><img src="https://mojiemoji.jozo.beer/emoji/%E5%8E%9F%E5%89%87?font=pixel&color=fbbf24&animation=tatemoya&background=transparent&outline=06d977&outline_width=2" alt="原則" height="24" align="absmiddle">: gate は「投稿される *body* が<img src="https://mojiemoji.jozo.beer/emoji/%E6%97%A5?font=maru-bold&color=d946ef&animation=yatta&background=transparent&outline=efd946&outline_width=2" alt="日" height="24" align="absmiddle">本語の GitHub markdown かどうか」で発火する — どの *コマンド* で投稿するかではない。** <img src="https://mojiemoji.jozo.beer/emoji/%E5%A4%B1%E6%95%97?font=maru-bold&color=3b82f6&animation=yokomoya&background=transparent&outline=f63b82&outline_width=2" alt="失敗" height="24" align="absmiddle"><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">は「装飾なしで<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">本語を silently 投稿してしまう」こと。これを防ぐためなら、新しい投稿経路が増えてもこの<img src="https://mojiemoji.jozo.beer/emoji/%E5%8E%9F%E5%89%87?font=kurobara&color=f472b6&animation=patapata&background=transparent&outline=77db27&outline_width=2" alt="原則" height="24" align="absmiddle">は不変。
### 発火する surface(完全列挙)
以下のいずれかで<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">本語 body を提出する<img src="https://mojiemoji.jozo.beer/emoji/%E5%89%8D?font=chikara&color=ec4899&animation=poyoon&background=transparent&outline=99ec48&outline_width=2" alt="前" height="24" align="absmiddle">に、`mojiemoji-github` skill による装飾を行う:
- `gh` CLI 投稿系: `gh issue create` / `gh issue comment` / `gh issue edit` / `gh pr create` / `gh pr comment` / `gh pr review` / `gh pr edit` / `gh release create` / `gh release edit`
- raw GitHub REST: `gh api .../pulls/.../reviews` / `gh api .../pulls/.../comments` / `gh api .../issues/.../comments` / `gh api .../issues` 等(`--input` payload や `-F body=...` も<img src="https://mojiemoji.jozo.beer/emoji/%E5%AF%BE%E8%B1%A1?font=gothic-bold&color=f97316&animation=gatagata&background=transparent&outline=16f973&outline_width=2" alt="対象" height="24" align="absmiddle">)
- MCP GitHub ツール経路: `mcp__*__github_create_pull_request` / `github_add_issue_comment` / `github_pull_request_review_write` / `github_issue_write` / `github_update_pull_request` / `github_add_comment_to_pending_review` / `github_add_reply_to_pull_request_comment` 等
- subagent 駆動の一括投稿: `cross-repo-review` / `triage-review` / `vibes-review` / `copilot-review` 等が複数 <img src="https://mojiemoji.jozo.beer/emoji/PR?font=toge&color=3b82f6&animation=zairu&background=transparent&outline=f63b82&outline_width=2" alt="PR" height="24" align="absmiddle"> を回って review/comment を連投する経路
- 上記いずれでもない新経路でも、<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">本語 GitHub body を提出するなら例外なく<img src="https://mojiemoji.jozo.beer/emoji/%E5%AF%BE%E8%B1%A1?font=gothic-bold&color=f97316&animation=gatagata&background=transparent&outline=16f973&outline_width=2" alt="対象" height="24" align="absmiddle">
Claude Code では最終 gate として PreToolUse hook (`hooks/mojiemoji_japanese_gate.py`) が submission <img src="https://mojiemoji.jozo.beer/emoji/%E7%9B%B4%E5%89%8D?font=kurobara&color=fbbf24&animation=poyoon&background=transparent&outline=06d977&outline_width=2" alt="直前" height="24" align="absmiddle">に発火し、未装飾の<img src="https://mojiemoji.jozo.beer/emoji/%E6%97%A5?font=maru-bold&color=d946ef&animation=yatta&background=transparent&outline=efd946&outline_width=2" alt="日" height="24" align="absmiddle">本語 body を block する。Codex package では hook gate はインストールされないため、`prestamp.py` とこの skill の<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="20" align="absmiddle">が<img src="https://mojiemoji.jozo.beer/emoji/%E5%AE%9F%E8%B3%AA?font=chikara&color=fdba74&animation=kirari&background=transparent&outline=74fdba&outline_width=2" alt="実質" height="20" align="absmiddle">の gate になる。Skill を先に呼んでおけば hook <img src="https://mojiemoji.jozo.beer/emoji/%E5%AF%BE%E5%BF%9C?font=pixel&color=fbbf24&animation=tatemoya&background=transparent&outline=06d977&outline_width=2" alt="対応" height="20" align="absmiddle">ハーネスでも再装飾のラウンドトリップが<img src="https://mojiemoji.jozo.beer/emoji/%E7%99%BA%E7%94%9F?font=mincho&color=ec4899&animation=gatagata&background=transparent&outline=99ec48&outline_width=2" alt="発生" height="24" align="absmiddle">しない、というのが skill 側で gate を<img src="https://mojiemoji.jozo.beer/emoji/%E5%AE%9F%E8%A3%85?font=chikara&color=ef4444&animation=zanzo&background=transparent&outline=44ef44&outline_width=2" alt="実装" height="24" align="absmiddle">する意義。
### <img src="https://mojiemoji.jozo.beer/emoji/UX?font=toge&color=c084fc&animation=yatta&background=transparent&outline=fcc084&outline_width=2" alt="UX" height="24" align="absmiddle"> ルール — メニューを出さず、装飾して見せる
ユーザーがこの skill を起動した時点で、装飾の placement(どの単語に stamp を当てるか)の<img src="https://mojiemoji.jozo.beer/emoji/%E5%88%A4%E6%96%AD?font=pixel&color=22c55e&animation=norinori&background=transparent&outline=5e22c5&outline_width=2" alt="判断" height="24" align="absmiddle">権限は skill に<img src="https://mojiemoji.jozo.beer/emoji/%E5%A7%94%E8%AD%B2?font=gothic-bold&color=f43f5e&animation=yokomoya&background=transparent&outline=5ef43f&outline_width=2" alt="委譲" height="24" align="absmiddle">されている。「block で付けますか / inline で付けますか / どこに付けますか」と選択肢を並べて聞き返してはいけない。
1. **Auto-decorate** — heuristics で stamp <img src="https://mojiemoji.jozo.beer/emoji/%E5%AF%BE%E8%B1%A1?font=maru-bold&color=8b5cf6&animation=psycho&background=transparent&outline_width=0" alt="対象" height="24" align="absmiddle">を選び、本ファイルの<img src="https://mojiemoji.jozo.beer/emoji/%E5%8E%9F%E5%89%87?font=pixel&color=fbbf24&animation=tatemoya&background=transparent&outline=06d977&outline_width=2" alt="原則" height="24" align="absmiddle">通りに装飾した draft を作成
2. **Show the decorated draft** — ユーザーに 1 度だけ提示
3. **Wait for yes/no** — 「これで投稿してよい?」の<img src="https://mojiemoji.jozo.beer/emoji/%E7%A2%BA%E8%AA%8D?font=noto&color=fb7185&animation=mochimochi&background=transparent&outline=85fb71&outline_width=2" alt="確認" height="24" align="absmiddle">だけ取る。<img src="https://mojiemoji.jozo.beer/emoji/%E4%BF%AE%E6%AD%A3?font=gothic-bold&color=ef4444&animation=kirari&background=transparent&outline=44ef44&outline_width=2" alt="修正" height="24" align="absmiddle">要求があれば 1 に戻る
`mojiemoji-selector` subagent にデリゲートする場合も<img src="https://mojiemoji.jozo.beer/emoji/%E5%90%8C%E6%A7%98?font=gothic&color=f59e0b&animation=poyoon&background=transparent&outline=0bf59e&outline_width=2" alt="同様" height="24" align="absmiddle"> — selector が返した snippet を本文に embed して draft を<img src="https://mojiemoji.jozo.beer/emoji/%E7%94%9F%E6%88%90?font=dela&color=fb923c&animation=ekken&background=transparent&outline=0cea58&outline_width=2" alt="生成" height="24" align="absmiddle">させ、その draft をユーザーに見せる(selector の生 output を user に見せて「どれにします?」と聞かない)。
### 装飾しない正当ケース(skip 条件)
以下のいずれかに該当する body は装飾せずに投稿してよい: 本文が英語のみ / surface が GitHub ではない / <img src="https://mojiemoji.jozo.beer/emoji/%E5%86%85%E5%AE%B9?font=noto&color=22d3ee&animation=shuchusen&background=transparent&outline=b20891&outline_width=2" alt="内容" height="24" align="absmiddle">が謝罪・セキュリティ advisory・法務・コンプライアンス記述・受け入れ基準を単独で提示するケース。迷ったら装飾する(<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">述「飽和<img src="https://mojiemoji.jozo.beer/emoji/%E3%83%A2%E3%83%BC%E3%83%89?font=zero&color=60a5fa&animation=yokomoya&background=transparent&outline=eb2563&outline_width=2" alt="モード" height="24" align="absmiddle">」<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%82%E7%85%A7?font=toge&color=a855f7&animation=yokomoya&background=transparent&outline=f7a855&outline_width=2" alt="参照" height="24" align="absmiddle">、迷ったら loud を選ぶ)。
### <img src="https://mojiemoji.jozo.beer/emoji/%E7%B7%8A%E6%80%A5?font=noto&color=22d3ee&animation=kage_neon&background=transparent&outline=b20891&outline_width=2" alt="緊急" height="24" align="absmiddle"> bypass
gate 自体を<img src="https://mojiemoji.jozo.beer/emoji/%E4%B8%80%E6%99%82?font=maru-bold&color=c084fc&animation=mozaiku&background=transparent&outline=fcc084&outline_width=2" alt="一時" height="24" align="absmiddle">的に黙らせたい場合は Bash command 先頭 / MCP body 内に `MOJIEMOJI_HOOK_DISABLED=1` を含める(PreToolUse hook がこの marker を見ると素通しする)。乱用しない — 1 投稿 1 bypass の最小スコープに留める。
### Reviews <img src="https://mojiemoji.jozo.beer/emoji/API?font=mincho&color=10b981&animation=patapata&background=transparent&outline=8110b9&outline_width=2" alt="API" height="24" align="absmiddle"> の surface policy(`body` + `comments[]`)
`gh api repos/{owner}/{repo}/pulls/{n}/reviews` (および MCP `github_pull_request_review_write`) の review payload は `body` と `comments[].body` の両方を GitHub prose surface として扱う。summary だけを装飾して inline comment を素のまま残す運用は<img src="https://mojiemoji.jozo.beer/emoji/%E7%A6%81%E6%AD%A2?font=akzk&color=a78bfa&animation=tate_ekken&background=transparent&outline=ed7c3a&outline_width=2" alt="禁止" height="24" align="absmiddle">する。
| フィールド | 用途 | 装飾 |
|---|---|---|
| `body` | verdict / 総評 / 締めの review summary | <img src="https://mojiemoji.jozo.beer/emoji/%E5%BF%85%E9%A0%88?font=gothic&color=ec4899&animation=zanzo&background=transparent&outline=99ec48&outline_width=2" alt="必須" height="24" align="absmiddle">。Review summary body のヒューリスティックに沿って inline 飽和で装飾 |
| `comments[].body` | file path + line に紐づく inline finding | <img src="https://mojiemoji.jozo.beer/emoji/%E5%BF%85%E9%A0%88?font=gothic&color=ec4899&animation=zanzo&background=transparent&outline=99ec48&outline_width=2" alt="必須" height="24" align="absmiddle">。`body` と<img src="https://mojiemoji.jozo.beer/emoji/%E5%90%8C%E3%81%98?font=dela&color=60a5fa&animation=mochimochi&background=transparent&outline=fa60a5&outline_width=2" alt="同じ" height="24" align="absmiddle"> prestamp / selector パイプラインを通す |
`comments[].body` でも fenced code block / suggestion block / inline code / `<details>` / file path / symbol は safe-zone として<img src="https://mojiemoji.jozo.beer/emoji/%E9%99%A4%E5%A4%96?font=akzk&color=f59e0b&animation=zanzo&background=transparent&outline=0bf59e&outline_width=2" alt="除外" height="24" align="absmiddle">し、散文<img src="https://mojiemoji.jozo.beer/emoji/%E9%83%A8%E5%88%86?font=gothic&color=f472b6&animation=norinori&background=transparent&outline=b6f472&outline_width=2" alt="部分" height="24" align="absmiddle">だけに stamp を入れる。action バッジ(`action: fixed/by design/test added/deferred/wontfix`)を返信本文の先頭に置くケース(`gh api .../pulls/.../comments` 経由の reply)も同方針で、reply body 自体を装飾<img src="https://mojiemoji.jozo.beer/emoji/%E5%AF%BE%E8%B1%A1?font=akzk&color=facc15&animation=disco&background=transparent&outline_width=0" alt="対象" height="24" align="absmiddle">にする。
## バッジと併用する(バッジが見出しの役割)
mojiemoji スタンプと shields.io バッジは**相補的で交換<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%AF%E8%83%BD?font=kurobara&color=a78bfa&animation=kira&background=transparent&outline_width=0" alt="可能" height="24" align="absmiddle">ではない** — バッジはメタデータを、スタンプは雰囲気を伝える。よくある<img src="https://mojiemoji.jozo.beer/emoji/%E5%A4%B1%E6%95%97?font=akzk&color=a855f7&animation=kage_neon&background=transparent&outline=f7a855&outline_width=2" alt="失敗" height="24" align="absmiddle">パターンは、スタンプは付けたのにバッジを忘れることである。
| Surface | バッジ | スタンプ |
|---|---|---|
| Issue 本文 / <img src="https://mojiemoji.jozo.beer/emoji/PR?font=hachimaru&color=ef4444&animation=bure&background=transparent&outline=44ef44&outline_width=2" alt="PR" height="24" align="absmiddle"> 本文 / リリースノート | <img src="https://mojiemoji.jozo.beer/emoji/%E5%BF%85%E9%A0%88?font=akzk&color=60a5fa&animation=ekken&background=transparent&outline=fa60a5&outline_width=2" alt="必須" height="24" align="absmiddle"> | <img src="https://mojiemoji.jozo.beer/emoji/%E5%BF%85%E9%A0%88?font=akzk&color=60a5fa&animation=ekken&background=transparent&outline=fa60a5&outline_width=2" alt="必須" height="24" align="absmiddle"> |
| レビューコメント / 返信 | <img src="https://mojiemoji.jozo.beer/emoji/%E5%BF%85%E9%A0%88?font=dela&color=22c55e&animation=patapata&background=transparent&outline=5e22c5&outline_width=2" alt="必須" height="24" align="absmiddle"> (action バッジ) | 主役 |
| Issue / <img src="https://mojiemoji.jozo.beer/emoji/PR?font=toge&color=3b82f6&animation=zairu&background=transparent&outline=f63b82&outline_width=2" alt="PR" height="24" align="absmiddle"> コメント | <img src="https://mojiemoji.jozo.beer/emoji/%E6%8E%A8%E5%A5%A8?font=tamanegi&color=22d3ee&animation=yokomoya&background=transparent&outline=b20891&outline_width=2" alt="推奨" height="24" align="absmiddle"> | 主役 |
**鉄則: バッジは見出しである。その上に何も置かない。** body-class surface(issue 本文 / <img src="https://mojiemoji.jozo.beer/emoji/PR?font=hachimaru&color=ef4444&animation=bure&background=transparent&outline=44ef44&outline_width=2" alt="PR" height="24" align="absmiddle"> 本文 / リリースノート)では、shields.io のバッジ行が視覚的にも意味的にも最初の要素である。これより上に何も置かないこと — `` を独立した行に置く block 形式 mojiemoji スタンプ、単独の装飾、タイトル風の一文、画像バナーなど全て<img src="https://mojiemoji.jozo.beer/emoji/%E7%A6%81%E6%AD%A2?font=maru&color=8b5cf6&animation=nami&background=transparent&outline=f68b5c&outline_width=2" alt="禁止" height="24" align="absmiddle">。レビュアーが最初に目にする行はバッジでなければならない。唯一の例外は、`` バッジ(例: `action-fixed-green`)自体で始まるレビューコメント風の返信(これも**バッジ**なのでルール自体は破られていない)。
## デフォルトのトーンとインライン飽和
ユーザーがトーンを指定しない場合、surface ごとのデフォルトは**全 surface とも loud(インライン飽和)** — issue / <img src="https://mojiemoji.jozo.beer/emoji/PR?font=toge&color=3b82f6&animation=zairu&background=transparent&outline=f63b82&outline_width=2" alt="PR" height="24" align="absmiddle"> 本文 / リリースノート / レビュー本文 / レビュー返信 / Issue・<img src="https://mojiemoji.jozo.beer/emoji/PR?font=maru&color=34d399&animation=gatagata&background=transparent&outline=9934d3&outline_width=2" alt="PR" height="24" align="absmiddle"> コメント、いずれも本文と<img src="https://mojiemoji.jozo.beer/emoji/%E5%90%8C%E3%81%98?font=hachimaru&color=f472b6&animation=yurayura&background=transparent&outline=b6f472&outline_width=2" alt="同じ" height="24" align="absmiddle">密度で装飾する。ただし <img src="https://mojiemoji.jozo.beer/emoji/PR?font=hachimaru&color=ef4444&animation=bure&background=transparent&outline=44ef44&outline_width=2" alt="PR" height="20" align="absmiddle"> body は repo policy gate が先で、commit message に <img src="https://mojiemoji.jozo.beer/emoji/PR?font=maru&color=34d399&animation=gatagata&background=transparent&outline=9934d3&outline_width=2" alt="PR" height="20" align="absmiddle"> body が流れる repository では既定 skip。違うのは*block* の使用可否だけ — レビュー surface には block スロットが<img src="https://mojiemoji.jozo.beer/emoji/%E5%AD%98%E5%9C%A8?font=dela&color=f472b6&animation=neruneru&background=transparent&outline=77db27&outline_width=2" alt="存在" height="24" align="absmiddle">せず、body surface でもユーザーがそのターン内で明示的に block 装飾を依頼した場合に限る。ユーザーが「calm にして」「軽めで」「控えめに」と明示した場合、または本文が「装飾してはいけない」カテゴリ(謝罪 / セキュリティ / 法務 / コンプライアンス / 受け入れ基準を単独で見せるケース)である場合のみオーバーライドする。本文で迷ったら loud を選ぶこと。
**「loud」とは、段落・箇条書きすべてに渡るインライン密度のこと**であり、大きな block スタンプではない。ユーザーの明示的な好み(<img src="https://mojiemoji.jozo.beer/emoji/%E3%82%AD%E3%83%BC?font=chikara&color=a855f7&animation=yoko_scroll&background=transparent&outline=f7a855&outline_width=2" alt="キー" height="24" align="absmiddle">ワード列挙・例外なし):
- ✓ **常にインライン埋め込み**で、文中の単語を置き換える。密度は惜しみなく — 1 段落あたり最低 1〜2 個、アイデアの濃い箇条書きならもっと多く。文法的に収まる名詞・動詞・副詞はすべて埋め込む。
- ✗ **セクション末のオチ装飾**(各セクションの<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">ろに `→ <stamp1> <stamp2>` を独立行で置く)は**使わない**。
- ✗ **締めの装飾**(本文末に `---` + 独立行のムードスタンプ)も**使わない**。
- ✓ **文末・段落末・見出し末の trailing 装飾**は 2 段階<img src="https://mojiemoji.jozo.beer/emoji/%E5%84%AA%E5%85%88?font=akzk&color=22d3ee&animation=mochimochi&background=transparent&outline=b20891&outline_width=2" alt="優先" height="24" align="absmiddle">で選ぶ(catalog 在の絵文字は mojiemoji 化、未登録は素の Unicode)。<img src="https://mojiemoji.jozo.beer/emoji/%E8%A9%B3%E7%B4%B0?font=maru&color=ef4444&animation=yoko_scroll&background=transparent&outline=44ef44&outline_width=2" alt="詳細" height="24" align="absmiddle">は `references/trailing-decoration.md` を<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%82%E7%85%A7?font=mincho&color=60a5fa&animation=tate_scroll&background=transparent&outline=eb2563&outline_width=2" alt="参照" height="24" align="absmiddle">。
**マントラ**: 「文中に埋める」「文法崩壊しないように自然に埋め込みまくる」。密度は高く*かつ*文法は自然に保つ — どの埋め込みもクリーンな単語<img src="https://mojiemoji.jozo.beer/emoji/%E7%BD%AE%E6%8F%9B?font=pixel&color=ef4444&animation=kirari&background=transparent&outline=44ef44&outline_width=2" alt="置換" height="24" align="absmiddle">として読めること、関係ない品詞の間にぎこちなく突っ込まれていないこと。文法的に自然なスロットが無い候補なら、そのフレーズはスタンプせずに諦める。
**INTENSITY(`prestamp.py --intensity`)** は **TONE(calm / neutral / loud)とは直交**する軸で、機械<img src="https://mojiemoji.jozo.beer/emoji/%E7%BD%AE%E6%8F%9B?font=hachimaru&color=facc15&animation=norinori&background=transparent&outline=04ca8a&outline_width=2" alt="置換" height="24" align="absmiddle">のボリュームだけを下げます。既定は `aggressive`(従来互換)。抑えたいときは `normal` または `minimal` を CLI で明示してください。`normal` / `minimal` では<img src="https://mojiemoji.jozo.beer/emoji/%E5%87%BA%E5%8A%9B?font=gothic-bold&color=fb7185&animation=yokomoya&background=transparent&outline=85fb71&outline_width=2" alt="出力" height="24" align="absmiddle"><img src="https://mojiemoji.jozo.beer/emoji/%E6%9C%AB%E5%B0%BE?font=tamanegi&color=22d3ee&animation=chirichiri&background=transparent&outline=b20891&outline_width=2" alt="末尾" height="24" align="absmiddle">に `<!-- mojiemoji-intensity:… -->` が<img src="https://mojiemoji.jozo.beer/emoji/%E8%87%AA%E5%8B%95?font=chikara&color=fdba74&animation=norinori&background=transparent&outline=74fdba&outline_width=2" alt="自動" height="24" align="absmiddle">付与され、catalog-leftovers gate が緩いしきい値を<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%82%E7%85%A7?font=mincho&color=60a5fa&animation=tate_scroll&background=transparent&outline=eb2563&outline_width=2" alt="参照" height="24" align="absmiddle">します。
毎回 `--intensity` を渡したくない場合は **`/mojiemoji-config` skill** で既定の intensity を `~/.config/mojiemoji/config.json` に<img src="https://mojiemoji.jozo.beer/emoji/%E4%BF%9D%E5%AD%98?font=maru-bold&color=f97316&animation=zanzo&background=transparent&outline=16f973&outline_width=2" alt="保存" height="24" align="absmiddle">できます(解決順: CLI > <img src="https://mojiemoji.jozo.beer/emoji/%E8%A8%AD%E5%AE%9A?font=maru-bold&color=f472b6&animation=mochimochi&background=transparent&outline=b6f472&outline_width=2" alt="設定" height="24" align="absmiddle"> > `aggressive`)。
**<img src="https://mojiemoji.jozo.beer/emoji/PR?font=hachimaru&color=ef4444&animation=bure&background=transparent&outline=44ef44&outline_width=2" alt="PR" height="20" align="absmiddle"> body policy gate**: `prestamp.py --surface pr-body` と PreToolUse gate は `gh api repos/{owner}/{repo}` の `squash_merge_commit_message` / `merge_commit_message` を見て、`PR_BODY` を使うメソッドが<img src="https://mojiemoji.jozo.beer/emoji/%E6%9C%89%E5%8A%B9?font=noto&color=60a5fa&animation=disco&background=transparent&outline_width=0" alt="有効" height="20" align="absmiddle"> (`allow_squash_merge` / `allow_merge_commit`) なときだけ leaks と判定する。leaks なら本文をそのまま返し、装飾済みの <img src="https://mojiemoji.jozo.beer/emoji/PR?font=maru&color=34d399&animation=gatagata&background=transparent&outline=9934d3&outline_width=2" alt="PR" height="20" align="absmiddle"> body を送ろうとした場合は gate が ブロックする (commit 履歴に HTML が残るため)。取得値は `${XDG_CACHE_HOME:-~/.cache}/mojiemoji/repo-policy/<owner>--<repo>.json` に 1 時間 cache する。cache が壊れている / 期限切れのときは破棄して再取得し、再取得でも policy を判定できない場合 (取得<img src="https://mojiemoji.jozo.beer/emoji/%E5%A4%B1%E6%95%97?font=hachimaru&color=f472b6&animation=mozaiku&background=transparent&outline=b6f472&outline_width=2" alt="失敗" height="20" align="absmiddle"> / gh 未認証 / 非 github remote) に だけ<img src="https://mojiemoji.jozo.beer/emoji/%E5%AE%89%E5%85%A8?font=gothic-bold&color=ec4899&animation=mabataki&background=transparent&outline=99ec48&outline_width=2" alt="安全" height="20" align="absmiddle">側として skip する。どうしても <img src="https://mojiemoji.jozo.beer/emoji/PR?font=hachimaru&color=ef4444&animation=bure&background=transparent&outline=44ef44&outline_width=2" alt="PR" height="20" align="absmiddle"> body に mojiemoji を入れる場合だけ `MOJIEMOJI_FORCE_PR_BODY=1` を付ける (Bash は command 先頭、MCP は body 内)。
## 2 つの<img src="https://mojiemoji.jozo.beer/emoji/%E3%83%A2%E3%83%BC%E3%83%89?font=noto&color=22c55e&animation=kage_neon&background=transparent&outline=5e22c5&outline_width=2" alt="モード" height="24" align="absmiddle">
| Mode | Surface | 形式 | デフォルトサイズ |
|---|---|---|---|
| `block` | **稀。** issue / <img src="https://mojiemoji.jozo.beer/emoji/PR?font=hachimaru&color=ef4444&animation=bure&background=transparent&outline=44ef44&outline_width=2" alt="PR" height="24" align="absmiddle"> 本文の特定のセクション見出しや、ユーザーが同ターンで明示的に依頼したコールアウト文脈でのみ独立行スタンプを使う。**レビュー系 surface ではすべて<img src="https://mojiemoji.jozo.beer/emoji/%E7%A6%81%E6%AD%A2?font=akzk&color=a78bfa&animation=tate_ekken&background=transparent&outline=ed7c3a&outline_width=2" alt="禁止" height="24" align="absmiddle">**(レビュー本文、レビュー返信、<img src="https://mojiemoji.jozo.beer/emoji/PR?font=hachimaru&color=ef4444&animation=bure&background=transparent&outline=44ef44&outline_width=2" alt="PR" height="24" align="absmiddle"> コメント、issue コメント) — 何があってもインラインのみ。<img src="https://mojiemoji.jozo.beer/emoji/LGTM?font=maru-bold&color=22d3ee&animation=yurayura&background=transparent&outline=ee22d3&outline_width=2" alt="LGTM" height="20" align="absmiddle"> mojiemoji は他スタンプと<img src="https://mojiemoji.jozo.beer/emoji/%E5%90%8C%E3%81%98?font=hachimaru&color=f472b6&animation=yurayura&background=transparent&outline=b6f472&outline_width=2" alt="同じ" height="24" align="absmiddle">く扱う — 別の <img src="https://mojiemoji.jozo.beer/emoji/LGTM?font=maru-bold&color=22d3ee&animation=yurayura&background=transparent&outline=ee22d3&outline_width=2" alt="LGTM" height="20" align="absmiddle">-imagery skill と併用しないなら block / inline どちらも <img src="https://mojiemoji.jozo.beer/emoji/OK?font=dela&color=8b5cf6&animation=kage_neon&background=transparent&outline=f68b5c&outline_width=2" alt="OK" height="20" align="absmiddle">。 | Markdown `` | native |
| `inline` | **すべての<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">本語 GitHub surface のデフォルト。** 文中強調(例: 【マジで】やばい【<img src="https://mojiemoji.jozo.beer/emoji/%E3%83%90%E3%82%B0?font=kurobara&color=fb7185&animation=tenmetsu&background=transparent&outline=85fb71&outline_width=2" alt="バグ" height="24" align="absmiddle">】)。body-class でも review-class でも 1 段落最低 1〜2 個で飽和させる。 | HTML `<img>` | 24 px |
GitHub サニタイザは `style` を剥がし、CSS 単位を無視する。整数の `height` ピクセル値を使うこと。`height="24"` は本文サイズで読みやすい。`height="20"` がユーザーの観察上の好み。<img src="https://mojiemoji.jozo.beer/emoji/%E8%A9%B3%E7%B4%B0?font=akzk&color=fdba74&animation=mabataki&background=transparent&outline=74fdba&outline_width=2" alt="詳細" height="24" align="absmiddle">は `references/parameters.md` § Inline height を<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%82%E7%85%A7?font=toge&color=a855f7&animation=yokomoya&background=transparent&outline=f7a855&outline_width=2" alt="参照" height="24" align="absmiddle">。
## <img src="https://mojiemoji.jozo.beer/emoji/LGTM?font=maru-bold&color=22d3ee&animation=yurayura&background=transparent&outline=ee22d3&outline_width=2" alt="LGTM" height="20" align="absmiddle"> 画像 — mojiemoji 単独なら自由、他 <img src="https://mojiemoji.jozo.beer/emoji/LGTM?font=noto&color=fb7185&animation=mochimochi&background=transparent&outline=85fb71&outline_width=2" alt="LGTM" height="20" align="absmiddle"> skill と併用時はインライン
**mojiemoji だけで <img src="https://mojiemoji.jozo.beer/emoji/LGTM?font=noto&color=fb7185&animation=mochimochi&background=transparent&outline=85fb71&outline_width=2" alt="LGTM" height="20" align="absmiddle"> するのは何の<img src="https://mojiemoji.jozo.beer/emoji/%E5%88%B6%E7%B4%84?font=akzk&color=fbbf24&animation=psycho&background=transparent&outline_width=0" alt="制約" height="24" align="absmiddle">もない。** インラインでも `` の block-image でも、見せ方は自由。`完璧` / `見事` / `綺麗` / `完成度` のような verdict 語と<img src="https://mojiemoji.jozo.beer/emoji/%E5%90%8C%E3%81%98?font=mincho&color=a78bfa&animation=yatta&background=transparent&outline=ed7c3a&outline_width=2" alt="同じ" height="24" align="absmiddle">く、<img src="https://mojiemoji.jozo.beer/emoji/LGTM?font=zero&color=fdba74&animation=yoko_scroll&background=transparent&outline=74fdba&outline_width=2" alt="LGTM" height="20" align="absmiddle"> も普通の語として扱ってよい。
唯一の調整ガイドラインは**併用ケース**: user 環境に別の <img src="https://mojiemoji.jozo.beer/emoji/LGTM?font=maru-bold&color=22d3ee&animation=yurayura&background=transparent&outline=ee22d3&outline_width=2" alt="LGTM" height="20" align="absmiddle">-imagery skill(派手な画像を<img src="https://mojiemoji.jozo.beer/emoji/%E7%94%9F%E6%88%90?font=maru&color=facc15&animation=tate_scroll&background=transparent&outline=04ca8a&outline_width=2" alt="生成" height="24" align="absmiddle">する系)があり、それを使って approve に <img src="https://mojiemoji.jozo.beer/emoji/LGTM?font=zero&color=fdba74&animation=yoko_scroll&background=transparent&outline=74fdba&outline_width=2" alt="LGTM" height="20" align="absmiddle"> 画像を載せる場合は、<img src="https://mojiemoji.jozo.beer/emoji/%E5%90%8C%E3%81%98?font=hachimaru&color=f472b6&animation=yurayura&background=transparent&outline=b6f472&outline_width=2" alt="同じ" height="24" align="absmiddle">レビュー本文に mojiemoji <img src="https://mojiemoji.jozo.beer/emoji/LGTM?font=maru-bold&color=22d3ee&animation=yurayura&background=transparent&outline=ee22d3&outline_width=2" alt="LGTM" height="20" align="absmiddle"> の block-image を重ねないこと(見出し級の装飾が 2 つ並んで強すぎる)。そのケースでは mojiemoji <img src="https://mojiemoji.jozo.beer/emoji/LGTM?font=maru-bold&color=22d3ee&animation=yurayura&background=transparent&outline=ee22d3&outline_width=2" alt="LGTM" height="20" align="absmiddle"> は**インラインだけに留める**。mojiemoji 単独 / 他 <img src="https://mojiemoji.jozo.beer/emoji/LGTM?font=noto&color=fb7185&animation=mochimochi&background=transparent&outline=85fb71&outline_width=2" alt="LGTM" height="20" align="absmiddle"> skill を使わない場合は block-image <img src="https://mojiemoji.jozo.beer/emoji/LGTM?font=maru-bold&color=22d3ee&animation=yurayura&background=transparent&outline=ee22d3&outline_width=2" alt="LGTM" height="20" align="absmiddle"> をそのまま使って <img src="https://mojiemoji.jozo.beer/emoji/OK?font=maru&color=fdba74&animation=psycho&background=transparent&outline_width=0" alt="OK" height="20" align="absmiddle">。
PreToolUse hook は **<img src="https://mojiemoji.jozo.beer/emoji/LGTM?font=maru-bold&color=22d3ee&animation=yurayura&background=transparent&outline=ee22d3&outline_width=2" alt="LGTM" height="20" align="absmiddle"> スタンプに対して特別扱いをしない**。他のスタンプと<img src="https://mojiemoji.jozo.beer/emoji/%E5%90%8C%E3%81%98?font=mincho&color=a78bfa&animation=yatta&background=transparent&outline=ed7c3a&outline_width=2" alt="同じ" height="24" align="absmiddle">く、6 <img src="https://mojiemoji.jozo.beer/emoji/%E5%BF%85%E9%A0%88?font=akzk&color=60a5fa&animation=ekken&background=transparent&outline=fa60a5&outline_width=2" alt="必須" height="24" align="absmiddle">スタイルパラメータ(font / color / animation / background / outline / outline_width)が揃っていれば pass する。runtime context(別 skill が同時に動いているか)を hook が知る手段が無いため、上記併用ガイドラインは人の<img src="https://mojiemoji.jozo.beer/emoji/%E5%88%A4%E6%96%AD?font=kurobara&color=06b6d4&animation=yurayura&background=transparent&outline=d406b6&outline_width=2" alt="判断" height="24" align="absmiddle"> / SKILL.md <img src="https://mojiemoji.jozo.beer/emoji/%E8%A6%8F%E7%B4%84?font=zero&color=22d3ee&animation=mabataki&background=transparent&outline=b20891&outline_width=2" alt="規約" height="24" align="absmiddle">で運用する。
## 埋め込み vs 装飾(根本<img src="https://mojiemoji.jozo.beer/emoji/%E6%A6%82%E5%BF%B5?font=gothic&color=3b82f6&animation=shuchusen&background=transparent&outline=f63b82&outline_width=2" alt="概念" height="24" align="absmiddle">)
`inline` <img src="https://mojiemoji.jozo.beer/emoji/%E3%83%A2%E3%83%BC%E3%83%89?font=zero&color=60a5fa&animation=yokomoya&background=transparent&outline=eb2563&outline_width=2" alt="モード" height="24" align="absmiddle">の中には**2 つのサブパターン**があり、ソース上は<img src="https://mojiemoji.jozo.beer/emoji/%E5%90%8C%E3%81%98?font=mincho&color=a78bfa&animation=yatta&background=transparent&outline=ed7c3a&outline_width=2" alt="同じ" height="24" align="absmiddle">に見えるがレンダリングされた<img src="https://mojiemoji.jozo.beer/emoji/%E7%B5%90%E6%9E%9C?font=akzk&color=60a5fa&animation=norinori&background=transparent&outline=eb2563&outline_width=2" alt="結果" height="24" align="absmiddle">はまったく違って読める:
| パターン | 何 | <img src="https://mojiemoji.jozo.beer/emoji/%E9%85%8D%E7%BD%AE?font=akzk&color=eab308&animation=bane&background=transparent&outline=08eab3&outline_width=2" alt="配置" height="24" align="absmiddle"> | 文法的役割 |
|---|---|---|---|
| **埋め込み(embed)** | スタンプが文中の単語を置き換える | 文中 | **その文に合う**名詞・動詞・副詞の代わり |
| **装飾(decoration)** | 文法的役割なくムードや勢いを添える | 文の下に独立行、`→` を<img src="https://mojiemoji.jozo.beer/emoji/%E5%89%8D?font=chikara&color=ec4899&animation=poyoon&background=transparent&outline=99ec48&outline_width=2" alt="前" height="24" align="absmiddle">置 | なし — 純粋に装飾 |
**ルール: 散文の文末に装飾スタンプを付け足してはいけない。** 文末の trailing 装飾は埋め込みと視覚的に混ざり、文の終わりが認識できなくなる。trailing 装飾は専用行に移すこと。<img src="https://mojiemoji.jozo.beer/emoji/%E8%A9%B3%E7%B4%B0?font=maru&color=ef4444&animation=yoko_scroll&background=transparent&outline=44ef44&outline_width=2" alt="詳細" height="24" align="absmiddle">・絵文字 trailing decoration の 2 段階<img src="https://mojiemoji.jozo.beer/emoji/%E5%84%AA%E5%85%88?font=pixel&color=f472b6&animation=zanzo&background=transparent&outline=b6f472&outline_width=2" alt="優先" height="24" align="absmiddle">・`%0A` 改行ルールは `references/trailing-decoration.md` を<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%82%E7%85%A7?font=mincho&color=60a5fa&animation=tate_scroll&background=transparent&outline=eb2563&outline_width=2" alt="参照" height="24" align="absmiddle">。
### スタンプ<img src="https://mojiemoji.jozo.beer/emoji/%E5%AF%BE%E8%B1%A1?font=akzk&color=facc15&animation=disco&background=transparent&outline_width=0" alt="対象" height="24" align="absmiddle">: 文ではなく単語
mojiemoji は**単語レベルの一撃**であって、句や文の強調ではない。スイートスポットは**2 字の漢字熟語(二字熟語)** — コンパクトで意味密度が高く、視覚的にも際立つ。
| スタンプにする | スタンプしない |
|---|---|
| `歓迎` `修正` `確認` `完了` `重要` `緊急` `綺麗` `完璧` `要点` `対応` …(2 字熟語) | `気になりました` `お疲れさまでした`(完全な文 / 述語+丁寧語) |
| `PR` `OK` `NG` `WIP` `API` `LGTM` 等(2〜4 字の ASCII 略語 / ドメイン用語) | `〜していただきありがとうございます`(挨拶ブロック) |
| `マージ` `テスト` `バグ` `リファクタ`(2〜4 字のカタカナ語) | *単語*ではなく*文法的な節*に当たるもの |
| `綺麗` `素敵` `見事` `丁寧`(2 字の形容詞・形容動詞) | 動詞形(`書きました` `送ります` `読んでます`) |
候補テキストが文なら**スタンプ自体を諦める** — 同文の別の単語を選ぶか、その箇所にはスタンプが乗らないと受け入れる。
文字種別ごとのスタンプ長<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">(漢字 ≤2、ひらがな ≤5、カタカナ ≤3、ASCII ≤3)、4 字以上の単語の<img src="https://mojiemoji.jozo.beer/emoji/%E5%88%86%E5%89%B2?font=chikara&color=06b6d4&animation=tate_scroll&background=transparent&outline=d406b6&outline_width=2" alt="分割" height="24" align="absmiddle">ヒューリスティック、`%0A` 改行ルールは `references/parameters.md` § スタンプ<img src="https://mojiemoji.jozo.beer/emoji/%E5%AF%BE%E8%B1%A1?font=akzk&color=facc15&animation=disco&background=transparent&outline_width=0" alt="対象" height="24" align="absmiddle">の選定と長さ<img src="https://mojiemoji.jozo.beer/emoji/%E4%B8%8A%E9%99%90?font=maru-bold&color=8b5cf6&animation=ekken&background=transparent&outline=f68b5c&outline_width=2" alt="上限" height="24" align="absmiddle"> を<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%82%E7%85%A7?font=toge&color=a855f7&animation=yokomoya&background=transparent&outline=f7a855&outline_width=2" alt="参照" height="24" align="absmiddle">。
## 飽和<img src="https://mojiemoji.jozo.beer/emoji/%E3%83%A2%E3%83%BC%E3%83%89?font=noto&color=22c55e&animation=kage_neon&background=transparent&outline=5e22c5&outline_width=2" alt="モード" height="24" align="absmiddle">(body surface のデフォルト)
body-class surface(issue / <img src="https://mojiemoji.jozo.beer/emoji/PR?font=toge&color=3b82f6&animation=zairu&background=transparent&outline=f63b82&outline_width=2" alt="PR" height="24" align="absmiddle"> / リリース / コメント / 返信)が<img src="https://mojiemoji.jozo.beer/emoji/%E6%97%A5?font=maru-bold&color=d946ef&animation=yatta&background=transparent&outline=efd946&outline_width=2" alt="日" height="24" align="absmiddle">本語の場合、**飽和がデフォルト** — トリガー語句は<img src="https://mojiemoji.jozo.beer/emoji/%E4%B8%8D%E8%A6%81?font=mincho&color=8b5cf6&animation=gatagata&background=transparent&outline=f68b5c&outline_width=2" alt="不要" height="24" align="absmiddle">。ユーザーが明示的に「static」「plain」「スタンプなし」「少なめ」と言わない限り、この密度でレンダリングする。
### アンチパターン: 単一スタンプ本文(密度<img src="https://mojiemoji.jozo.beer/emoji/%E4%B8%8D%E8%B6%B3?font=kurobara&color=4ade80&animation=disco&background=transparent&outline_width=0" alt="不足" height="24" align="absmiddle">)
よくある<img src="https://mojiemoji.jozo.beer/emoji/%E5%A4%B1%E6%95%97?font=maru-bold&color=3b82f6&animation=yokomoya&background=transparent&outline=f63b82&outline_width=2" alt="失敗" height="24" align="absmiddle">パターンは、本文の最上部に mojiemoji を 1 つ置いて、残りはプレーンな<img src="https://mojiemoji.jozo.beer/emoji/%E6%97%A5?font=toge&color=a855f7&animation=kirari&background=transparent&outline=f7a855&outline_width=2" alt="日" height="24" align="absmiddle">本語散文という形。block でも inline でも<img src="https://mojiemoji.jozo.beer/emoji/%E5%90%8C%E3%81%98?font=mincho&color=a78bfa&animation=yatta&background=transparent&outline=ed7c3a&outline_width=2" alt="同じ" height="24" align="absmiddle">病。
- **issue #166**(block + 単調): 本文中 15 スタンプを置いたが、全て `font=maru-bold color=60a5fa animation=spring speed=normal`。さらに `Promise.all` と `Green` という、そもそもスタンプすべきでない identifier まで含まれていた。多様性の無い量は無意味。
- **2026-05-12 cross-repo-review batch / triage-review batch**: 6 <img src="https://mojiemoji.jozo.beer/emoji/%E5%BF%85%E9%A0%88?font=akzk&color=60a5fa&animation=ekken&background=transparent&outline=fa60a5&outline_width=2" alt="必須" height="24" align="absmiddle">パラメータの<img src="https://mojiemoji.jozo.beer/emoji/%E4%B8%80%E9%83%A8?font=chikara&color=fb7185&animation=tate_ekken&background=transparent&outline=85fb71&outline_width=2" alt="一部" height="24" align="absmiddle"><img src="https://mojiemoji.jozo.beer/emoji/%E6%AC%A0%E8%90%BD?font=maru-bold&color=8b5cf6&animation=zanzo&background=transparent&outline=f68b5c&outline_width=2" alt="欠落" height="24" align="absmiddle">で全 7〜8 <img src="https://mojiemoji.jozo.beer/emoji/PR?font=toge&color=3b82f6&animation=zairu&background=transparent&outline=f63b82&outline_width=2" alt="PR" height="24" align="absmiddle"> 分のスタンプがダーク<img src="https://mojiemoji.jozo.beer/emoji/%E3%83%A2%E3%83%BC%E3%83%89?font=noto&color=22c55e&animation=kage_neon&background=transparent&outline=5e22c5&outline_width=2" alt="モード" height="24" align="absmiddle"> GitHub 上で黒不可視に。<img src="https://mojiemoji.jozo.beer/emoji/%E8%A9%B3%E7%B4%B0?font=maru&color=ef4444&animation=yoko_scroll&background=transparent&outline=44ef44&outline_width=2" alt="詳細" height="24" align="absmiddle">は `references/colors.md` § 過去 incident を<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%82%E7%85%A7?font=toge&color=a855f7&animation=yokomoya&background=transparent&outline=f7a855&outline_width=2" alt="参照" height="24" align="absmiddle">。
飽和デフォルト下では、**本文中スタンプ ≤2 個は密度エラー**である — 出稿前に PHRASES 一覧をフルで作り直して再ディスパッチすること。
### 絶対不変のもの
- **埋め込みの文法的正当性**: 埋め込みは常に成立する文でなければならない。
- **装飾は独立行**: 散文の文末に装飾を付け足さない。下に `→ <stamps>` 行を置く。
- **コード、<img src="https://mojiemoji.jozo.beer/emoji/%E8%AD%98%E5%88%A5?font=noto&color=60a5fa&animation=patapata&background=transparent&outline=fa60a5&outline_width=2" alt="識別" height="24" align="absmiddle">子、リンク**: 絶対にスタンプしない。
- **色**: ダーク<img src="https://mojiemoji.jozo.beer/emoji/%E3%83%A2%E3%83%BC%E3%83%89?font=noto&color=22c55e&animation=kage_neon&background=transparent&outline=5e22c5&outline_width=2" alt="モード" height="24" align="absmiddle">に耐える Tailwind 300〜500 域。<img src="https://mojiemoji.jozo.beer/emoji/%E8%A9%B3%E7%B4%B0?font=chikara&color=a855f7&animation=kira&background=transparent&outline_width=0" alt="詳細" height="24" align="absmiddle">は `references/colors.md` および `references/parameters.md` § Dark-mode-safe color palette を<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%82%E7%85%A7?font=pixel&color=60a5fa&animation=zanzo&background=transparent&outline=fa60a5&outline_width=2" alt="参照" height="24" align="absmiddle">。
- **アニメーション<img src="https://mojiemoji.jozo.beer/emoji/%E5%BF%85%E9%A0%88?font=akzk&color=60a5fa&animation=ekken&background=transparent&outline=fa60a5&outline_width=2" alt="必須" height="24" align="absmiddle">**で多様性を保つ(本文<img src="https://mojiemoji.jozo.beer/emoji/%E5%85%A8%E4%BD%93?font=gothic-bold&color=8b5cf6&animation=tenmetsu&background=transparent&outline=f68b5c&outline_width=2" alt="全体" height="24" align="absmiddle">で 12 種以上、<img src="https://mojiemoji.jozo.beer/emoji/%E5%90%8C%E3%81%98?font=dela&color=60a5fa&animation=mochimochi&background=transparent&outline=fa60a5&outline_width=2" alt="同じ" height="24" align="absmiddle"> animation 3 回<img src="https://mojiemoji.jozo.beer/emoji/%E7%A6%81%E6%AD%A2?font=maru&color=8b5cf6&animation=nami&background=transparent&outline=f68b5c&outline_width=2" alt="禁止" height="24" align="absmiddle">)。<img src="https://mojiemoji.jozo.beer/emoji/%E8%A9%B3%E7%B4%B0?font=maru&color=ef4444&animation=yoko_scroll&background=transparent&outline=44ef44&outline_width=2" alt="詳細" height="24" align="absmiddle">は `references/parameters.md` § Animation diversity を<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%82%E7%85%A7?font=toge&color=a855f7&animation=yokomoya&background=transparent&outline=f7a855&outline_width=2" alt="参照" height="24" align="absmiddle">。
selector subagent への dispatch 用の飽和<img src="https://mojiemoji.jozo.beer/emoji/%E5%88%B6%E7%B4%84?font=rampart&color=c084fc&animation=bure&background=transparent&outline=fcc084&outline_width=2" alt="制約" height="24" align="absmiddle">ブロック・Hard contract 行は `references/workflow.md` を<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%82%E7%85%A7?font=toge&color=a855f7&animation=yokomoya&background=transparent&outline=f7a855&outline_width=2" alt="参照" height="24" align="absmiddle">。
### 鉄則: スタンプ<img src="https://mojiemoji.jozo.beer/emoji/%E7%A6%81%E6%AD%A2?font=tamanegi&color=22c55e&animation=kira&background=transparent&outline_width=0" alt="禁止" height="24" align="absmiddle"> identifier(FLAVOR GATE OVERRIDE の例外)
飽和 / loud トーンで FLAVOR GATE OVERRIDE が効いていても、**以下は常にプレーンテキストのまま**:
- **<img src="https://mojiemoji.jozo.beer/emoji/API?font=tamanegi&color=f472b6&animation=disco&background=transparent&outline_width=0" alt="API" height="24" align="absmiddle"> 名 / 言語組み込み**: `Promise.all`, `Promise`, `useState`, `useEffect`, `Map`, `Map.from`, `Vec::new`, `Result`, `Option`, `Iterator::find`
- **英単語の identifier / 判定語**: `Green`, `Red`, `Blue`, `null`, `undefined`, `OK`, `NG`, `Yes`, `No`, `True`, `False`, `Success`, `Error`
- **ファイル<img src="https://mojiemoji.jozo.beer/emoji/%E3%83%91%E3%82%B9?font=pixel&color=a78bfa&animation=mabataki&background=transparent&outline=ed7c3a&outline_width=2" alt="パス" height="24" align="absmiddle">**: `apps/api/src/...`, `packages/db/...`, `Sources/Foo.swift`
- **バージョン文字列**: `v1.2.3`, `0.4.0`, `Node 20`
- **コードシンボル / 型名**: `MatchingHistory`, `creativeIntegrity`, `WallpaperLoadingOverlay`
- **<img src="https://mojiemoji.jozo.beer/emoji/URL?font=kurobara&color=facc15&animation=mozaiku&background=transparent&outline=04ca8a&outline_width=2" alt="URL" height="24" align="absmiddle">、ハッシュ、issue/<img src="https://mojiemoji.jozo.beer/emoji/PR?font=toge&color=3b82f6&animation=zairu&background=transparent&outline=f63b82&outline_width=2" alt="PR" height="24" align="absmiddle"> 番号**: `#166`, `abc1234`, `https://...`
- **単位付き数値**: `100ms`, `200lines`, `5指標` の数字<img src="https://mojiemoji.jozo.beer/emoji/%E9%83%A8%E5%88%86?font=hachimaru&color=ef4444&animation=bane&background=transparent&outline=44ef44&outline_width=2" alt="部分" height="24" align="absmiddle">
迷ったら問う: 「コードレビュアーがこの文字列を逐語 grep したくなるか?」 答えが Yes(identifier / シンボル / <img src="https://mojiemoji.jozo.beer/emoji/%E3%83%91%E3%82%B9?font=pixel&color=a78bfa&animation=mabataki&background=transparent&outline=ed7c3a&outline_width=2" alt="パス" height="24" align="absmiddle">)ならスタンプ不可。<img src="https://mojiemoji.jozo.beer/emoji/%E6%97%A5?font=toge&color=a855f7&animation=kirari&background=transparent&outline=f7a855&outline_width=2" alt="日" height="24" align="absmiddle">本語散文としてのみ意味を持つもの(状態、属性、<img src="https://mojiemoji.jozo.beer/emoji/%E8%A9%95%E4%BE%A1?font=hachimaru&color=fb923c&animation=kage_neon&background=transparent&outline=0cea58&outline_width=2" alt="評価" height="24" align="absmiddle">、関係、着地)ならスタンプ可。
## ワークフローと<img src="https://mojiemoji.jozo.beer/emoji/%E5%87%BA%E5%8A%9B?font=akzk&color=f87171&animation=nami&background=transparent&outline=26dc26&outline_width=2" alt="出力" height="24" align="absmiddle">ルール
ワークフロー<img src="https://mojiemoji.jozo.beer/emoji/%E5%85%A8%E4%BD%93?font=gothic-bold&color=8b5cf6&animation=tenmetsu&background=transparent&outline=f68b5c&outline_width=2" alt="全体" height="24" align="absmiddle">(prestamp → selector → 直接スクリプト → <img src="https://mojiemoji.jozo.beer/emoji/%E6%A4%9C%E8%A8%BC?font=tamanegi&color=06b6d4&animation=yoko_scroll&background=transparent&outline=d406b6&outline_width=2" alt="検証" height="24" align="absmiddle"> → 投稿の 10 ステップ)、`mojiemoji-selector` subagent への dispatch コントラクト、Python cross-boundary interop、直接スクリプトの呼び方、Surface ごとの top/closing 装飾ヒューリスティックは `references/workflow.md` を<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%82%E7%85%A7?font=pixel&color=60a5fa&animation=zanzo&background=transparent&outline=fa60a5&outline_width=2" alt="参照" height="24" align="absmiddle">。
スポットチェック(15 字<img src="https://mojiemoji.jozo.beer/emoji/%E4%B8%8A%E9%99%90?font=toge&color=60a5fa&animation=yoko_scroll&background=transparent&outline=eb2563&outline_width=2" alt="上限" height="24" align="absmiddle">、プリフライト HTTP チェック、dispatch <img src="https://mojiemoji.jozo.beer/emoji/%E5%BE%8C?font=noto&color=60a5fa&animation=kage_neon&background=transparent&outline=fa60a5&outline_width=2" alt="後" height="24" align="absmiddle"><img src="https://mojiemoji.jozo.beer/emoji/%E6%A4%9C%E8%A8%BC?font=gothic&color=22c55e&animation=nami&background=transparent&outline=5e22c5&outline_width=2" alt="検証" height="24" align="absmiddle"> bash ブロック)は `references/verification.md` を<img src="https://mojiemoji.jozo.beer/emoji/%E5%8F%82%E7%85%A7?font=mincho&color=60a5fa&animation=tate_scroll&background=transparent&outline=eb2563&outline_width=2" alt="参照" height="24" align="absmiddle">。「単一フレーズ・自明なプリセット」のファスト<img src="https://mojiemoji.jozo.beer/emoji/%E3%83%91%E3%82%B9?font=gothic&color=a855f7&animation=kirari&background=transparent&outline=f7a855&outline_width=2" alt="パス" height="24" align="absmiddle">は `references/flavor-guide.md` でスタンプ<img src="https://mojiemoji.jozo.beer/emoji/%E4%BE%A1%E5%80%A4?font=rampart&color=facc15&animation=tatemoya&background=transparent&outline=04ca8a&outline_width=2" alt="価値" height="24" align="absmiddle">を判定して `references/presets.md` で 1 行を引く。
<img src="https://mojiemoji.jozo.beer/emoji/%E5%87%BA%E5%8A%9B?font=akzk&color=f87171&animation=nami&background=transparent&outline=26dc26&outline_width=2" alt="出力" height="24" align="absmiddle">の鉄則:
- そのまま貼れるスニペットを返す。<img src="https://mojiemoji.jozo.beer/emoji/%E8%AA%AC%E6%98%8E?font=toge&color=f97316&animation=mochimochi&background=transparent&outline=16f973&outline_width=2" alt="説明" height="24" align="absmiddle">的散文は返さない。
- issue 本文 / <img src="https://mojiemoji.jozo.beer/emoji/PR?font=toge&color=3b82f6&animation=zairu&background=transparent&outline=f63b82&outline_width=2" alt="PR" height="24" align="absmiddle"> 本文 / リリースノートの場合、本文の最上部に shields.io バッジが<img src="https://mojiemoji.jozo.beer/emoji/%E5%AD%98%E5%9C%A8?font=maru-bold&color=3b82f6&animation=disco&background=transparent&outline_width=0" alt="存在" height="24" align="absmiddle">することを<img src="https://mojiemoji.jozo.beer/emoji/%E7%A2%BA%E8%AA%8D?font=gothic-bold&color=d946ef&animation=zairu&background=transparent&outline=efd946&outline_width=2" alt="確認" height="24" align="absmiddle">する(スタンプとは別の段落)。
- **コード片、<img src="https://mojiemoji.jozo.beer/emoji/%E8%AD%98%E5%88%A5?font=dela&color=fdba74&animation=psycho&background=transparent&outline_width=0" alt="識別" height="24" align="absmiddle">子、リンクはスタンプ<img src="https://mojiemoji.jozo.beer/emoji/%E5%AF%BE%E8%B1%A1?font=gothic-bold&color=f97316&animation=gatagata&background=transparent&outline=16f973&outline_width=2" alt="対象" height="24" align="absmiddle">外。ただし周辺の散文はスタンプ<img src="https://mojiemoji.jozo.beer/emoji/%E5%AF%BE%E8%B1%A1?font=gothic-bold&color=f97316&animation=gatagata&background=transparent&outline=16f973&outline_width=2" alt="対象" height="24" align="absmiddle">。** 箇条書きが `` `Sources/Foo.swift:40-55` — `WallpaperLoadingOverlay` (差し替え対象) `` のような形のとき、ファイル<img src="https://mojiemoji.jozo.beer/emoji/%E3%83%91%E3%82%B9?font=gothic&color=a855f7&animation=kirari&background=transparent&outline=f7a855&outline_width=2" alt="パス" height="24" align="absmiddle">とシンボルは素のまま — だが括弧内の記述子(`差し替え対象`、`変更不要の想定`、`重点`、`導入`)は<img src="https://mojiemoji.jozo.beer/emoji/%E6%97%A5?font=toge&color=a855f7&animation=kirari&background=transparent&outline=f7a855&outline_width=2" alt="日" height="24" align="absmiddle">本語散文なのでインライン飽和デフォルト下では**スタンプすべき**。
- フレーズが flavor-guide のスタンプ<img src="https://mojiemoji.jozo.beer/emoji/%E9%99%A4%E5%A4%96?font=pixel&color=f472b6&animation=gatagata&background=transparent&outline=b6f472&outline_width=2" alt="除外" height="24" align="absmiddle">リストに引っかかる場合、黙って落とすか指摘する。<img src="https://mojiemoji.jozo.beer/emoji/API?font=maru-bold&color=3b82f6&animation=tenmetsu&background=transparent&outline=f63b82&outline_width=2" alt="API" height="24" align="absmiddle"> 名・バージョン・謝罪本文・セキュリティ/法務テキストは決して装飾しない。
- **スポットチェックは body-class surface でスタンプ数 ≥3 のとき<img src="https://mojiemoji.jozo.beer/emoji/%E5%BF%85%E9%A0%88?font=dela&color=22c55e&animation=patapata&background=transparent&outline=5e22c5&outline_width=2" alt="必須" height="24" align="absmiddle">、<img src="https://mojiemoji.jozo.beer/emoji/%E4%BB%BB%E6%84%8F?font=maru-bold&color=22d3ee&animation=mochimochi&background=transparent&outline=b20891&outline_width=2" alt="任意" height="24" align="absmiddle">ではない。** 貼り付け<img src="https://mojiemoji.jozo.beer/emoji/%E5%89%8D?font=chikara&color=ec4899&animation=poyoon&background=transparent&outline=99ec48&outline_width=2" alt="前" height="24" align="absmiddle">に `references/verification.md` § Post-dispatch spot-check を本文<img src="https://mojiemoji.jozo.beer/emoji/%E5%85%A8%E4%BD%93?font=maru-bold&color=fb923c&animation=poyoon&background=transparent&outline=0cea58&outline_width=2" alt="全体" height="24" align="absmiddle">に対して実行する。
<!--
mojiemoji-schema-version: 2.2.0
The hook (hooks/mojiemoji_japanese_gate.py § validate_schema_version)
reads this marker AND each harness-local copy under
$HOME/.config/<harness>/skills/mojiemoji-github/SKILL.md. When a
harness copy is behind the host, the hook emits a warning to stderr
(rc=0 by default; MOJIEMOJI_STRICT_VERSION=1 upgrades to block rc=2).
When to bump:
MAJOR (X.0.0) — breaking changes to the skill contract (<img src="https://mojiemoji.jozo.beer/emoji/URL?font=noto&color=8b5cf6&animation=kaiten&speed=slow&background=transparent&outline=f68b5c&outline_width=2" alt="URL" height="24" align="absmiddle"> pattern
change, new mandatory parameter, removed parameter,
renamed canonical animation/font value, etc.).
Old harness copies *will* produce broken output
against the new hook — bump and treat drift as a
hard re-install requirement.
MINOR (0.X.0) — additive canonical changes (new animation, new
font, new optional parameter). Old harness copies
still produce valid output; they just miss the new
options.
PATCH (0.0.X) — wording / clarification / typo fixes. No drift
concern; ideally don't bump for these, but bumping
forces a re-pull and clears stale guidance.
-->
<!-- mojiemoji-schema-version: 2.2.0 -->
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!