mcpField
J
join-project

join-project

github.com/rheinmir開発10254 回インストール2 週間前に更新
リポジトリ

join-project について

join-projectは、既存のllmwikiがあるリポジトリに参加するエージェントや開発者向けの読み取り専用スキルです。プロジェクトの背景、最近の変更、技術概念、ローカルのスキルとハーネスの状態をまとめ、情報の不足を推測で補いません。

主な機能

  1. 01llmwikiの索引、ログ、構成を読む
  2. 02参照頻度の高い概念を3つ抽出
  3. 03ローカルのスキルとハーネスを確認
  4. 04情報の不足を示し、捏造しない
  5. 05状況報告のドラフトを作成

活用シーン

  1. 01プロジェクトに途中参加した開発者の把握
  2. 02最近の変更と未対応項目の確認
  3. 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 が情報源です。このスキルは読み取りと要約のみを行い、推測で空白を埋めません。

入力と出力の契約
FieldRequired?意味
Inllmwiki/wiki/index.md があるリポジトリはい見つからない場合 → 停止し、new-project-setup を提案
Inllmwiki/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

メインワークフロー
StepTypeInputsActionOutputs/exitFailure/next
W01deterministicrepollmwiki が有効か、ハーネスがインストール済みかを CHECKok / missingllmwiki がない → ブロック;ハーネスがない → B01
W02effectwikiindex、最新の log エントリ 20 件、存在する場合は Architecture.md を読む概要—
W03deterministicwiki[[reference]] された回数が最も多い 3 つの concepts を探し、各ファイルを READ3 concepts結果が空 → B02
W04deterministicマシンツールを CHECK(.claude/commands/、~/.agents/skills/)installed/missing不足 → B03
W05judgmentW02–W04統合してレポートを作成オリエンテーションレポート大きなギャップ → onboard-codebase を提案
W06effect結果レポートの下書きを出力(Delivery セクション)下書き + index + logartifact/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種類条件動作スキップ/失敗再合流
B01conditional_requiredllmwiki/.claude/hooks/pre_tool_use.py がない「harness: MISSING」と報告し、ユーザーに /harness-update の実行を提案する自動でインストールしないW02
B02recoverygrep [[...]] の結果が空ls -t llmwiki/wiki/concepts/ をフォールバックとして実行し、更新日時が新しいファイルを3件取得する。更新日時順で先頭3件を READ するconcepts/ が空 → wiki が空であると報告するW04
B03conditional_requiredskills が不足している(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 のような表示専用モード)。

コメント