mcpField
N
new-project-setup

new-project-setup

github.com/rheinmirエージェントワークフロー10263 回インストール2 週間前に更新
リポジトリ

new-project-setup について

new-project-setupは、プロジェクトにllmwiki/を初期構築し、コードベースを整理するエージェントスキルです。テンプレートとスキルの設定、ナレッジベースの初期作成、WSL限定のRTK設定、レポート草案の作成を行います。

主な機能

  1. 01llmwiki/の有無を確認
  2. 02テンプレート同期とスキル導入
  3. 03ナレッジベースの構成と初期ページ作成
  4. 04WSL限定のRTK設定
  5. 05コードベースの概念とエンティティ整理

活用シーン

  1. 01新規プロジェクトでのllmwiki/初期化
  2. 02確認後の既存ナレッジベース再初期化
  3. 03README.mdやgo.modからのプロジェクト情報作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/rheinmir/setup --skill new-project-setup

インストール後、Claude Code で/new-project-setupを入力して読み込まれたか確認します。

詳細

スキル:new-project-setup

WHAT

目的とコンテキスト
  • 目的: あるプロジェクトの llmwiki/ を一から構築します。テンプレートの取得とスキルのインストール、Wiki のディレクトリ構成、RTK(WSL)、Wiki の初期データ作成、その後のコードベースのオンボーディングを行います。
  • トリガー(使用するタイミング): プロジェクトに llmwiki/ がまだない場合、または一からリセットする場合です。
  • 対象外: スキルを個別にインストールしません(sync-template のステップ 7 で処理します)。lint を個別に呼び出しません(onboard-codebase に含まれています)。WSL 以外では RTK をインストールしません。自動では起動しません(disable-model-invocation: true)。
メンタルモデル

llmwiki を確認 → sync-template(テンプレート + スキル) → Wiki のディレクトリ構成 → RTK(WSL のみ) → 初期データ作成(project-requirements + log + index) → onboard-codebase(concepts + entities + lint) → レポートを出力

入力と出力の契約
フィールド必須?意味
入力プロジェクトディレクトリはいプロジェクトのルートで実行します
入力README.md、package.json、または go.modいいえ初期データ作成時のプロジェクト名とスタックの情報源です
入力リセットへの回答llmwiki/ がすでに存在する場合リセットするかどうかです
出力llmwiki/wiki/{concepts,entities,sources/draft}、llmwiki/{skills,raw}はいディレクトリ構成と index.md、log.md、raw/.gitkeep です
出力llmwiki/wiki/sources/project-requirements.mdはいOKF フロントマター + ## Origin です
出力RTK のフック設定済みWSL のみrtk init -g + ~/.claude/settings.json のフックです
出力オンボーディング済み Wiki + レポートのドラフトはいonboard-codebase が生成する concepts/entities です
ルールと機能
  • RULE-01(必須):スキルのインストールは sync-template のステップ 7 で処理します。重複して実行しないでください。
  • RULE-02(必須):onboard-codebase には lint が含まれています。lint を追加で呼び出さないでください。
  • RULE-03(必須):curl の実行前に RTK のガード uname -r | grep -qi microsoft を必ず実行してください。
  • 機能:プロジェクトのファイルシステムへの書き込み、ネットワークアクセス(テンプレートの取得、RTK のダウンロード)、エージェントのグローバル設定(~/.claude/settings.json)の変更(rtk init -g 経由のみ)、子スキル sync-template と onboard-codebase の呼び出し。
失敗時の境界
  • llmwiki/ がすでに存在する場合 → 確認:ユーザーにリセットするか尋ねます。リセットしない場合は停止します。
  • WSL ではない場合 → RTK の手順をスキップします(エラーではありません)。
  • settings.json に RTK フックが見つからない場合 → 一部完了。「MANUAL: add rtk hook to settings.json」と出力します。
  • sync-template または onboard-codebase が失敗した場合 → そのステップで失敗として、ユーザーに報告します。

HOW

メインワークフロー
ステップ種別入力アクション出力/終了条件失敗時/次の処理
W01決定的プロジェクトルートllmwiki の存在を確認exists または missingexists → B01
W02副作用ありネットワークsync-template を呼び出す:テンプレートを取得 + スキルをインストールコマンド + インストール済みスキルエラー → 失敗
W03副作用あり—Wiki のフォルダー構成を初期化ディレクトリ構成—
W04副作用ありOSRTK トークンプロキシ(WSL のみ)— B02RTK のフック設定済みWSL 以外 → スキップ;フックがない → MANUAL
W05判断README/package.json/go.modWiki の初期データを作成:project-requirements、log、index初期ページ—
W06副作用ありコードベースonboard-codebase を呼び出すconcepts + entities + lintエラー → 失敗
W07副作用あり結果レポートのドラフトを出力ドラフト + index + log—

各ステップの詳細(W01~W07 の正規の情報源):

1. llmwiki の存在を確認:

test -d llmwiki && echo exists || echo missing

exists の場合 → ユーザーにリセットするか尋ねます。リセットする場合は concepts/ + entities/ を削除し、log.md + sources/ は保持します。

2. テンプレートを取得 + スキルをインストール:

# INVOKE: sync-template
# sync-template tự pull từ rheinmir/setup@orca và install skills vào:
#   .claude/commands/           → Claude Code
#   ~/.agents/skills/*/SKILL.md → OpenCode / Antigravity

3. Wiki のフォルダー構成を初期化:

mkdir -p llmwiki/wiki/{concepts,entities,sources/draft} llmwiki/{skills,raw}
touch llmwiki/wiki/index.md llmwiki/wiki/log.md llmwiki/raw/.gitkeep

4. RTK トークンプロキシ(WSL のみ):

# Guard — chỉ chạy trong WSL:
uname -r | grep -qi microsoft || { echo "RTK install: WSL only — skip"; exit 0; }

# CHECK đã cài chưa:
rtk --version 2>/dev/null || {
  curl -fsSL https://github.com/rtk-ai/rtk/releases/latest/download/rtk-x86_64-unknown-linux-musl.tar.gz \
    | tar xz -C /usr/local/bin
}

# Init global config + patch ~/.claude/settings.json:
rtk init -g

# Verify hook:
grep -q "rtk hook claude" ~/.claude/settings.json && echo "RTK hooked" || echo "MANUAL: add rtk hook to settings.json"

5. Wiki の初期データを作成:

# Đọc README.md, package.json hoặc go.mod → project name + stack
  • llmwiki/wiki/sources/project-requirements.md を作成します — フロントマター + ## Origin
  • OKF v0.1(R9): フロントマターは、空でない type を含む YAML ブロック --- です。_template.md をコピーし、太字の **Type:** は使わないでください(旧形式です)。
  • llmwiki/wiki/log.md に ## YYYY-MM-DD — init — <project-name> を追記します。
  • llmwiki/wiki/index.md を作成します — ヘッダー + 空のテーブル

6. 呼び出し:onboard-codebase → concepts/ + entities/ を生成し、lint を実行します。

分岐
ID種類条件動作スキップ/失敗再開先
B01conditional_requiredW01 が exists を返すユーザーにリセットするか確認する。リセットする場合は concepts/ + entities/ を削除し、log.md + sources/ は保持するユーザーがリセットしない場合 → 停止W02
B02conditional_requiredカーネルに「microsoft」が含まれる(WSL)RTK がまだない場合はインストールし、rtk init -g を実行してフックを検証するWSL でない場合 → 手順 4 をスキップW05
検証と停止

次のコマンドで確認します:test -d llmwiki が exists を返すこと。WSL では settings.json を grep して「RTK hooked」が含まれること。project-requirements.md に frontmatter type(R9)と ## Origin があること。Lint は onboard-codebase 内で実行し、再実行しません。レポートの出力後に停止します。

例
  • 成功例: macOS 上の新しい Go リポジトリに llmwiki/ がない場合 → W01 が missing を返す → sync-template → 骨組みを作成 → RTK の手順で「RTK install: WSL only — skip」と出力 → go.mod から seed → onboard-codebase → DDMMYY-init-<project>.md の下書きを作成。
  • 境界/失敗例: llmwiki/ がすでにあるプロジェクトで再実行 → W01 が exists を返す → リセットするか確認する。ユーザーが同意した場合 → concepts/ + entities/ のみを削除し、log.md と sources/ はそのまま残す。
納品 — 出力レポート

スキルの主要タスクがすべて完了したら、Wiki に下書きの提案を作成します。

手順

1. ファイル名を作成します:

  • 形式:DDMMYY-<ten>.md
  • DDMMYY = 今日の日付(例:2026 年 6 月 2 日の場合は 020626)
  • <ten> = 実施した内容を要約する 2~4 語の kebab-case(例: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 のインデックスとログを更新します:

  • 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 のような表示のみのモード)。

コメント