From llm-externalizer
Use when scanning an entire project or codebase for bugs, security issues, or code quality problems. Trigger with "scan project", "audit codebase", "scan codebase", "full scan", "run project scan", "check whole project", "scan all files".
npx claudepluginhub emasoft/emasoft-plugins --plugin llm-externalizer[folder-path | . | glob-pattern] [focus: bugs|security|all]This skill uses the workspace's default tool permissions.
Scan `$ARGUMENTS` with the LLM Externalizer ensemble and return only report file paths. Runs in the `llm-externalizer-reviewer-agent` forked subagent — verbose scan output stays out of the orchestrator.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Processes PDFs: extracts text/tables/images, merges/splits/rotates pages, adds watermarks, creates/fills forms, encrypts/decrypts, OCRs scans. Activates on PDF mentions or output requests.
Share bugs, ideas, or general feedback.
Scan $ARGUMENTS with the LLM Externalizer ensemble and return only report file paths. Runs in the llm-externalizer-reviewer-agent forked subagent — verbose scan output stays out of the orchestrator.
Codebase scan via the LLM Externalizer MCP server, active profile (default: remote-ensemble, parallel). One report per file. context: fork runs work in the llm-externalizer-reviewer-agent subagent (Sonnet, no Write/Edit); only report paths come back.
~/.llm-externalizer/settings.yamluserConfig.openrouter_api_key (keychain) OR $OPENROUTER_API_KEY shell envCopy this checklist and track your progress:
$ARGUMENTS for target (folder/file/glob, default .), focus (bugs/security/duplicate-check/etc.), budget (free flag if user asked).mcp__llm-externalizer__discover. Abort [FAILED] — service offline if offline.search_existing_implementations with feature_description, folder_path, and optional source_files / diff_path.scan_folder with use_gitignore: true, answer_mode: 0.code_task with answer_mode: 0, max_retries: 3.Glob to expand, then code_task.free: true only if asked (warn about prompt logging first)..md files EXCLUDED by default. Pass instructions describing a semantic search to include them. Use CPV or claude plugin validate . for structural validation — not the LLM.check_against_specs with an explicit spec. For "already implemented?" hunts use search_existing_implementations.Reports under <project>/reports_dev/llm_externalizer/. Filenames embed the source filename or group id.
answer_mode: 0=per-file (scan_folder default), 1=per-group (subfolder/extension/basename, 1 MB cap), 2=merged. Controls disk output only, not LLM visibility.
Reply format (exact, no preamble):
[DONE] scan-<label> — <N> reports
<absolute-path-1>
<absolute-path-2>
On failure: [FAILED] scan-<label> — <one-line reason>
| Error | Fix |
|---|---|
| Service offline | Restart Claude Code; abort |
| Auth 401 | Set userConfig.openrouter_api_key or $OPENROUTER_API_KEY |
| Credit 402 | Server auto-falls back to free Nemotron |
| Empty response | Server auto-retries up to 15× (2s backoff) |
| No files found | Verify target path and use_gitignore |
See Usage patterns for representative tool calls — scan folder with gitignore, filter by extensions, exclude dirs, custom rubrics, grouped processing, etc.