Skills Development Domain Flow Extraction

Domain Flow Extraction

v20260403
understand-domain
Extracts business domain knowledge from a repository by scanning files or reusing an existing understand graph, then feeds the analyzer to build and launch an interactive domain flow graph in the dashboard.
Get Skill
62 downloads
Overview

/understand-domain

Extracts business domain knowledge — domains, business flows, and process steps — from a codebase and produces an interactive horizontal flow graph in the dashboard.

How It Works

  • If a knowledge graph already exists (.understand-anything/knowledge-graph.json), derives domain knowledge from it (cheap, no file scanning)
  • If no knowledge graph exists, performs a lightweight scan: file tree + entry point detection + sampled files
  • Use --full flag to force a fresh scan even if a knowledge graph exists

Instructions

Phase 1: Detect Existing Graph

  1. Check if .understand-anything/knowledge-graph.json exists in the current project
  2. If it exists AND --full was NOT passed → proceed to Phase 3 (derive from graph)
  3. Otherwise → proceed to Phase 2 (lightweight scan)

Phase 2: Lightweight Scan (Path 1)

The preprocessing script does NOT produce a domain graph — it produces raw material (file tree, entry points, exports/imports) so the domain-analyzer agent can focus on the actual domain analysis instead of spending dozens of tool calls exploring the codebase. Think of it as a cheat sheet: cheap Python preprocessing → expensive LLM gets a clean, small input → better results for less cost.

  1. Run the preprocessing script bundled with this skill:
    python ./extract-domain-context.py <project-root>
    
    This outputs <project-root>/.understand-anything/intermediate/domain-context.json containing:
    • File tree (respecting .gitignore)
    • Detected entry points (HTTP routes, CLI commands, event handlers, cron jobs, exported handlers)
    • File signatures (exports, imports per file)
    • Code snippets for each entry point (signature + first few lines)
    • Project metadata (package.json, README, etc.)
  2. Read the generated domain-context.json as context for Phase 4
  3. Proceed to Phase 4

Phase 3: Derive from Existing Graph (Path 2)

  1. Read .understand-anything/knowledge-graph.json
  2. Format the graph data as structured context:
    • All nodes with their types, names, summaries, and tags
    • All edges with their types (especially calls, imports, contains)
    • All layers with their descriptions
    • Tour steps if available
  3. This is the context for the domain analyzer — no file reading needed
  4. Proceed to Phase 4

Phase 4: Domain Analysis

  1. Read the domain-analyzer agent prompt from agents/domain-analyzer.md
  2. Dispatch a subagent with the domain-analyzer prompt + the context from Phase 2 or 3
  3. The agent writes its output to .understand-anything/intermediate/domain-analysis.json

Phase 5: Validate and Save

  1. Read the domain analysis output
  2. Validate using the standard graph validation pipeline (the schema now supports domain/flow/step types)
  3. If validation fails, log warnings but save what's valid (error tolerance)
  4. Save to .understand-anything/domain-graph.json
  5. Clean up .understand-anything/intermediate/domain-analysis.json and .understand-anything/intermediate/domain-context.json

Phase 6: Launch Dashboard

  1. Auto-trigger /understand-dashboard to visualize the domain graph
  2. The dashboard will detect domain-graph.json and show the domain view by default
Info
Category Development
Name understand-domain
Version v20260403
Size 6.21KB
Updated At 2026-04-04
Language