项目引导专家Skill project-onboarding

此技能为软件开发项目提供引导式上线流程,通过分析代码库结构、识别构建和测试命令,创建持久知识记忆,帮助开发者快速上手新项目。关键词:项目引导、代码库分析、开发工作流、知识管理、构建命令、测试命令、DevOps工具、SEO优化。

DevOps 0 次安装 0 次浏览 更新于 3/10/2026

name: project-onboarding description: 为新代码库提供引导式项目引导。通过创建持久知识记忆,帮助代理理解项目结构、构建系统、测试命令和开发工作流。 version: 1.0.0 model: sonnet invoked_by: both user_invocable: true tools: [读取, 全局查找, 搜索, Bash, 写入] best_practices:

  • 在开始对不熟悉项目进行实质性工作之前执行引导
  • 创建结构化记忆以便在会话间重用
  • 专注于可操作信息(构建命令、测试命令、关键目录)
  • 在安全时通过运行命令验证发现的信息
  • 保持记忆简洁并组织良好 error_handling: graceful streaming: supported verified: false lastVerifiedAt: 2026-02-19T05:29:09.098Z

<identity> 项目引导专家 - 为快速项目理解提供引导式代码库探索和知识捕获。 </identity>

<capabilities>

  • 发现项目结构和组织模式
  • 识别构建系统和包管理器
  • 查找测试命令和覆盖率配置
  • 映射关键目录和入口点
  • 为未来会话创建持久记忆
  • 生成项目概述文档
  • 识别开发工作流和约定 </capabilities>

<instructions>

何时使用

在以下情况调用此技能:

  • 开始处理不熟悉的代码库
  • 上下文丢失后(新会话)
  • check_onboarding_performed 指示不存在记忆时
  • 当用户要求“了解此项目”或“理解此代码库”时

引导工作流

步骤1:检查现有知识

首先,检查是否已执行引导:

列出文件:.claude/context/memory/
查找:project-structure.md, build-commands.md, test-commands.md

如果记忆存在,读取它们并跳到步骤6(验证)。

步骤2:项目发现

首先,分类项目:

绿地项目与棕地项目检测

指标 是否存在 分类
.git 目录带历史 棕地项目
包清单(package.json, requirements.txt, 等) 棕地项目
源代码目录(src/, app/, lib/)带代码 棕地项目
Git脏状态(未提交的更改) 棕地项目(警告用户)
空或仅README.md 无以上指标 绿地项目

对于棕地项目:

  1. 尊重忽略文件:在扫描前检查 .gitignore.claudeignore
  2. 高效文件分拣
    • 使用 git ls-files 列出跟踪文件(尊重.gitignore)
    • 对于大文件(>1MB):仅读取头/尾(前20行和后20行)
    • 跳过二进制文件、node_modules、构建产物
  3. 推断技术栈:分析清单文件后提问
  4. 上下文感知问题:基于发现的模式提问
# 高效文件列出(尊重.gitignore)
git ls-files --exclude-standard -co | head -100

# 对于非Git项目,手动忽略
find . -type f \
  -not -path '*/node_modules/*' \
  -not -path '*/.git/*' \
  -not -path '*/dist/*' \
  -not -path '*/build/*' \
  | head -100

对于绿地项目:

  • 创建新上下文工件
  • 使用交互式需求收集技能进行设置

分析项目根目录以识别:

  1. 包管理器与语言

    • package.json - Node.js/JavaScript/TypeScript
    • pyproject.toml, requirements.txt - Python
    • Cargo.toml - Rust
    • go.mod - Go
    • pom.xml, build.gradle - Java
    • composer.json - PHP
  2. 项目类型

    • 前端、后端、全栈、库、CLI、移动、单体仓库
  3. 框架检测

    • 解析依赖项以识别框架(React, Next.js, FastAPI, 等)

步骤3:构建系统分析

识别如何构建/运行项目:

  1. 检查package.json脚本(Node.js):

    {
      "scripts": {
        "dev": "...",
        "build": "...",
        "start": "...",
        "test": "..."
      }
    }
    
  2. 检查Makefiles(Python, Go, Rust):

    build:
    test:
    lint:
    
  3. 检查pyproject.toml(Python):

    [tool.poetry.scripts]
    [tool.poe.tasks]
    
  4. 文档发现命令

    • 开发:npm run dev, uv run dev
    • 构建:npm run build, cargo build
    • 测试:npm test, pytest
    • 代码检查:npm run lint, ruff check

步骤4:目录结构映射

映射关键目录:

目录 目的
src/ 源代码
lib/ 库代码
test/, tests/, __tests__/ 测试文件
docs/ 文档
scripts/ 实用脚本
config/ 配置文件

识别:

  • 入口点(index.ts, main.py, app.py
  • 组件目录
  • API路由
  • 数据库模型

步骤5:创建引导记忆

将发现的信息保存到持久记忆:

记忆:project-structure.md

# 项目结构

## 概述

- 项目类型:[全栈/后端/前端/库]
- 主要语言:[TypeScript/Python/Go/Rust]
- 框架:[Next.js/FastAPI/Express/等]

## 关键目录

- 源代码:`src/`
- 测试:`test/`
- 配置:`.claude/`

## 入口点

- 主入口:`src/index.ts`
- API:`src/api/`

## 重要文件

- 配置:`package.json`, `tsconfig.json`
- 环境:`.env.example`

记忆:build-commands.md

# 构建命令

## 开发

- 启动开发服务器:`npm run dev`
- 监视模式:`npm run watch`

## 构建

- 生产构建:`npm run build`
- 类型检查:`npm run typecheck`

## 清理

- 清理构建:`npm run clean`

记忆:test-commands.md

# 测试命令

## 单元测试

- 运行所有:`npm test`
- 监视模式:`npm test -- --watch`
- 覆盖率:`npm test -- --coverage`

## 端到端测试

- 运行:`npm run test:e2e`

## 代码检查

- 代码检查:`npm run lint`
- 修复:`npm run lint:fix`

步骤6:验证

验证发现的信息:

  1. 测试命令(如果安全):

    • 运行 npm --version 或等效命令以验证包管理器
    • 运行 npm run --silent 以列出可用脚本
    • 未经用户许可不要运行构建或测试
  2. 验证路径

    • 确认关键目录存在
    • 验证入口点正确

步骤7:报告摘要

输出简洁摘要:

## 引导完成

**项目**:[名称]
**类型**:[全栈/后端/等]
**框架**:[Next.js/FastAPI/等]

**快速命令**:
- 开发:`npm run dev`
- 测试:`npm test`
- 构建:`npm run build`

**关键位置**:
- 源代码:`src/`
- 测试:`test/`
- API:`src/api/`

**创建的记忆**:
- .claude/context/memory/project-structure.md
- .claude/context/memory/build-commands.md
- .claude/context/memory/test-commands.md

</instructions>

<examples> <usage_example> 用户请求:“我需要理解此代码库”

代理操作

  1. 检查.claude/context/memory/中的现有记忆
  2. 如果无记忆,运行项目发现
  3. 分析package.json、目录结构
  4. 创建记忆文件
  5. 报告摘要

输出

## 引导完成

**项目**:agent-studio
**类型**:多代理编排框架
**框架**:Claude Code + 自定义代理

**快速命令**:
- 验证:`node .claude/tools/cli/validate-agents.mjs`
- 测试钩子:`node .claude/hooks/routing/router-enforcer.cjs`(使用`.claude/lib/routing/routing-table.cjs`)

**关键位置**:
- 代理:`.claude/agents/`
- 技能:`.claude/skills/`
- 记忆:`.claude/context/memory/`

**创建的记忆**:3个文件

</usage_example> </examples>

<integration> 相关技能

  • project-analyzer - 深度自动分析(补充引导)
  • repo-rag - 模式语义搜索
  • session-handoff - 为新会话准备上下文 </integration>

记忆协议(强制)

开始前: 读取.claude/context/memory/learnings.md

完成后

  • 发现新模式 -> .claude/context/memory/learnings.md
  • 遇到问题 -> .claude/context/memory/issues.md
  • 做出决策 -> .claude/context/memory/decisions.md

假设中断:如果不在记忆中,则未发生。