diff --git a/understand-anything-plugin/skills/understand/SKILL.md b/understand-anything-plugin/skills/understand/SKILL.md index 6fe1f98..a248efe 100644 --- a/understand-anything-plugin/skills/understand/SKILL.md +++ b/understand-anything-plugin/skills/understand/SKILL.md @@ -100,22 +100,13 @@ After the subagent completes, read `$PROJECT_ROOT/.understand-anything/intermedi Batch the file list from Phase 1 into groups of **5-10 files each** (aim for balanced batch sizes). -For each batch, dispatch a subagent using the prompt template at `./file-analyzer-prompt.md`. Run up to **3 subagents concurrently** using parallel dispatch. - -**Build the combined prompt template:** -1. Read the base template at `./file-analyzer-prompt.md`. -2. **Language context injection:** For each language detected in Phase 1 (e.g., `python`), read the file at `./languages/.md` (e.g., `./languages/python.md`) and append its content after the base template under a `## Language Context` header. If the file does not exist for a detected language, skip it silently and continue. These files are in the `languages/` subdirectory next to this SKILL.md file. Use `ls ./languages/` to discover available language files if needed. -3. **Framework addendum injection:** For each framework detected in Phase 1 (e.g., `Django`), read the file at `./frameworks/.md` (e.g., `./frameworks/django.md`) and append its full content after the language context. If the file does not exist for a detected framework, skip it silently and continue. These files are in the `frameworks/` subdirectory next to this SKILL.md file. Use `ls ./frameworks/` to discover available framework files if needed. - -Then for each batch pass the combined template content as the subagent's prompt, appending the following additional context: +For each batch, dispatch a subagent using the prompt template at `./file-analyzer-prompt.md`. Run up to **3 subagents concurrently** using parallel dispatch. Pass the template as the subagent's prompt, appending the following additional context: > **Additional context from main session:** > > Project: `` — `` > Frameworks detected: `` > Languages: `` -> -> Use the language context and framework addendums (appended above) to produce more accurate summaries and better classify file roles. Fill in batch-specific parameters below and dispatch: diff --git a/understand-anything-plugin/skills/understand/file-analyzer-prompt.md b/understand-anything-plugin/skills/understand/file-analyzer-prompt.md index 27534a5..6b90665 100644 --- a/understand-anything-plugin/skills/understand/file-analyzer-prompt.md +++ b/understand-anything-plugin/skills/understand/file-analyzer-prompt.md @@ -295,6 +295,35 @@ Produce a single, valid JSON block. Validate it mentally before writing -- malfo - `direction` (string) -- always `forward` - `weight` (number) -- must match the weight specified in the edge type table +## Language and Framework Quick Reference + +Use these hints to improve tag and edge accuracy for common patterns. Your training knowledge covers these — this is a fast lookup for the most impactful signals. + +**Tag signals:** + +| Signal | Tags to apply | +|---|---| +| File in `hooks/`, exports a function starting with `use` | `hook`, `service` | +| File in `contexts/` or `context/`, exports a Provider component | `service`, `state` | +| File in `pages/` or `views/` | `ui`, `routing` | +| File in `store/`, `slices/`, `reducers/`, `state/` | `state` | +| File in `services/`, `api/`, `client/` | `service` | +| `__init__.py` at a package root with re-exports | `entry-point`, `barrel` | +| `manage.py` at the project root | `entry-point` | +| `mod.rs` in a directory | `barrel` | +| `main.go` in a `cmd/` subdirectory | `entry-point` | + +**Edge signals:** + +| Pattern | Edge to create | +|---|---| +| React component renders another component in its JSX | `contains` from parent to child | +| Component/hook calls a custom hook (`useX`) | `depends_on` from consumer to hook file | +| Context provider wraps components | `publishes` from provider to context definition | +| Component calls `useContext` or custom context hook | `subscribes` from consumer to context definition | +| Python file uses `from x import y` where x is a project file | `imports` edge (same rule as JS/TS) | +| Go file `import`s an internal package path | `imports` edge to the resolved file | + ## Critical Constraints - NEVER invent file paths. Every `filePath` and every file reference in node IDs must correspond to a real file from the script's output or the project file list provided to you.