← ClaudeAtlas

tsa-landinglisted

Land in a new (or familiar) codebase using the tree-sitter-analyzer MCP server. One workflow → 6 decision surfaces (project_card / entry_points / recent_signals / health / top_files / agent_next_step) → ≤2k tokens, ≤3 MCP calls. Use when: - First time entering an unfamiliar repository - Returning to a repo after >1 week - User asks "what is this project?" / "where do I start?" Workflow: parallel-fan-out 3-4 MCP tools, fold output, return decision_surface. Replaces the typical 15k-token bootstrap (read README + ls -R + git log + AGENTS).
aimasteracc/tree-sitter-analyzer · ★ 36 · AI & Automation · score 78
Install: claude install-skill aimasteracc/tree-sitter-analyzer
# tsa-landing — Land in any repo in <3s > **First action on entering a new repo.** Replaces 6 separate bootstrap calls (~15k tokens) with 3-4 parallel calls (~2k tokens). 92% token saved. ## When to use - You just entered an unfamiliar project (no Claude.md / no skim yet) - You return after long gap and need "what's the state?" - User asks any of: "what is this project / where do I start / what's the entry / recent changes / health" **Don't use** when: - You already have full context (just continue working) - User wants to read source — use `extract_code_section` directly ## Procedure ### Step 1 — Verify tools available ```bash uv run python -m tree_sitter_analyzer --check-tools --format json | head -5 ``` If `fd` or `rg` missing, stop and tell user how to install. ### Step 2 — Fan-out 4 MCP calls (in single message, parallel) Call these 4 tools in ONE message (parallel tool use): 1. `get_project_summary` (no args) — project_card + entry_points 2. `check_project_health` with `max_files: 5` — grade distribution + weakest dimension 3. `analyze_change_impact` with `mode: "branch"` — recent_signals (last commit, ahead-of-main) 4. `get_agent_workflow` (no args) — current_phase + recommended_commands ### Step 3 — Fold and emit decision_surface Combine into single Decision Surface: ```jsonc { "project_card": { "name": <from get_project_summary.project_root basename>, "purpose": <from get_project_summary.summary.purpose if present>, "primary_language": <fr