local-file-rag-basic
SuspiciousAudited by ClawScan on May 10, 2026.
Overview
This is a coherent local file search skill, but it silently installs npm packages and can broadly cache local file contents, so it needs review before use.
Install only if you are comfortable with a local index of your files being created. Keep rootDir limited to trusted project folders, preinstall or inspect npm dependencies if possible, and delete the .storage/code-rag.db cache when you no longer need it.
Findings (3)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
First use may fetch and run third-party npm package code silently on the user's machine.
The constructor can automatically run npm install through a shell when dependencies are missing, downloading and executing package install behavior without a separate install step or visible prompt.
execSync(`npm install --no-save ${missingDeps.join(' ')}`, { cwd: skillDir, stdio: 'ignore', shell: true });Move dependency installation to a reviewed install spec, pin versions, avoid shell:true where possible, show output, and require user approval before installing packages.
A broad or mistaken rootDir could cause the agent to index private files outside the intended project.
The search tool accepts a rootDir, switches to that path, and then processes the workspace recursively, with no visible restriction to the current project or explicit approval boundary.
if (rootDir && path.resolve(rootDir) !== path.resolve(this.workspaceDir)) { ... this.setupWorkspace(path.resolve(rootDir)); } ... await this.chunker.processWorkspace();Restrict rootDir to the active workspace by default, require explicit user approval for broader paths, and document sensitive-directory exclusions.
Sensitive file content may remain cached locally and be returned into future agent context after the original search.
The skill persists indexed file chunks and content into a local SQLite database under the scanned workspace.
this.dbDir = path.join(workspaceDir, '.storage'); ... this.dbPath = path.join(this.dbDir, 'code-rag.db'); ... INSERT INTO chunks ... content
Clearly document what is stored, add retention and deletion controls, exclude sensitive files by default, and let users rebuild or remove the index.
