技能详情(站内镜像,无评论)
许可证:MIT-0
MIT-0 ·免费使用、修改和重新分发。无需归因。
版本:v1.0.0
统计:⭐ 0 · 38 · 1 current installs · 1 all-time installs
⭐ 0
安装量(当前) 1
🛡 VirusTotal :良性 · OpenClaw :良性
Package:adisinghstudent/understand-anything-knowledge-graph
安全扫描(ClawHub)
- VirusTotal :良性
- OpenClaw :良性
OpenClaw 评估
The skill's described purpose (scanning a codebase and building a local knowledge graph/dashboard) matches its instructions and requirements — nothing requested is disproportionate to that goal.
目的
Name/description, commands, and SKILL.md consistently describe scanning the project files, extracting nodes/edges, and persisting a knowledge graph for a local dashboard. Required capabilities (reading the repo and writing .understand-anything/knowledge-graph.json) align with the stated purpose.
说明范围
The instructions explicitly direct the agent to discover and analyze all files in the project and persist results to .understand-anything/knowledge-graph.json. That is in-scope for a codebase analysis tool, but it means any secrets or sensitive files in the repo will be processed and summarized by the skill — the SKILL.md does not mention exclusions or redaction.
安装机制
This is instruction-only (no install spec or bundled code). The README shows optional source build commands referencing a GitHub repo, but the skill itself does not install or download code at runtime. No dubious URLs or extract/install steps are present in the skill bundle.
证书
The skill declares no required environment variables, credentials, or config paths. Programmatic examples reference @understand-anything/core (typical for a library) but those are not required by the instruction-only skill as provided.
持久
always is false. The skill writes its own output file under the project root (.understand-anything/knowledge-graph.json) which is consistent with its functionality and does not request system-wide persistence or modify other skills' configs.
综合结论
This skill appears coherent and does what it says: it scans your repository, builds a JSON knowledge graph, and opens a dashboard. Before running it, consider that it will process every file in the project (including secrets, credentials, or proprietary code). Recommendations: (1) inspect the plugin/source code if you plan to install the upstream package; (2) run analyses on a copy or in a workspace that excludes sensitive files, or add .under…
安装(复制给龙虾 AI)
将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。
请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「understand-anything-knowledge-graph」。简介:Turn any codebase into an interactive knowledge graph using Claude Code skills …。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/adisinghstudent/understand-anything-knowledge-graph/SKILL.md
(来源:yingzhi8.cn 技能库)
SKILL.md
---
name: understand-anything-knowledge-graph
description: Turn any codebase into an interactive knowledge graph using Claude Code skills — explore, search, and ask questions about any project visually.
triggers:
- "analyze my codebase with understand anything"
- "build a knowledge graph of this project"
- "help me understand this codebase"
- "install understand anything plugin"
- "explore codebase visually"
- "explain how this code is structured"
- "run understand-dashboard"
- "generate onboarding guide for my project"
---
# Understand Anything — Codebase Knowledge Graph
> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.
Understand Anything is a [Claude Code](https://docs.anthropic.com/en/docs/claude-code) plugin that runs a multi-agent pipeline over your project, builds a knowledge graph of every file, function, class, and dependency, and opens an interactive React dashboard for visual exploration. It produces plain-English summaries of every node so anyone — developer, PM, or designer — can understand the codebase.
---
## Installation
### Via Claude Code plugin marketplace
```bash
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
```
### From source (development)
```bash
git clone https://github.com/Lum1104/Understand-Anything
cd Understand-Anything
pnpm install
pnpm --filter @understand-anything/core build
pnpm --filter @understand-anything/skill build
pnpm --filter @understand-anything/dashboard build
```
---
## Core Skills / Commands
| Command | What it does |
|---|---|
| `/understand` | Run the full multi-agent analysis pipeline on the current project |
| `/understand-dashboard` | Open the interactive knowledge graph dashboard |
| `/understand-chat <question>` | Ask anything about the codebase in natural language |
| `/understand-diff` | Analyze impact of current uncommitted changes |
| `/understand-explain <path>` | Deep-dive explanation of a specific file or function |
| `/understand-onboard` | Generate an onboarding guide for new team members |
---
## Typical Workflow
### 1. Analyze a project
```bash
# Inside any project directory, in Claude Code:
/understand
```
This orchestrates 5 agents in sequence (with file-analyzers running up to 3 concurrent):
1. **project-scanner** — discovers files, detects languages/frameworks
2. **file-analyzer** — extracts functions, classes, imports; builds graph nodes and edges
3. **architecture-analyzer** — groups nodes into architectural layers (API, Service, Data, UI, Utility)
4. **tour-builder** — generates ordered learning tours
5. **graph-reviewer** — validates referential integrity
Output is saved to `.understand-anything/knowledge-graph.json` in your project root.
### 2. Open the dashboard
```bash
/understand-dashboard
```
The React + Vite dashboard opens in your browser. Features:
- **Graph view** — React Flow canvas, color-coded by layer, zoom/pan
- **Node inspector** — click any node for code, relationships, LLM summary
- **Search** — fuzzy + semantic search across all nodes
- **Tours** — guided walkthroughs ordered by dependency
- **Persona mode** — toggle detail level (Junior Dev / PM / Power User)
### 3. Ask questions
```bash
/understand-chat How does authentication work in this project?
/understand-chat What calls the payment service?
/understand-chat Which files are most depended on?
```
### 4. Review diff impact before committing
```bash
# After making changes:
/understand-diff
```
Returns a list of affected nodes in the knowledge graph — shows ripple effects before you push.
### 5. Explain a specific file
```bash
/understand-explain src/auth/login.ts
/understand-explain src/services/PaymentService.ts
```
---
## Knowledge Graph Schema
The graph is stored at `.understand-anything/knowledge-graph.json`. Key types (from `packages/core`):
```typescript
// packages/core/src/types.ts
interface GraphNode {
id: string; // unique: "file:src/auth/login.ts"
type: "file" | "function" | "class" | "module";
name: string;
filePath: string;
layer: ArchitectureLayer; // "api" | "service" | "data" | "ui" | "utility"
summary: string; // LLM-generated plain-English description
code?: string; // raw source snippet
language?: string;
concepts?: LanguageConcept[]; // e.g. "generics", "closures", "decorators"
metadata?: Record<string, unknown>;
}
interface GraphEdge {
id: string;
source: string; // node id
target: string; // node id
type: "imports" | "calls" | "extends" | "implements" | "uses";
label?: string;
}
interface KnowledgeGraph {
version: string;
generatedAt: string;
projectRoot: string;
nodes: GraphNode[];
edges: GraphEdge[];
tours: GuidedTour[];
}
type ArchitectureLayer = "api" | "service" | "data" | "ui" | "utility" | "unknown";
type LanguageConcept =
| "generics"
| "closures"
| "decorators"
| "async-await"
| "interfaces"
| "higher-order-functions"
| "dependency-injection"
| "observers"
| "iterators"
| "pattern-matching"
| "monads"
| "currying";
```
---
## Working with the Core Package Programmatically
```typescript
import { loadKnowledgeGraph, searchGraph, buildTour } from "@understand-anything/core";
// Load the persisted graph
const graph = await loadKnowledgeGraph(".understand-anything/knowledge-graph.json");
// Fuzzy search across all nodes
const results = searchGraph(graph, "payment processing");
console.log(results.map(r => `${r.type}:${r.name} (${r.filePath})`));
// Find all callers of a function
const paymentNode = graph.nodes.find(n => n.name === "processPayment");
const callers = graph.edges
.filter(e => e.target === paymentNode?.id && e.type === "calls")
.map(e => graph.nodes.find(n => n.id === e.source));
// Get all nodes in the service layer
const serviceNodes = graph.nodes.filter(n => n.layer === "service");
// Build a guided tour starting from a specific node
const tour = buildTour(graph, { startNodeId: "file:src/index.ts" });
tour.steps.forEach((step, i) => {
console.log(`Step ${i + 1}: ${step.node.name} — ${step.node.summary}`);
});
```
---
## Dashboard Development
```bash
# Start the dashboard dev server (hot reload)
pnpm dev:dashboard
# Build for production
pnpm --filter @understand-anything/dashboard build
```
The dashboard is a Vite + React 18 app using:
- **React Flow** — graph canvas rendering
- **Zustand** — graph state management
- **TailwindCSS v4** — styling
- **Fuse.js** — fuzzy search
- **web-tree-sitter** — in-browser AST parsing
- **Dagre** — automatic graph layout
---
## Project Structure
```
understand-anything-plugin/
├── .claude-plugin/ # Plugin manifest (read by Claude Code)
├── agents/ # Agent definitions (project-scanner, file-analyzer, etc.)
├── skills/ # Skill definitions (/understand, /understand-chat, etc.)
├── src/ # Plugin TypeScript source
│ ├── context-builder.ts # Builds LLM context from the graph
│ └── diff-analyzer.ts # Git diff → affected nodes
├── packages/
│ ├── core/ # Analysis engine
│ │ ├── src/
│ │ │ ├── types.ts # GraphNode, GraphEdge, KnowledgeGraph
│ │ │ ├── persistence.ts
│ │ │ ├── search.ts # Fuzzy + semantic search
│ │ │ ├── tours.ts # Tour generation
│ │ │ ├── schema.ts # Zod validation schemas
│ │ │ └── tree-sitter.ts
│ │ └── tests/
│ └── dashboard/ # React dashboard app
│ └── src/
```
---
## Incremental Updates
Re-running `/understand` only re-analyzes files that changed since the last run (based on mtime and content hash stored in the graph metadata). For large monorepos this makes subsequent runs fast.
To force a full re-analysis:
```bash
rm -rf .understand-anything/
/understand
```
---
## Development Commands
```bash
pnpm install # Install all dependencies
pnpm --filter @understand-anything/core build # Build core package
pnpm --filter @understand-anything/core test # Run core tests
pnpm --filter @understand-anything/skill build # Build plugin package
pnpm --filter @understand-anything/skill test # Run plugin tests
pnpm --filter @understand-anything/dashboard build # Build dashboard
pnpm dev:dashboard # Dashboard dev server with HMR
```
---
## Common Patterns
### Before a code review
```bash
# See what your diff actually touches in the architecture
/understand-diff
```
### Onboarding a new engineer
```bash
# Generate a structured onboarding doc grounded in the real code
/understand-onboard
```
### Researching a feature area
```bash
/understand-chat What are all the entry points for the GraphQL API?
/understand-explain src/graphql/resolvers/
```
### Understanding an unfamiliar module
```bash
/understand-explain src/workers/queue-processor.ts
# Returns: summary, key functions, what calls it, what it calls, concepts used
```
---
## Troubleshooting
**`/understand` times out on large repos**
- The file-analyzer runs up to 3 workers concurrently. Very large repos (>50k files) may need patience. Delete `.understand-anything/` and re-run if a previous run was interrupted.
**Dashboard doesn't open**
- Run `pnpm --filter @understand-anything/dashboard build` first if working from source, then retry `/understand-dashboard`.
**Stale graph after major refactor**
- Delete `.understand-anything/knowledge-graph.json` to force full re-analysis: `rm .understand-anything/knowledge-graph.json && /understand`
**`pnpm install` fails with workspace errors**
- Ensure you are using pnpm v8+: `pnpm --version`. The project uses pnpm workspaces defined in `pnpm-workspace.yaml`.
**Search returns no results**
- Confirm the graph was generated: `cat .understand-anything/knowledge-graph.json | head -5`. If empty or missing, run `/understand` first.
---
## Contributing
```bash
# Fork, then:
git checkout -b feature/my-feature
pnpm --filter @understand-anything/core test # must pass
# open a PR — file an issue first for major changes
```
License: MIT © [Lum1104](https://github.com/Lum1104)