# Dev:bip

> Build in Public ツイート生成。git log + 会話コンテキストから「今作っているもの」を分析し、 日本語ツイート3案（280カウント以内・敬体・ハッシュタグなし）を生成します。 日本語1文字=2カウントのため、日本語のみの場合は実質140文字が上限です。 tweet-writer エージェントを3並列で起動し、各案が280カウントを超えた場合は自動修正ループを回します。 Trigger: /dev:bip, bip, Build in Public, ツイート生成, ツイート作って, 投稿文

- Skill: `ryryo/dev-bip` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add ryryo/dev-bip`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ryryo/dev-bip/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ryryo (https://skillmd.com/u/ryryo)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/ryryo/dev-bip

---


# dev:bip — Build in Public ツイート生成

git log と会話コンテキストから、X（旧Twitter）に投稿できる日本語ツイート3案を生成します。
「何を作ったか」を報告するのではなく、**読んだ人が反応したくなる角度**で切り取ることがゴールです。

## なぜ普通の進捗報告はエンゲージメントが取れないか

「〇〇機能を追加しました」「リファクタしました」は事実ですが、読者に**「自分ごと」感**がありません。
エンゲージメントが高いツイートは以下のいずれかを持っています：

- **意外性・逆説**: 「当然こうだと思っていましたが、違いました」
- **緊張感・ドラマ**: 「詰まっていました / やらかしました / やっと解決しました」
- **具体的な数字**: 「3時間で / 8スキルを / 20件のコミット」
- **普遍的な気づき**: 「これ、○○している方全員に当てはまるかもしれません」
- **問いかけ**: 読んだ人が「あるある」「自分も知りたい」と感じる終わり方

## エージェント構成

| エージェント | 役割 | 起動数 |
|-------------|------|--------|
| tweet-writer | 1案生成 + 280カウント超過時の修正ループ | 3並列 |

スクリプト: `scripts/count-chars.sh`（X文字数カウント）

---

## 実行手順

### Step 1: コンテキスト収集

以下を実行してください：

```bash
# 直近20件のコミット（日時付き）
git log --format="%aI %s" -20

# プロジェクト概要（存在する方を使用）
head -40 CLAUDE.md 2>/dev/null || head -40 README.md 2>/dev/null
```

### Step 2: 「ツイートの角度」を見つける

単純に「何を作ったか」をまとめるのではなく、**読者が反応する角度**を探してください。

| 探す観点 | 問い |
|----------|------|
| **驚き・逆説** | 「やってみたら想定と違ったことはありますか？」「当たり前と思っていたことが覆されましたか？」 |
| **詰まり・解決** | 「困っていたことはありましたか？それをどう突破しましたか？」 |
| **before/after** | 「作業前と後で何がどう変わりましたか？数字があればなお良いです」 |
| **普遍的な学び** | 「この気づきは他の開発者にも当てはまりますか？」 |
| **なぜ作っているか** | 「この作業の背後にある動機・目的は何ですか？」 |

**コンテキストが不明な場合**: 以下の一言をテキストで問いかけてください：
> 「今日のツイートで特に伝えたいことを教えていただけますか？（例：詰まったこと、気づき、達成したことなど）」

### Step 3: コンテキストサマリーを作成

次の Step 4 でエージェントに渡すため、以下をまとめてください（自分のメモとして、出力不要）：

- **プロジェクト概要**: 何を作っているか（1〜2文）
- **最近の作業**: 直近5件のコミットから読み取れる作業内容
- **ユーザー補足**: 会話コンテキストやユーザーが伝えた追加情報
- **角度の候補**: Step 2 で見つけた「反応が取れそうな切り口」

### Step 4: tweet-writer エージェントを3並列起動

**3エージェントを1つのメッセージで同時に起動してください（並列実行）。**

各エージェントへのプロンプトに含める情報：
- `agents/tweet-writer.md` の手順に従うよう指示
- Step 3 で作成したコンテキストサマリー
- 割り当てる構文タイプ（下表）
- `count-chars.sh` のパス（`{このSKILL.mdのディレクトリ}/scripts/count-chars.sh`）

| エージェント | 割り当て構文 |
|------------|------------|
| Agent 1 | 逆説・意外性型 または 詰まり・突破型（コンテキストに合う方） |
| Agent 2 | before/after型 または 発見・気づき型（コンテキストに合う方） |
| Agent 3 | 動機・なぜ作るか型 |

### Step 5: 結果を統合して出力

3エージェントの結果を受け取り、以下のフォーマットで表示してください：

---

**案1（{構文名}）**
{ツイート本文}
（{文字数}字）

---

**案2（{構文名}）**
{ツイート本文}
（{文字数}字）

---

**案3（{構文名}）**
{ツイート本文}
（{文字数}字）

---

