join-project について
join-projectは、既存のllmwikiがあるリポジトリに参加するエージェントや開発者向けの読み取り専用スキルです。プロジェクトの背景、最近の変更、技術概念、ローカルのスキルとハーネスの状態をまとめ、情報の不足を推測で補いません。
主な機能
- 01llmwikiの索引、ログ、構成を読む
- 02参照頻度の高い概念を3つ抽出
- 03ローカルのスキルとハーネスを確認
- 04情報の不足を示し、捏造しない
- 05状況報告のドラフトを作成
活用シーン
- 01プロジェクトに途中参加した開発者の把握
- 02最近の変更と未対応項目の確認
- 03不足しているスキルやハーネス設定の特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rheinmir/ setup --skill join-projectインストール後、Claude Code で/join-projectを入力して読み込まれたか確認します。
詳細
Skill: join-project
概要
目的とコンテキスト
- 目的:
llmwiki/がすでに存在する進行中のプロジェクトについて、プロジェクト全体のコードを再分析せずに、コンテキスト(プロジェクトの概要、主な技術的ポイント、最近の変更、ツールの状態)をすばやく把握します。 - 使用するタイミング:
llmwiki/がすでに存在するプロジェクトに、新しいエージェントまたは開発者が途中から参加し、プロジェクト全体のコードを再分析せずにコンテキストをすばやく把握する必要がある場合です。 - 対象外: wiki を編集しない(wiki ページは読み取り専用です)。ハーネス/RTK/ツールをインストールしない(
new-project-setupまたは/harness-updateの担当であり、実行するかどうかはユーザーが決定します)。wiki がないコードベースのオンボーディングは行わない(→new-project-setup、ギャップへの対応 →onboard-codebase)。
メンタルモデル
llmwiki/ が存在 → index + log + Architecture → [[link]] された回数が最も多い 3 つの concept → skills/harness の状態 → 人/エージェント向けの新規参加者用オリエンテーションのまとめ。wiki が情報源です。このスキルは読み取りと要約のみを行い、推測で空白を埋めません。
入力と出力の契約
| Field | Required? | 意味 | |
|---|---|---|---|
| In | llmwiki/wiki/index.md があるリポジトリ | はい | 見つからない場合 → 停止し、new-project-setup を提案 |
| In | llmwiki/wiki/concepts/Architecture.md | いいえ | 存在する場合は、技術スタックを把握するために読みます |
| Out | オリエンテーションレポート | はい | プロジェクト + 技術スタック · 技術的なポイント 3 件 · 最近の変更と未対応項目 · skills の状態(インストール済み/不足) · 大きなギャップに対する onboard-codebase の提案 |
| Out | ハーネスの状態 | はい | harness: ON または MISSING(報告のみ) |
| Out | レポートの下書き | はい(artifact/decision が 0 件の場合を除く) | llmwiki/wiki/sources/draft/DDMMYY-<ten>.md(Delivery セクション) |
ルールと機能
- RULE-01(必須):読み取り専用 — wiki ファイルを作成または編集しません。
- RULE-02(必須):RTK やその他のツールをセットアップしません — それらは
new-project-setupの担当です。 - RULE-03(必須):wiki が空または古い場合は、そのことを明示し、コンテキストを捏造しません。
- 機能:wiki の読み取り + ローカルの skills ディレクトリの一覧表示。Delivery セクションのレポート下書きのみを書き込みます。ネットワークへの接続やインストールは行いません。
失敗時の境界
llmwiki/wiki/index.mdがない → ブロック:停止し、new-project-setupの実行を提案します。- Harness が MISSING → 部分的:報告のみ行い、
/harness-updateを提案します。自動インストールはしません。 - wiki が空または古い → 部分的:レポート内で明示し、コンテキストを捏造しません。
- Skills が不足 → 報告し、
INVOKE: sync-templateを提案します。
HOW
メインワークフロー
| Step | Type | Inputs | Action | Outputs/exit | Failure/next |
|---|---|---|---|---|---|
| W01 | deterministic | repo | llmwiki が有効か、ハーネスがインストール済みかを CHECK | ok / missing | llmwiki がない → ブロック;ハーネスがない → B01 |
| W02 | effect | wiki | index、最新の log エントリ 20 件、存在する場合は Architecture.md を読む | 概要 | — |
| W03 | deterministic | wiki | [[reference]] された回数が最も多い 3 つの concepts を探し、各ファイルを READ | 3 concepts | 結果が空 → B02 |
| W04 | deterministic | マシン | ツールを CHECK(.claude/commands/、~/.agents/skills/) | installed/missing | 不足 → B03 |
| W05 | judgment | W02–W04 | 統合してレポートを作成 | オリエンテーションレポート | 大きなギャップ → onboard-codebase を提案 |
| W06 | effect | 結果 | レポートの下書きを出力(Delivery セクション) | 下書き + index + log | artifact/decision が 0 件 → スキップ |
各ステップの詳細(W01–W05 の正とする情報源):
1. CHECK — llmwiki は有効か? ハーネスはインストール済みか?
test -f llmwiki/wiki/index.md && echo ok || echo "llmwiki missing — run new-project-setup instead"
# Harness enforcement (hooks chặn raw/, Origin, index-sync) có chưa:
test -f llmwiki/.claude/hooks/pre_tool_use.py && echo "harness: ON" \
|| echo "harness: MISSING — đề xuất user gọi /harness-update (skill tự cài + backfill nợ)"
llmwiki がない場合:停止し、new-project-setup の実行を提案します。
ハーネスが MISSING の場合:報告のみ行います(このスキルは読み取り専用です)。インストールするかどうかはユーザーが決定します。
2. 概要を読む:
# Đọc theo thứ tự:
READ: llmwiki/wiki/index.md # danh sách toàn bộ wiki pages
READ: llmwiki/wiki/log.md (20 entries mới nhất) # recent changes
READ: llmwiki/wiki/concepts/Architecture.md # nếu tồn tại
3. reference された回数が最も多い 3 つの concepts を探す:
grep -roh '\[\[.*?\]\]' llmwiki/wiki/ | sort | uniq -c | sort -rn | head -5
→ リストから 3 つの concept ファイルを選び、各ファイルを READ します。 結果が空の場合のフォールバック:
ls -t llmwiki/wiki/concepts/ | head -3
mtime が最も新しい順に先頭 3 ファイルを READ します。
4. ツールを CHECK:
ls .claude/commands/ 2>/dev/null || echo "Claude skills: not installed"
ls ~/.agents/skills/ 2>/dev/null || echo "Agent skills: not installed"
不足している場合:INVOKE: sync-template(step 7 ですべてを自動インストールします)。
5. 統合してレポートを作成: 以下を出力します:
- プロジェクトの概要、主な技術スタック(Architecture.md または index から)
- 最も重要な技術的ポイント 3 件(読み込んだ concepts から)
- 最近の変更と未対応項目(log.md から)
- Skills の状態(installed / missing)
- wiki に大きなギャップがある場合:該当部分について
INVOKE: onboard-codebaseを提案します
ブランチ
| ID | 種類 | 条件 | 動作 | スキップ/失敗 | 再合流 |
|---|---|---|---|---|---|
| B01 | conditional_required | llmwiki/.claude/hooks/pre_tool_use.py がない | 「harness: MISSING」と報告し、ユーザーに /harness-update の実行を提案する | 自動でインストールしない | W02 |
| B02 | recovery | grep [[...]] の結果が空 | ls -t llmwiki/wiki/concepts/ をフォールバックとして実行し、更新日時が新しいファイルを3件取得する。更新日時順で先頭3件を READ する | concepts/ が空 → wiki が空であると報告する | W04 |
| B03 | conditional_required | skills が不足している(Claude または Agent) | INVOKE: sync-template を提案する | — | W05 |
検証と停止条件
W05 のレポートには5項目すべてが含まれている必要があります。すべての主張は、読み込んだ wiki ファイルに基づいている必要があります。llmwiki がない場合は W01 ですぐに停止します。
例
- 成功例: リポジトリに
llmwiki/と harness がある → W01 で「ok」+「harness: ON」→ index/log/Architecture を読む → 上位リンクから concept を3件読む → 「Project X、スタックは Next.js + Postgres、技術的なポイント3件…、最近の項目:log のエントリー5件、skills:インストール済み」と報告する。 - 境界/失敗例: リポジトリに
llmwiki/wiki/index.mdがない → 「llmwiki missing — run new-project-setup instead」と表示して停止する。続きは読まず、概要を捏造しない。
納品 — 出力レポート
メインのスキルタスクがすべて完了したら、wiki に提案ドラフトを書き込みます。
手順
1. ファイル名を作成する:
- 形式:
DDMMYY-<ten>.md DDMMYY= 今日の日付(例:2026年6月2日は020626)<ten>= 実施内容を要約した、kebab-case の単語2~4個(例:landing-page-coteccons、brand-kit-fintech、ingest-auth-spec)
2. llmwiki/wiki/sources/draft/DDMMYY-<ten>.md を書き込む:
---
type: draft
title: "DDMMYY-<ten>"
status: proposed
tags: [<skill-name>, output-report]
timestamp: YYYY-MM-DD
---
# DDMMYY-<ten>
**Type:** draft
**Status:** proposed
**Tags:** <skill-name>, output-report
**Proposed:** YYYY-MM-DD
## What
<One sentence — what this skill invocation produced or decided>
## Output
<Key artefacts, files created/modified, or decisions made>
## Files
| File | Action |
|------|--------|
| `path/to/file` | created / modified |
## Notes
- Invoked via: `/<skill-name>` skill
## Origin
- **Draft:** `wiki/sources/draft/DDMMYY-<ten>.md`
- **Commit:** _(filled by verify-before-commit)_
- **Date promoted:** _(filled by verify-before-commit)_
3. wiki の index と log を更新する:
llmwiki/wiki/index.md— 1行追記する:| [DDMMYY-<ten>](sources/draft/DDMMYY-<ten>.md) | draft | YYYY-MM-DD |llmwiki/wiki/log.md— 追記する:## YYYY-MM-DD — <skill-name> — <ten>
スキルが成果物も意思決定も一切生み出さない場合のみスキップします(例:
/caveman-statsのような表示専用モード)。