mcpField
J
join-project

join-project

github.com/rheinmir开发10254 次安装2 周前更新
代码仓库

关于 join-project

join-project 是面向 Agent 和开发者的只读技能,用于快速了解已有 llmwiki 的项目。它汇总项目背景、近期变化、技术概念及本地 skills 和 harness 状态,不会臆测 wiki 中的缺失内容。

主要功能

  1. 01读取 llmwiki 索引、日志和架构
  2. 02提取引用最多的三个概念
  3. 03检查本地 skills 和 harness 状态
  4. 04标明信息缺口,不虚构内容
  5. 05生成导向报告草稿

适用场景

  1. 01帮助新加入项目的开发者熟悉代码库
  2. 02查看近期变化和待处理事项
  3. 03发现缺失的 skills 或 harness 配置

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/join-project确认已加载。

详细介绍

技能:join-project

内容

目的与背景
  • 目的: 快速了解已有 llmwiki/ 的进行中项目,掌握其背景(项目是什么、主要技术要点、近期变更、工具状态),而无需重新分析整个代码库。
  • 触发条件(何时使用): Agent 或开发者在项目进行中途加入,且项目已有 llmwiki/;需要快速了解背景,而无需重新分析整个代码库。
  • 非目标: 不修改 wiki(对 wiki 页面只读);不安装 harness / RTK / 工具(由 new-project-setup 或 /harness-update 处理,由用户决定);不为尚无 wiki 的代码库做 onboarding(→ new-project-setup;缺口部分 → onboard-codebase)。
思维模型

已有 llmwiki/ → index + log + Architecture → 被 [[link]] 引用最多的 3 个概念 → skills/harness 状态 → 为新加入的人员/Agent 整理导览报告。Wiki 是信息源;该技能只读取并总结,不通过猜测填补空白。

输入与输出约定
字段必需?含义
输入repo 有 llmwiki/wiki/index.md是缺少 → 停止,建议使用 new-project-setup
输入llmwiki/wiki/concepts/Architecture.md否若存在,则读取以获取技术栈
输出导览报告是项目 + 技术栈 · 3 个技术要点 · 近期变更与待处理事项 · skills 状态(已安装/缺失)· 对重大缺口建议使用 onboard-codebase
输出harness 状态是harness: ON 或 MISSING(仅报告)
输出报告草稿是(无产物/决策时除外)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。

使用方法

主工作流
步骤类型输入操作输出/退出失败/后续
W01确定性repo检查 llmwiki 是否有效 + harness 是否已安装正常 / 缺失llmwiki 缺失 → 阻塞;harness 缺失 → B01
W02有副作用wiki读取 index、最新的 20 条 log entries,以及 Architecture.md(如有)概览—
W03确定性wiki找出被 [[reference]] 引用最多的 3 个概念,并读取各自文件3 个概念结果为空 → B02
W04确定性机器检查工具(.claude/commands/、~/.agents/skills/)已安装/缺失缺失 → B03
W05判断W02–W04综合并报告导览报告存在重大缺口 → 建议使用 onboard-codebase
W06有副作用结果输出报告草稿(Delivery 部分)草稿 + index + log无产物/决策 → 跳过

各步骤详情(W01–W05 的权威来源):

1. 检查——llmwiki 是否有效?Harness 是否已安装?

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。 如果 harness 为 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. 找出被引用最多的 3 个概念:

grep -roh '\[\[.*?\]\]' llmwiki/wiki/ | sort | uniq -c | sort -rn | head -5

→ 从列表中选出 3 个概念文件,并逐一读取。 结果为空时的回退方式:

ls -t llmwiki/wiki/concepts/ | head -3

按 mtime 读取最前面的 3 个文件。

4. 检查工具:

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(第 7 步会自动安装所有内容)。

5. 综合并报告: 输出:

  • 项目是什么、主要技术栈(来自 Architecture.md 或 index)
  • 最重要的 3 个技术要点(来自刚才读取的 concepts)
  • 近期变更与待处理事项(来自 log.md)
  • Skills 状态(已安装/缺失)
  • 如果 wiki 存在重大缺口:建议针对相应部分使用 INVOKE: onboard-codebase
分支
ID类型条件行为跳过 / 失败汇合点
B01conditional_required不存在 llmwiki/.claude/hooks/pre_tool_use.py报告 "harness: MISSING",建议用户调用 /harness-update不自动安装W02
B02recoverygrep [[...]] 结果为空回退到 ls -t llmwiki/wiki/concepts/,获取最新的 3 个文件,并按修改时间读取前 3 个文件concepts/ 为空 → 报告 wiki 为空W04
B03conditional_required缺少 skills(Claude 或 Agent)建议 INVOKE: sync-template—W05
验证与停止条件

W05 报告必须包含全部 5 个部分;所有陈述都必须能追溯到已读取的 wiki 文件。如果缺少 llmwiki,则立即在 W01 停止。

示例
  • 正例: repo 中有 llmwiki/ + harness → W01 "ok" + "harness: ON" → 读取 index/log/Architecture → 3 个 concept 顶部链接 → 报告 "Project X,技术栈为 Next.js + Postgres;3 个技术要点……;recent:5 条 log 记录;skills:已安装"。
  • 边界情况/失败: repo 中没有 llmwiki/wiki/index.md → 输出 "llmwiki missing — run new-project-setup instead" 并停止,不再继续读取,也不编造概述。
交付 — 输出报告

完成所有主要 skill 任务后,将一份提案草稿写入 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 — 追加一行:| [DDMMYY-<ten>](sources/draft/DDMMYY-<ten>.md) | draft | YYYY-MM-DD |
  • llmwiki/wiki/log.md — 追加:## YYYY-MM-DD — <skill-name> — <ten>

仅当该 skill 未产生任何产物且未做出任何决策时才跳过(例如,像 /caveman-stats 这样的纯显示模式)。

评论

支持 Markdown