Analyzes, documents, and maintains a living `.agent-docs/` knowledge base for Unity projects targeting Meta Quest and Horizon OS. Use when the user asks to scan project structure, explain how a Unity system works, or update project docs after structural changes.
npx skills add https://github.com/meta-quest/agentic-tools --skill hz-unity-project-analyzer
Analyze, document, and maintain a living knowledge base of a Unity project's structure, optimized for AI agent comprehension. Output lives in .agent-docs/ as source-control-friendly markdown files.
This skill operates in four modes. Determine which mode to use based on context:
Trigger: .agent-docs/ directory does not exist or .agent-docs/index.md does not exist.
Trigger: User asks to update docs, or AI agent has made structural changes (new scenes, scripts, prefabs, systems). Default update mode.
Important: Incremental updates are part of implementation, not a separate step. When creating or modifying scripts, prefabs, or assets, update the corresponding .agent-docs/ files in the same pass before moving on to the next task.
Trigger: User explicitly requests a full rescan (e.g., "rescan project", "full project analysis").
Trigger: User asks about the project structure or how a system/feature works (e.g., "what does this project do", "how does the ball system work", "project structure", "load project analysis"). Only use this mode when .agent-docs/ exists. This mode is read-only — do not modify docs.
README.md, CHANGELOG.md, and any docs in Documentation/ folderPackages/manifest.json to understand all included packagesAssets/**/*.unityAssets/**/*.asmdef.prefab filesProjectSettings/ProjectVersion.txtBefore documenting, ask the user about anything that is not clear from the code or docs alone. Examples:
Only ask about genuinely ambiguous items. If something is clear from naming, folder structure, or code inspection, document it directly.
For each category below, create or update the corresponding sub-document:
.agent-docs/project-overview.md).agent-docs/scenes/)Create one file per scene (e.g., .agent-docs/scenes/startup.md).
For each scene document:
Create a scene flow diagram in .agent-docs/scenes/_flow.md using mermaid:
graph LR
Startup --> MainMenu --> Gameplay
.agent-docs/systems/)Identify logical systems (networking, UI, audio, input, gameplay, etc.) and create one file per system.
For each system document:
.agent-docs/prefabs/)Group or document individually based on clarity:
.agent-docs/prefabs/ui-elements.md).agent-docs/prefabs/player-rig.md)For each prefab/group:
.agent-docs/assets/)Document non-script, non-prefab assets adaptively:
.agent-docs/scripts/)Scripts are self-documenting through code. Here, document usage context only:
Create or update .agent-docs/index.md as the main entry point:
# [Project Name] — Agent Documentation
> Auto-generated project knowledge base for AI agent comprehension.
> Last updated: YYYY-MM-DD
## Quick Context
[2-3 sentence project summary]
## Document Map
- [Project Overview](project-overview.md)
- Scenes
- [Scene Flow](<scenes/_flow.md>)
- [SceneName](<scenes/scene-name.md>)
- ...
- Systems
- [SystemName](<systems/system-name.md>)
- ...
- Prefabs
- [PrefabGroup](<prefabs/group-name.md>)
- ...
- Assets
- [AssetGroup](<assets/group-name.md>)
- ...
- Scripts
- [ScriptArea](<scripts/area-name.md>)
- ...
## Runtime Flow
[Brief description of app lifecycle from launch to gameplay]
Create .agent-docs/_config.md:
---
last_full_scan: YYYY-MM-DD
last_update: YYYY-MM-DD
documented_systems:
- system-name-1
- system-name-2
documented_scenes:
- scene-name-1
- scene-name-2
documented_prefab_groups:
- group-name-1
- group-name-2
---
.agent-docs/_config.md and .agent-docs/index.mdPackages/manifest.json.agent-docs/index.md if new docs were added or removedlast_update and the documented lists in .agent-docs/_config.mdDo NOT rewrite docs that haven't changed.
.agent-docs/index.md exists — if not, skip (no docs to ingest).agent-docs/index.md to get the document map and quick contextproject-overview.mdsystems/balls.mdscenes/_flow.mdproject-overview.md and scenes/_flow.mdLast updated: YYYY-MM-DD at the top of each sub-doc. This helps identify docs that may need refresh.Last updated fields — no parenthetical annotations.player-controller.md, main-menu.md_flow.md, _config.mdStartup.unity → startup.mdComprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks
Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.
Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.
Take meta-quest/hz-unity-project-analyzer from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.