AGENT SKILL

folder-audit

Walk a directory tree and audit whether each folder's children belong at the right level of abstraction. Produces a structured JSON audit plus a nested Markdown annotated tree.

License 许可
Apache-2.0
最近更新
2026-10-27
Stars
★ 98
Forks
7

01 前言 Front Matter

name
folder-audit
description
Walk a directory tree and audit whether each folder's children belong at the right level of abstraction. Produces a structured JSON audit plus a nested Markdown annotated tree.

03 SKILL.md 正文

folder-audit

What it does

The folder-audit pipeline inspects a target directory, builds a tree of folders up to a configurable depth, and asks an LLM auditor to classify every immediate child as fit, misplaced, duplicate, naming_mismatch, etc.

It emits two artifacts in the plan directory:

  • audit.json — machine-readable audit with summary and per-folder entries
  • audit.md — human-readable nested annotated tree

Running it

The pipeline is built around the native Arnold AgentStep. The audit stage injects a worker callable that dispatches to Codex by default. A local profile is provided at profiles/standard.toml.

Default mode (Codex worker)

python -m arnold run folder-audit \
  --inputs target_dir=/path/to/repo,max_depth=2,chunk_size=5,max_workers=3 \
  --plan-dir /tmp/folder-audit-plan

The default profile resolves the audit stage to codex. If you want to use a different model, override the profile:

python -m arnold run folder-audit \
  --inputs target_dir=/path/to/repo,max_depth=2,chunk_size=5,max_workers=3 \
  --profile @folder-audit:standard \
  --plan-dir /tmp/folder-audit-plan

Using pre-generated subagent results

For faster iteration or when you want to supply audits from another agent harness, pass an agent_results JSON file:

python -m arnold run folder-audit \
  --inputs target_dir=/path/to/repo,agent_results=/tmp/agent_results.json \
  --plan-dir /tmp/folder-audit-plan

The agent_results file must be a JSON object with a top-level folders array. The pipeline will compute a summary and reconcile the entries with the real filesystem tree when rendering audit.md.

Inputs

Key Default Description
target_dir required Directory to audit
max_depth 8 How many levels deep to walk
chunk_size 5 Folders per Codex call
max_workers 3 Parallel Codex calls per level
agent_results none Path to external audit JSON

Taxonomy

  • fit — belongs here and at this level
  • too_granular — should live one level deeper
  • wrong_level_of_abstraction — belongs at a higher or lower level
  • mixed_concerns — contains unrelated things that should split
  • misplaced — belongs under a sibling folder
  • orphaned — doesn't obviously belong anywhere
  • naming_mismatch — name doesn't match actual contents
  • overpacked — too many concerns crammed into one folder
  • underpacked — folder adds no value, should collapse upward
  • duplicate — redundant with another item
  • unclear — cannot determine

Worker injection

AuditStep subclasses Arnold's AgentStep. The worker is supplied at pipeline construction time:

from arnold.pipelines.folder_audit import build_pipeline

pipeline = build_pipeline(worker=my_worker)

If no worker is supplied, build_pipeline() uses a default worker that calls codex exec. In tests, pass a fake worker to avoid network calls.

Testing

python -m pytest tests/pipelines/test_folder_audit.py -v

04 同仓库更多 Skills