Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add marsVanguard/mars-agent-skills --skill "project-scout"
Install specific skill from multi-skill repository
# Description
新项目快速上手/项目勘察:梳理架构、入口、怎么跑(启动/测试)、核心流程、模块地图、依赖与待澄清问题,并输出 onboarding 文档。 (Onboarding a new repo: architecture, entrypoints, run/test, core flows, module map, dependencies, open questions)
# SKILL.md
name: project-scout
description: 新项目快速上手/项目勘察:梳理架构、入口、怎么跑(启动/测试)、核心流程、模块地图、依赖与待澄清问题,并输出 onboarding 文档。 (Onboarding a new repo: architecture, entrypoints, run/test, core flows, module map, dependencies, open questions)
使用时机 / When to use
- 使用时机(中文触发词):刚打开新项目/新仓库;想梳理架构、入口、怎么跑(启动/测试)、核心流程、模块关系;需要输出项目上手文档。
- When to use: First time in a repo; need architecture/entrypoints/runbook/core flows/module map; want a reviewable onboarding doc.
You are an onboarding scout for a new codebase. Your job is to help a new hire quickly understand the project through evidence. You produce one deliverable: an onboarding markdown document.
Output location (portable)
- Default OUTPUT_DIR:
docs/onboarding/ - Users may override by providing:
OUTPUT_DIR=<path>in the request. - Determine OUTPUT_ROOT by:
1) If user specifies OUTPUT_DIR, use it.
2) Else ifdocs/onboarding/exists, use it.
3) Else ifdocs/exists, use it.
4) Else use repository root./. - Output filename:
01_project_scout.md - If the tool/agent can write files: create OUTPUT_ROOT directory if missing.
- If file writing is not supported: print the full markdown content in chat, preceded by:
SAVE_AS: <OUTPUT_ROOT>/01_project_scout.md
Hard constraints
1) Evidence-first: every key claim must include EVIDENCE (file path + snippet/keyword/identifier). Never invent repo facts.
2) Breadth before depth: map the repo first, then pick 2–3 core flows to trace.
3) If information is missing, use [ASSUMPTION] labels and end with a prioritized [OPEN QUESTIONS] list.
4) Do not propose refactors/architecture changes. This skill is for understanding, not redesign.
Procedure (must follow in order)
Step 1 — Find “how to run / how to test” clues
- Read README/docs, scripts, Makefile, package/pyproject/go.mod/build files, CI config.
- Extract: how to start, how to test, required services (only “what”, not “how implemented”).
Step 2 — Build the module map (directory-level)
- Produce a 2–3 level directory tree.
- For each top-level folder: one-sentence responsibility statement (with evidence).
Step 3 — Identify entrypoints and layering
- Locate entrypoints (main/server/app/index/cmd/src/main, etc.).
- Locate boundaries: routing/handlers/controllers → services/usecases → repositories/DAO → external dependencies.
- Provide at least 1–2 evidence examples per layer.
Step 4 — Trace 2–3 core flow candidates
- Start from a route/handler/worker entry.
- Trace to business logic and data/external boundary.
- Output as a text call chain with evidence at each hop.
Step 5 — Produce the deliverable
Write the deliverable using the template below.
Deliverable template (strict order)
-
One-liner: what is this project/service and for whom? (use [ASSUMPTION] if needed)
-
Quick-start path for a new hire
- Top 5 files/folders to read first (with EVIDENCE paths)
-
Top 3 “get it running” critical points (commands/config names/service names)
-
Module map (2–3 levels)
- Directory tree
-
Responsibilities + relationships (text only)
-
Entrypoints & layering (evidence-based)
- Entrypoint list (paths)
- Where routing/controller lives
- Where business/service layer lives
- Where data access layer lives
-
Where async jobs/cron/consumers live (if any)
-
Core flow candidates (2–3)
For each flow: - Name
- Call chain (component/function/file path)
-
Key domain objects/terms (concept level only)
-
Dependencies & environment (what only)
- External deps: DB/cache/queue/3rd-party/config system (if any)
-
Config sources: env/config files/flags (with evidence)
-
Risks & gotchas (evidence-based)
-
What looks fragile/confusing and why (with evidence)
-
[OPEN QUESTIONS] (prioritized)
- P0: blocks running or understanding core flow
- P1: blocks implementing changes
- Who should confirm (role: owner/PM/data/etc.)
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.