# Kg Extract > Extrae entidades y relaciones de archivos fuente para construir un grafo de conocimiento. Fuente: https://skillsagentes.com/skills/ruvnet/ruflo/kg-extract Markdown: https://skillsagentes.com/skills/ruvnet/ruflo/kg-extract.md Repositorio: https://github.com/ruvnet/ruflo Autor: ruvnet Licencia: MIT Actualizado: el mes pasado Coste de contexto: 19 tok instalada, 753 tok al activarse, 753 tok con todos los archivos del bundle Bundle: 1 archivo, 3 KB Permisos que pide: read glob grep mcp__plugin_ruflo-core_ruflo__agentdb_hierarchical-store mcp__plugin_ruflo-core_ruflo__agentdb_causal-edge mcp__plugin_ruflo-core_ruflo__agentdb_pattern-store mcp__plugin_ruflo-core_ruflo__embeddings_generate bash ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add ruvnet/ruflo --skill kg-extract --agent claude-code # Cursor npx -y skills add ruvnet/ruflo --skill kg-extract --agent cursor # Codex npx -y skills add ruvnet/ruflo --skill kg-extract --agent codex # Gemini CLI npx -y skills add ruvnet/ruflo --skill kg-extract --agent gemini # Windsurf npx -y skills add ruvnet/ruflo --skill kg-extract --agent windsurf # Cline npx -y skills add ruvnet/ruflo --skill kg-extract --agent cline ``` ## Qué hace - Escanea archivos fuente y extrae entidades: clases, funciones, módulos, tipos y referencias de configuración. - Mapea relaciones entre entidades (imports, extends, implements, depends-on, calls, references), cada una con un peso. - Distingue imports de valor de los import type de TypeScript, que se tratan como relación más débil y no cuentan para ciclos. - Guarda entidades y relaciones (edges) en AgentDB. ## Cuándo usarla - Al construir o actualizar un grafo de conocimiento a partir de código fuente o documentación. - Para análisis de dependencias o de impacto sobre un codebase. ## Qué la activa - "Extrae el grafo de conocimiento del directorio src/auth" - "Mapea las relaciones entre módulos de este proyecto" ## Antes de instalar - Necesita en el PATH: npx ## Archivos - SKILL.md — 3 KB ## SKILL.md Reproducido tal cual desde ruvnet/ruflo bajo MIT. Esta sección es el documento original y está en inglés. # KG Extract Extract entities (classes, functions, modules, types, concepts) and their relations (imports, extends, implements, depends-on, calls) from source files, then store them as a knowledge graph in AgentDB. ## When to use When you need to build or update a knowledge graph from source code or documentation. Useful for understanding codebase structure, dependency analysis, and impact assessment. ## Steps 1. **Scan files** -- use `Glob` and `Read` to enumerate and read source files at the given path 2. **Identify entities** -- extract classes, functions, modules, types, and config references from each file 3. **Map relations** -- for each entity, determine its relations to other entities. **Critical: TypeScript `import type` and inline `type` specifiers (`import { type Foo, bar }`) are erased at compile time and MUST NOT be counted as value imports** -- they're a separate, weaker relation. Misclassifying them produces phantom runtime cycles (see ruvnet/ruflo#2049). - `imports`: value imports (`import { x } from '...'`, `require(...)`) -- weight `0.9` - `type-depends-on`: TypeScript type-only imports (`import type { Foo } from '...'` and `import { type Foo, value } from '...'`) -- weight `0.1`, **never used for cycle detection or runtime impact analysis** - `extends`: class inheritance -- weight `0.9` - `implements`: interface implementations -- weight `0.7` - `depends-on`: constructor dependencies, injected services -- weight `0.8` - `calls`: function/method invocations -- weight `0.7` - `references`: documentation mentions, comments -- weight `0.3` **Regex hint for classifying TS imports** (so a naive `from '...'` grep doesn't conflate the two): ``` ^\s*import\s+type\s+ → type-depends-on (entire import is type-only) ^\s*import\s*\{[^}]*\btype\s+\w+ → split: type specifiers → type-depends-on, value specifiers → imports ^\s*import\s+[^{]*\bfrom\s+ → imports (value) ``` 4. **Store in AgentDB** -- call `mcp__plugin_ruflo-core_ruflo__agentdb_hierarchical-store` for each entity with metadata (name, type, file, line, description) 5. **Create edges** -- call `mcp__plugin_ruflo-core_ruflo__agentdb_causal-edge` for each relation with source, target, relation type, and weight 6. **Report** -- summarize: total entities by type, total relations by type, files scanned ## CLI alternative ```bash npx @claude-flow/cli@latest memory store --namespace knowledge-graph --key "entity-NAME" --value "METADATA_JSON" npx @claude-flow/cli@latest memory search --query "entities in auth module" --namespace knowledge-graph ``` ## Dónde encaja - Categoría: [Herramientas para desarrolladores](https://skillsagentes.com/categorias/herramientas-desarrollo.md) — Skills que cambian cómo tu agente escribe, revisa y despliega código. - Creador: [ruvnet](https://skillsagentes.com/creators/ruvnet.md) — 275 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Harness Gepa](https://skillsagentes.com/skills/ruvnet/ruflo/harness-gepa.md): Inspecciona y audita genomas GEPA: carga y valida un genoma, renderiza el system prompt que compila, o clasifica los modos de fallo de una transcripción de ejecución. - [Deepseek Reason](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-reason.md): Completion en modo razonamiento contra deepseek-reasoner (R1) de DeepSeek. Devuelve el chain-of-thought por separado de la respuesta final. Lee DEEPSEEK_API_KEY y degrada si falta o la API no responde. - [Deepseek Chat](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-chat.md): Completion de un solo turno contra el modelo deepseek-chat de DeepSeek vía /v1/chat/completions. Lee DEEPSEEK_API_KEY y degrada con status:degraded si falta o la API no responde. Para tareas sin razonamiento. - [Adr Index](https://skillsagentes.com/skills/ruvnet/ruflo/adr-index.md): Construye o reconstruye el índice de ADRs y su grafo de dependencias ejecutando scripts/import.mjs, en vez de cientos de llamadas MCP. - [Agntcy Status](https://skillsagentes.com/skills/ruvnet/ruflo/agntcy-status.md): Muestra el estado de la integración AGNTCY/SLIM/CASA: si los paquetes están instalados, qué transporte está activo y si el enforcement de CASA está habilitado. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)