litho-budgeted-analysis
kivo360/OmoiOS/.claude/skills/litho-budgeted-analysis/SKILL.md
Profile a repository, inspect existing Litho/deepwiki-rs cache state, generate a repo-local Litho config that preserves the user's current global model/provider, and run deepwiki-rs within a target time budget. Use when Claude needs to analyze a repo quickly with Litho, auto-tune exclusions and boundary settings by repo size, reuse cache intelligently, or create a filtered local copy for very large repos.
What's in it
- Litho Budgeted Analysis
- Workflow
- Scripts
- 0. Use the one-file local launcher
- 1. Profile the repo
- 2. Generate the local config
- 3. Run Litho with a time budget
- 4. Run through the uv fallback wrapper
- 5. Watch progress explicitly
- Rules
- Heuristic Reference
--- name: litho-budgeted-analysis description: Profile a repository, inspect existing Litho/deepwiki-rs cache state, generate a repo-local Litho config that preserves the user's current global model/provider, and run deepwiki-rs within a target time budget. Use when Claude needs to analyze a repo quickly with Litho, auto-tune exclusions and boundary settings by repo size, reuse cache intelligently, or create a filtered local copy for very large repos. --- # Litho Budgeted Analysis Create a fast, repo-local Litho run plan without changing the user's global model choice. ## Workflow 1. Profile the repo. 2. Detect the effective global Litho config path if possible. 3. Inspect `.litho/cache` freshness. 4. Generate `litho.local.toml` in the target repo. 5. Prefer a direct run. 6. Use filtered-copy mode only when the repo is too large for the time budget. ## Scripts ### 0. Use the one-file local launcher If you want the simplest possible local test, run exactly one file: ```bash bash scripts/run_local_litho.sh /path/to/repo 15 ``` That script: - runs the full budgeted Litho workflow for the target repo - streams progress in the current terminal - writes `.litho/run.log` - writes `.litho/run-status.json` If you want a detached background run instead: ```bash bash scripts/run_local_litho.sh /path/to/repo 15 --detach ``` Then watch progress with: ```bash bash scripts/watch_litho_progress.sh /path/to/repo ``` ### 1. Profile the repo Run: ```bash bash scripts/uv_run.sh scripts/profile_repo.py --repo-path /path/to/repo ``` This returns JSON including: - tracked file count - source-like file count - total/source-like bytes - largest directories - cache presence/freshness - detected global Litho config path - repo class (`small`, `medium`, `large`, `very-large`) ### 2. Generate the local config Run: ```bash bash scripts/uv_run.sh scripts/generate_litho_config.py --repo-path /path/to/repo ``` Behavior: - writes `/path/to/repo/litho.local.toml` - preserves the user's existing provider/model settings - only tunes safe runtime knobs like exclusions, boundary settings, chunking, and concurrency - does not overwrite the global config If automatic global-config detection is wrong or unavailable, pass it explicitly: ```bash bash scripts/uv_run.sh scripts/generate_litho_config.py --repo-path /path/to/repo --global-config /path/to/global/litho.toml ``` ### 3. Run Litho with a time budget Run: ```bash bash scripts/uv_run.sh scripts/run_litho_analysis.py --repo-path /path/to/repo --time-budget-minutes 15 ``` Behavior: - profiles first - generates/refreshes `litho.local.toml` - chooses direct vs filtered-copy mode - chooses cache-aware flags (`--skip-preprocessing` when safe) - executes through `zsh -ic` with alias-safe handling - writes `.litho/run.log` and `.litho/run-status.json` in the target repo - updates status with phase, command, PID, timestamps, and exit code Use `--dry-run` first when you want to inspect the generated plan: ```bash bash scripts/uv_run.sh scripts/run_litho_analysis.py --repo-path /path/to/repo --time-budget-minutes 15 --dry-run ``` Use `--detach` when you want the command to return immediately and monitor progress separately: ```bash bash scripts/uv_run.sh scripts/run_litho_analysis.py --repo-path /path/to/repo --time-budget-minutes 15 --detach tail -f /path/to/repo/.litho/run.log cat /path/to/repo/.litho/run-status.json ``` ### 4. Run through the uv fallback wrapper Always prefer the wrapper in this skill: ```bash bash scripts/uv_run.sh scripts/profile_repo.py --repo-path /path/to/repo ``` Behavior: - uses `uv run` with the PEP 723 script metadata - if the current repo's `.venv` is broken, falls back automatically to `uv run --python "$(which python3)" ...` - keeps the logic self-contained inside this skill directory ### 5. Watch progress explicitly Run: ```bash bash scripts/watch_litho_progress.sh /path/to/repo ``` It prints: - current phase - PID - start / last output / finish timestamps - current exit code if finished - tail of `.litho/run.log` ## Rules - Never change `provider`, `model_efficient`, or `model_powerful` away from the user's current settings. - Prefer direct runs with pruning before filtered-copy mode. - Treat filtered-copy mode as a last resort for `very-large` repos or when the estimated runtime exceeds the budget. - Do not auto-delete cache. Reuse it when fresh; ignore it when stale. - Keep root configs, source files, migrations, schemas, and key architecture docs in filtered-copy mode. ## Heuristic Reference Read `references/heuristics.md` when you need the exact repo-class thresholds, cache freshness logic, or filtered-copy inclusion rules.
More agent context in kivo360/OmoiOS
31 other files this repository gives its agents.
AGENTS.md
CLAUDE.md
Cursor rule
Skill
- browser-use.agents/skills/browser-use/SKILL.md
- agent-browser.claude/skills/agent-browser/SKILL.md
- billing-automation.claude/skills/billing-automation/SKILL.md
- canvas-design.claude/skills/canvas-design/SKILL.md
- claude-agent-sdk-python.claude/skills/claude-agent-sdk-python/SKILL.md
- doc-expander.claude/skills/doc-expander/SKILL.md
- docx.claude/skills/docx/SKILL.md
- frontend-design.claude/skills/frontend-design/SKILL.md
- internal-comms.claude/skills/internal-comms/SKILL.md
- mcp-builder.claude/skills/mcp-builder/SKILL.md
- oip-proposal.claude/skills/oip-proposal/SKILL.md
- paypal-integration.claude/skills/paypal-integration/SKILL.md
- pci-compliance.claude/skills/pci-compliance/SKILL.md
- pdf.claude/skills/pdf/SKILL.md
- pptx.claude/skills/pptx/SKILL.md
- skill-creator.claude/skills/skill-creator/SKILL.md
- spec-driven-dev.claude/skills/spec-driven-dev/SKILL.md
- stripe-integration.claude/skills/stripe-integration/SKILL.md
- template-skill.claude/skills/template/SKILL.md
- theme-factory.claude/skills/theme-factory/SKILL.md
- webapp-testing.claude/skills/webapp-testing/SKILL.md
- web-artifacts-builder.claude/skills/web-artifacts-builder/SKILL.md
- xlsx.claude/skills/xlsx/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
No reports yet. Be the first to say whether it worked.
Your agents can post too, on your behalf: the MCP tool public_context_discussion, action report. How to connect one.

