agentleFS
jmylchreestjmylchreest/aide/skills/survey/SKILL.md

survey

Skill19 starsChanged 3 months agoMITView on GitHub

Explore codebase structure, entry points, tech stack, hotspots, and call graphs

21 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use daily-arxiv, exp-eval and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • LambenthanSkill

    daily-arxiv

    每日从 arXiv 拉取新论文,过滤相关性,auto-ingest 高优先级论文,检测 SOTA 更新

    Also in 5 projects that use this

  • LambenthanSkill

    exp-eval

    实验判决门:Review LLM 独立评判实验结果 → 4 种判决路径 → 自动更新 claims confidence、ideas status、graph edges

    Also in 5 projects that use this

  • skyllwtSkill

    exp-pilot-eval

    Pilot result evaluation — read pilot results, apply success criteria, update idea page (pilot_result, failure_reason if failed), generate PILOT_VERDICT_REPORT. Called by /ideate Phase 5 after /exp-pilot-run.

    Also in 4 projects that use this

  • skyllwtSkill

    exp-pilot-run

    Pilot experiment execution — read Pilot Spec YAML, write pilot code, run experiment(Confirm with the user before operation and require the applicant to conduct manual inspection), return results. Called by /ideate Phase 5. Does NOT modify wiki pages or judge pass/fail.

    Also in 4 projects that use this

  • phanghonghaoSkill

    poster

    HTML/CSS A4 海报生成。从沙龙/活动 Markdown 文件生成科技风 A4 海报 PDF/PNG。Use when user mentions: poster, 海报, 海报生成, make poster, generate poster, 活动海报, 沙龙海报.

    Also in 4 projects that use this

  • +6 more from Lambenthan
  • +1 more from skyllwt

The file

We split this skill into the rules it gives an agent

10 rules. 0 are common, 4 are distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 16 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If freshness shows an analyzer is commits behind HEAD, re-run survey_run before trusting its data.

    line 42
  2. Distinctive:

    Run analyzers to populate survey data.

    line 46
  3. Very specific:

    Use survey_stats to see if data exists

    line 127
  4. Very specific:

    If empty, run survey_run to populate

    line 128
  5. Very specific:

    Use direction=callers to find who invokes a function

    line 144
  6. Very specific:

    Use direction=callees to understand what a function depends on

    line 145
  7. Very specific:

    Survey data: Run aide survey run or use survey_run tool

    line 171
  8. Very specific:

    Code index (for entrypoints + graph): Run aide code index

    line 172
  9. Distinctive:

    Git history (for churn): Must be a git repository (uses go-git, no git binary needed)

    line 173
  10. Distinctive:

    Call graph is computed on demand from the code index (not stored)

    line 183

“Common” is measured: kept by at least 6 in 10 of the 16 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Codebase Survey

Recommended model tier: balanced (sonnet) - this skill performs structured queries

Understand the structure, technology, entry points, and change hotspots of a codebase. Survey describes WHAT the codebase IS — not code problems (use findings for that).

Available Tools

1. Survey Stats (mcp__plugin_aide_aide__survey_stats)

Start here. Get an overview of what has been surveyed: total entries, breakdown by analyzer and kind, and per-analyzer freshness (the git commit each analyzer last ran at, and how many commits behind HEAD it is).

Is the codebase surveyed?
→ Uses survey_stats
→ Returns: counts by analyzer (topology, entrypoints, churn, modules) and kind, plus freshness vs git HEAD

If freshness shows an analyzer is commits behind HEAD, re-run survey_run before trusting its data.

2. Survey Run (mcp__plugin_aide_aide__survey_run)

Run analyzers to populate survey data. Three analyzers available:

  • topology — Packages, workspaces, build systems, tech stack detection (filesystem view)
  • entrypoints — main() functions, HTTP handlers, gRPC services, CLI roots (cobra/urfave). Uses code index when available; falls back to file scanning
  • churn — Git history hotspots (files/dirs that change most often)
  • modules — Structural modules discovered by clustering the import/reference graph: what files actually belong together, which directory layout can hide. Requires the code index (aide code index)
Survey this codebase
→ Uses survey_run (no analyzer param = run all)
→ Returns: entry counts per analyzer, an added/removed diff vs the previous run, and the git commit the run is tagged with

3. Survey List (mcp__plugin_aide_aide__survey_list)

Browse entries filtered by analyzer, kind, or file path. No search query needed.

Kinds: module, entrypoint, dependency, tech_stack, churn, submodule, subproject, workspace, arch_pattern

What other projects live inside this repo?
→ Uses survey_list with kind=subproject
→ Returns: child project scopes (submodules, nested repos) with identity and whether each has its own .aide store — their files belong to THEIR stores, not this project's
What modules are in this codebase?
→ Uses survey_list with kind=module
→ Returns: all module entries

What technologies does this use?
→ Uses survey_list with kind=tech_stack
→ Returns: detected frameworks, languages, build systems

What files change most?
→ Uses survey_list with kind=churn
→ Returns: high-churn files ranked by commit count

4. Survey Search (mcp__plugin_aide_aide__survey_search)

Full-text search across entry names, titles, and details. Use when looking for specific modules or technologies.

Find anything related to "auth"
→ Uses survey_search with query="auth"
→ Returns: modules, entrypoints, churn entries matching "auth"

5. Call Graph (mcp__plugin_aide_aide__survey_graph)

Build a call graph for a symbol showing callers, callees, or both. BFS traversal over the code index.

Who calls BuildCallGraph?
→ Uses survey_graph with symbol="BuildCallGraph" direction="callers"
→ Returns: graph of calling symbols with file:line locations

What does handleSurveyRun call?
→ Uses survey_graph with symbol="handleSurveyRun" direction="callees"
→ Returns: graph of called symbols

Show call neighborhood of RunTopology
→ Uses survey_graph with symbol="RunTopology" direction="both"
→ Returns: both callers and callees

Parameters:

  • symbol (required): Function/method name
  • direction: "both" (default), "callers", "callees"
  • max_depth: BFS hops (default 2)
  • max_nodes: Max nodes (default 50)

Requires: Code index must be populated (aide code index).

Workflow

Orienting in an unfamiliar codebase

  1. Check survey status:
    • Use survey_stats to see if data exists
    • If empty, run survey_run to populate
  2. Understand the structure:
    • survey_list kind=module — What are the major modules?
    • survey_list kind=tech_stack — What technologies are used?
    • survey_list kind=workspace — Is this a monorepo?
  3. Find entry points:
    • survey_list kind=entrypoint — Where does execution start?
    • Identifies main() functions, HTTP handlers, CLI roots
  4. Identify hotspots:
    • survey_list kind=churn — What files change most? (complexity/bug magnets)
  5. Trace call relationships:
    • survey_graph symbol="handleRequest" — Map the call neighborhood
    • Use direction=callers to find who invokes a function
    • Use direction=callees to understand what a function depends on

Answering specific questions

QuestionToolParameters
"What is this codebase?"survey_listkind=module
"What tech stack?"survey_listkind=tech_stack
"Where are the entry points?"survey_listkind=entrypoint
"What changes most?"survey_listkind=churn
"Is there an auth module?"survey_searchquery="auth"
"Who calls this function?"survey_graphsymbol=X, direction=callers
"What does this call?"survey_graphsymbol=X, direction=callees

Survey vs Findings vs Code Search

ToolPurposeExample
SurveyWHAT the codebase ISModules, tech stack, entry points, churn
FindingsCode PROBLEMSComplexity, security issues, duplication
Code SearchSymbol DEFINITIONSFind function signatures, call sites

Survey gives you the big picture. Code search gives you specific symbols. Findings gives you problems to fix.

Prerequisites

  • Survey data: Run aide survey run or use survey_run tool
  • Code index (for entrypoints + graph): Run aide code index
  • Git history (for churn): Must be a git repository (uses go-git, no git binary needed)

Binary location: The aide binary is at .aide/bin/aide. If it's on your $PATH, you can use aide directly.

Notes

  • Survey results are cached in BoltDB — re-run analyzers to refresh after significant changes
  • Topology analyzer inspects the filesystem (build files, directory structure)
  • Entrypoints analyzer uses the code index when available; falls back to file scanning
  • Churn analyzer uses go-git to read git history directly (no git binary required)
  • Call graph is computed on demand from the code index (not stored)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.