
Project Structure Mapper
Compress a TypeScript or Swift repo into one symbol-map file an AI agent can read whole
- Repository
- steipete/agent-scripts
- Stars
- 7,433
- Licence
- MIT
- Files
- 9 files
What it does
This skill gives an AI agent a tool that scans a TypeScript or Swift codebase and writes a single compact text file listing its files, exported functions, classes, types and signatures. Once installed, the agent can load that whole map at once to reason about the project's architecture, spot duplicated code, and plan refactors, instead of opening files one by one. It is aimed at developers working on large repositories.
Great for
- Developers who want an AI agent to understand a large codebase before planning changes
- Teams hunting for duplicated logic or planning refactors across many files
- Engineers who want to hand a compact full-project map to another agent
Skip it if
- Small projects where reading a few files directly is faster and cheaper (the tool adds setup and an extra step)
- Non-technical users without Node.js or a development environment, since the script must be run locally
- Languages other than TypeScript and Swift, which the tool does not parse
Try asking
- “Map the src/channels subsystem with exported typed signatures so I can plan a refactor”
- “Make a dense whole-repo symbol map and look for duplicated utility functions”
- “Show me the public API surface of this Swift package using the project-structure map”
Install in 3 steps
- 1
Download the skill
The ZIP contains the 9 original files, the MIT licence and an attribution note.
project-structure.zip - 2
Add it to your agent
Claude Code (all projects)
mkdir -p ~/.claude/skills && unzip project-structure.zip -d ~/.claude/skills/Claude Code / Agent SDK (this project only)
mkdir -p .claude/skills && unzip project-structure.zip -d .claude/skills/Claude apps (web/desktop): Settings → Capabilities → Skills → Upload skill, and choose the ZIP.
- 3
Ask for the task
No special command needed — the agent reads the skill's description and loads it when your request matches. Try one of the prompts above.
Get better results
- Start with the default dense mode for reconnaissance, then use exports or --members on one subsystem before making decisions
- Use --include with a nested path to keep the map within your model's context window
- Verify any duplicate found from names alone against source code, since overloads and facades can look identical
What's inside
- fixtures/expected/swift-dense.txt
- fixtures/expected/swift-members.txt
- fixtures/expected/swift-public.txt
- fixtures/expected/swift-skeleton.txt
- fixtures/expected/ts-dense.txt
- fixtures/ts/destructured.ts
- map.ts
- selftest.mjs
- SKILL.md
Redistributed unmodified from steipete/agent-scripts under the MIT licence. The assessment was drafted with AI from the skill's files on 2026-10-29. Skills can instruct your agent to run code — read SKILL.md and any scripts before installing.