repo-analysis

Read, explain, and evaluate a software repository or GitHub project in an engineering-oriented way. Use when the user asks to read a repo, understand a codebase, analyze architecture, evaluate whether a project is worth following or adopting, prepare onboarding notes, or summarize stack, module boundaries, risks, and entry points. Supports three output modes: 速读版, 架构版, and 接手评审版. Also supports a lightweight GitHub health layer for public repositories when the user asks whether a project is worth following, adopting, or referencing. Triggers include requests like 读一下这个项目, 看看这个 GitHub 仓库, 分析一下 repo, 这个项目怎么样, 帮我快速理解代码结构, 给我一个架构分析, or 给我一个接手评审.

3,891 stars

Best use case

repo-analysis is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Read, explain, and evaluate a software repository or GitHub project in an engineering-oriented way. Use when the user asks to read a repo, understand a codebase, analyze architecture, evaluate whether a project is worth following or adopting, prepare onboarding notes, or summarize stack, module boundaries, risks, and entry points. Supports three output modes: 速读版, 架构版, and 接手评审版. Also supports a lightweight GitHub health layer for public repositories when the user asks whether a project is worth following, adopting, or referencing. Triggers include requests like 读一下这个项目, 看看这个 GitHub 仓库, 分析一下 repo, 这个项目怎么样, 帮我快速理解代码结构, 给我一个架构分析, or 给我一个接手评审.

Teams using repo-analysis should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/repo-analysis/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/9penny/repo-analysis/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/repo-analysis/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How repo-analysis Compares

Feature / Agentrepo-analysisStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Read, explain, and evaluate a software repository or GitHub project in an engineering-oriented way. Use when the user asks to read a repo, understand a codebase, analyze architecture, evaluate whether a project is worth following or adopting, prepare onboarding notes, or summarize stack, module boundaries, risks, and entry points. Supports three output modes: 速读版, 架构版, and 接手评审版. Also supports a lightweight GitHub health layer for public repositories when the user asks whether a project is worth following, adopting, or referencing. Triggers include requests like 读一下这个项目, 看看这个 GitHub 仓库, 分析一下 repo, 这个项目怎么样, 帮我快速理解代码结构, 给我一个架构分析, or 给我一个接手评审.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Repo Analysis

## Overview

Use this skill to turn an unfamiliar repository into a concrete engineering assessment.
The goal is not to restate the README, but to identify what the project is, how it is structured, how it runs, where the main boundaries are, and what risks or follow-up questions matter.

Default mindset:
- engineering-first
- evidence-first
- broad scan before deep reading
- explicit separation of fact, inference, and unknowns

## Output modes

Choose one mode as early as possible.
If the user does not specify, choose the lightest mode that still answers the request.
Prefer explicit user choice over automatic detection.

### Mode 1: 速读版

Use when the user wants a fast understanding.
Typical asks:
- "读一下这个项目"
- "帮我看看这个 repo 是干嘛的"
- "快速理解一下这个仓库"

Goal:
- tell the user what the project is
- identify stack and repo shape
- map the top-level modules
- summarize major strengths and risks
- recommend what to read next

Depth:
- broad scan
- minimum high-signal files
- one or two entry points at most

Expected output size:
- short to medium

### Mode 2: 架构版

Use when the user wants system structure, runtime flow, or design analysis.
Typical asks:
- "给我一个架构分析"
- "这个项目主链路是什么"
- "帮我拆一下模块边界"
- "分析它怎么运行的"

Goal:
- explain the system shape
- map module boundaries and ownership
- trace one or two critical execution paths
- identify important abstractions and complexity hotspots

Depth:
- targeted deep reading of core services and entry points
- may include backend, frontend, plugin, runtime, queue, or deployment chain

Expected output size:
- medium to long

### Mode 3: 接手评审版

Use when the user wants adoption, maintenance, or takeover judgment.
Typical asks:
- "这个项目值不值得接手"
- "给我一个接手评审"
- "我们要不要基于它二开"
- "从工程上看风险大不大"

Goal:
- judge maturity, maintainability, and operational complexity
- identify high-risk modules and safer entry points
- estimate onboarding/takeover cost
- suggest a pragmatic reading and change strategy

Depth:
- architecture + repo health + risk evaluation
- optional GitHub enhancement when public metadata matters

Expected output size:
- medium to long

## Automatic mode selection

When the user does not explicitly choose a mode, infer it from intent.

### Default to 速读版

Use 速读版 when the user says things like:
- "读一下这个项目"
- "看看这个 repo"
- "这个项目怎么样"
- "快速理解一下"
- "帮我看看它是做什么的"

Behavior:
- give a concise engineering summary
- if it is a public GitHub repo, optionally add a light GitHub health layer
- do not expand into deep architecture unless needed
- by default, follow only one main execution path; avoid second-layer architecture decomposition unless the user asks
### Default to 架构版

Use 架构版 when the user says things like:
- "给我一个架构分析"
- "主链路是什么"
- "模块边界怎么划分"
- "怎么运行的"
- "message flow / runtime / workflow 怎么走"

Behavior:
- trace entry points and critical flows
- prioritize runtime, message, deployment, or plugin boundaries when relevant
- answer primarily "系统怎么工作"
- do not spend too much space on adoption judgment unless asked

### Default to 接手评审版

Use 接手评审版 when the user says things like:
- "值不值得接手"
- "适不适合二开"
- "风险大不大"
- "给我一个接手评审"
- "我们要不要基于它做"

Behavior:
- prioritize maintainability, maturity, complexity, and safe entry points
- explicitly identify high-risk modules
- answer primarily "我们敢不敢接、该怎么接、代价是什么"
- suggest an onboarding and modification strategy

### Explicit override wins

If the user explicitly asks for:
- "速读版"
- "架构版"
- "接手评审版"

Then use that mode directly, even if other phrasing suggests something else.

### Mixed requests

If the user mixes intents, choose a primary mode and keep the rest lightweight.

Example:
- "先快速看一下,再说值不值得接手"
  - primary mode: 速读版
  - secondary: add a short takeover judgment

If both parts are clearly important, say which mode you are using first and note what is being kept brief.

## Default workflow

Follow this order unless the user asks for a narrower slice.

1. Clarify the analysis target
2. Choose output mode
3. Scan repository shape and stack
4. Read the minimum set of high-signal files
5. Map architecture and runtime flow as needed
6. Judge health, risks, and adoption cost as needed
7. Output a structured engineering summary

Keep the investigation evidence-based. Prefer direct repo evidence over guesswork.
Use a simple evidence ladder when reporting:
- **已确认**: direct observation from files, manifests, docs, tests, or official metadata
- **推测**: a reasonable inference from the available evidence
- **待验证**: plausible but not yet confirmed

## 1. Clarify the analysis target

First determine which of these the user actually wants:

- **Quick understanding**: what the project does, stack, rough structure
- **Architecture reading**: modules, runtime flow, key abstractions
- **Adoption / takeover review**: maintainability, risk, maturity, onboarding cost
- **Implementation entry points**: where to start reading or modifying code
- **GitHub project review**: combine repo structure with community / activity signals

Also determine the target scope as early as possible:
- **whole repository / monorepo**
- **subproject / service / package**
- **single module / directory**

Call out the scope explicitly in the answer when it materially affects depth.
Examples:
- "当前目标是整仓,我先按速读版给整体判断。"
- "当前目标是前端子项目,所以这次聚焦 portal 本身。"

If the request is broad and you can proceed safely, default to:
- project positioning
- tech stack
- module structure
- main execution path
- strengths
- risks
- recommended reading order

## 2. Scan repository shape and stack

Start broad, then narrow.

Collect these first:
- root directory tree
- key docs: `README*`, `CONTRIBUTING*`, `ARCHITECTURE*`, `CLAUDE.md`, `AGENTS.md`
- stack manifests: `package.json`, `pyproject.toml`, `Cargo.toml`, `go.mod`, `pom.xml`, `docker-compose*`, `Dockerfile*`
- main app directories: `src/`, `app/`, `server/`, `backend/`, `frontend/`, `cmd/`, `crates/`, `packages/`

Questions to answer early:
- Single app or monorepo?
- Product app, library, platform, or infra project?
- Primary languages and frameworks?
- Local run path and deployment path?
- Evidence of production readiness: tests, migrations, CI, observability, auth, docs?

## 3. Read the minimum high-signal files

Do not read everything. Read the smallest set that explains the system.

Priority order:
1. Root `README*`
2. Service/module README files
3. Stack manifests (`package.json`, `pyproject.toml`, etc.)
4. Main entry points (`main.*`, `index.*`, router/bootstrap files)
5. Architecture or deployment docs
6. A few core service files that reveal control flow

Use these patterns to find entry points:
- Backend: `main.py`, `app/main.py`, `server.ts`, `cmd/*/main.go`
- Frontend: `src/main.ts`, `src/App.*`, router/store setup
- Infra/runtime: `docker-compose.yml`, Helm, deployment scripts, CI workflows
- Plugin/adapter systems: registries, factories, adapters, interfaces, hooks

## 4. Map architecture and runtime flow

Build an internal map of the project using these lenses.

### A. Product boundary
- What problem does the project solve?
- Who uses it?
- Is it a framework, a business app, an internal platform, or a runtime layer?

### B. Module boundary
Identify the major modules and what each owns.

Good output shape:
- `portal/` → user UI
- `backend/` → API and orchestration
- `proxy/` → LLM/provider relay
- `plugin/` → integration with external runtime

### C. Execution path
Trace one or two important paths end to end.
Examples:
- request → router → service → model → DB
- browser action → frontend API client → backend route → runtime adapter
- incoming message → transport → queue/bus → worker → response channel

### D. Data and control points
Look for:
- auth / identity
- persistence layer
- messaging / event bus / queue
- deployment / compute abstraction
- configuration / feature flags
- plugin / extension loading

### E. Operating complexity
Check whether the project includes:
- multi-service coordination
- async jobs / event streaming
- multi-tenant or RBAC logic
- runtime abstraction layers
- dual CE/EE branches
- security hooks / policy engines

These areas usually dominate maintenance cost.

## 5. Judge health, risks, and adoption cost

Evaluate with engineering judgment, not marketing language.

### Health signals
Look for:
- clear docs
- coherent directory structure
- explicit configuration examples
- migrations / schema management
- tests or at least test scaffolding
- CI/CD or deploy scripts
- issue / PR hygiene when GitHub metadata is available

### Risk signals
Look for:
- architecture more ambitious than implementation depth
- many abstraction layers with unclear payoff
- naming inconsistency
- weak tests around critical flows
- implicit runtime assumptions
- hand-rolled infra/security with little validation
- monorepo sprawl without clear boundaries

### Adoption / takeover cost
Comment on:
- how long a new engineer would need to become effective
- which modules are safest to modify first
- which modules are high-risk to touch
- where observability/debugging will likely be painful

### Optional GitHub enhancement
When the target is a public GitHub repository and the user wants evaluation, not just code reading, optionally add a lightweight GitHub health layer.

Use it when the user asks things like:
- "这个项目怎么样"
- "值不值得跟"
- "适不适合采用"
- "值不值得参考 / 二开"

Keep it lightweight. Only add the signals that materially help engineering judgment:
- project health signals: stars, forks, license, commit recency, release rhythm
- maintenance signals: whether issue / PR activity is still moving, and whether maintainers appear engaged
- documentation signals: whether README / docs / CONTRIBUTING are present and useful

Do **not** turn the answer into a market report or community roundup by default.
Treat this as an enhancement layer. Do not let external hype replace code-level judgment.

## 6. Mode-specific output templates

Use the template that matches the chosen mode.

### A. 速读版

Use this when speed matters more than depth.

#### 问题判断
- 这是什么类型的项目
- 大概处于什么成熟度阶段

#### 原因分析
- 从目录、README、依赖清单、入口文件里看到的直接证据

#### 快速结论
- 项目定位
- 技术栈
- 顶层模块
- 一个主链路简述
- 亮点
- 风险

如果目标是公共 GitHub 仓库,且用户明显在问“值不值得看 / 跟 / 用”,可额外补一个短块:
- GitHub 健康度补充

控制规则:
- 速读版默认只展开一条主链路
- 如果目标是整仓,只给第一层模块地图,不展开每个子系统内部细节
- GitHub 健康度补充保持简短,不能盖过代码本身

#### 阅读建议
- 接下来最值得看的 3–5 个文件或模块

#### 验证方式
- 已确认:
- 推测:
- 待验证:

### B. 架构版

Use this when structure and flow matter most.

#### 问题判断
- 系统是单体、平台、插件体系还是多运行时架构
- 复杂度主要集中在哪些层

#### 原因分析
- 入口文件、核心服务、路由、运行时/消息/部署层的证据

#### 架构拆解
- 产品边界
- 模块边界
- 关键抽象
- 核心链路 1
- 核心链路 2(如果有)
- 复杂度热点

#### 结论
- 架构优点
- 架构风险
- 最需要继续验证的设计点

#### 阅读建议
- 继续深读顺序
- 哪些文件是架构关键节点

#### 验证方式
- 已确认:
- 推测:
- 待验证:

### C. 接手评审版

Use this when the user wants engineering judgment for takeover or adoption.

#### 问题判断
- 这项目适不适合接手/二开/参考
- 当前工程成熟度大致在哪一档

#### 原因分析
- 文档质量
- 模块边界
- 测试与部署信号
- 关键复杂度来源
- 命名/历史包袱/多服务协同成本

#### 接手评审结论
- 项目定位
- 技术栈与部署形态
- 高风险模块
- 相对安全的切入点
- 接手成本
- 二开建议
- 不建议贸然改动的区域

如果目标是公共 GitHub 仓库,且用户明显在问是否采用,可额外补一个短块:
- GitHub 健康度补充

#### 建议方案
- 新人第一阶段阅读顺序
- 第一刀适合从哪里切
- 如果要上线/落地,先补哪些验证

#### 验证方式
- 已确认:
- 推测:
- 待验证:

## Output quality rules

Always:
- Separate fact from inference
- Cite concrete file paths when making non-obvious claims
- Prefer "this suggests" over overclaiming when evidence is partial
- Call out uncertainty clearly
- Optimize for helping an engineer take over the project faster
- Prefer official repo evidence over third-party commentary
- Use external GitHub/community signals only as supporting context
- Match output depth to the chosen mode
- Keep GitHub health signals lightweight and subordinate to repo evidence

Never:
- Just paraphrase README marketing copy
- Pretend you verified runtime behavior if you only read files
- Expand into irrelevant refactoring advice
- Judge quality only by stars or hype
- Let community sentiment override direct code evidence
- Use long-form architecture output when the user only asked for a quick read

## Suggested investigation checklist

Use this as a lightweight checklist, not a rigid form.

- [ ] Repo type identified
- [ ] Output mode chosen
- [ ] Primary stack identified
- [ ] Main entry points found
- [ ] Core modules mapped
- [ ] Run/deploy path identified
- [ ] Main data/control flow sketched when needed
- [ ] High-risk modules identified when needed
- [ ] Suggested reading order prepared
- [ ] Clear boundary between facts and inferences

## Reference files

Read these only when needed:
- `references/output-template.md` — reusable report templates for all modes
- `references/signals.md` — what to look for when judging maturity, risk, and takeover cost
- `references/github-health.md` — when to add a lightweight GitHub health layer and how to keep it brief
- `references/adapted-notes.md` — distilled methods borrowed from surveyed external skills

Related Skills

Margin Analysis & Profit Optimization

3891
from openclaw/skills

Analyze gross, operating, and net margins by product line, customer segment, and channel. Identify margin erosion patterns and build pricing power.

Business Analysis

Investment Analysis & Portfolio Management Engine

3891
from openclaw/skills

Complete investment analysis, portfolio construction, risk management, and trade execution methodology. Works across stocks, crypto, ETFs, bonds, and alternatives. Zero dependencies — pure agent skill.

Finance & Investing

Git Engineering & Repository Strategy

3891
from openclaw/skills

You are a Git Engineering expert. You help teams design branching strategies, implement code review workflows, manage monorepos, automate releases, and maintain healthy repository practices at scale.

DevOps & Infrastructure

FP&A Command Center — Financial Planning & Analysis Engine

3891
from openclaw/skills

You are a senior FP&A professional. You build financial models, run variance analysis, produce board-ready reports, and turn raw numbers into strategic decisions. You work with whatever data the user provides — spreadsheets, CSV, pasted numbers, or verbal estimates.

Finance & Analytics

ESG & Sustainability Reporting Framework

3891
from openclaw/skills

You are an ESG reporting specialist. Generate comprehensive Environmental, Social, and Governance reports aligned with 2026 disclosure standards.

Workflow & Productivity

Board Reporting Framework

3891
from openclaw/skills

Generate investor-ready board decks and reporting packages. Covers monthly board updates, quarterly deep dives, and annual reviews with the metrics that actually matter.

Workflow & Productivity

Annual Report Generator

3891
from openclaw/skills

Build a complete annual business report from raw data. Covers financial performance, operational metrics, strategic highlights, and forward-looking guidance.

Workflow & Productivity

data-analysis-partner

3891
from openclaw/skills

智能数据分析 Skill,输入 CSV/Excel 文件和分析需求,输出带交互式 ECharts 图表的 HTML 自包含分析报告

Data & Research

daily-report-generator

3891
from openclaw/skills

Automatically generate daily/weekly work reports from git commits, calendar events, and task lists. Use when you need to quickly create professional work reports without manual effort.

Workflow & Productivity

onchain-contract-token-analysis

3891
from openclaw/skills

Analyze smart contracts, token mechanics, permissions, fee flows, upgradeability, market risks, and likely attack surfaces for onchain projects. Use when reviewing ERC-20s, launchpads, vaults, staking systems, LP fee routing, ownership controls, proxy setups, or suspicious token behavior.

Security

resume-analysis

3891
from openclaw/skills

简历分析 skill。用于诊断整份简历的完整性、清晰度、岗位相关性、成果表达和结构质量。当用户说“分析简历”“看看我的简历”“简历诊断”时使用。

Workflow & Productivity

contradiction-analysis

3891
from openclaw/skills

触发:当问题复杂、存在多个冲突因素、优先级不清,或你不知道应该先解决什么时调用;常见信号包括 trade-off、瓶颈、根因不明、主次不清、多个问题互相牵制。 English: Trigger when a problem contains competing forces, unclear priorities, or no obvious entry point. Use this skill to identify contradictions, isolate the principal contradiction, classify its nature, and choose the right response.