Project Map Catalog
Catalog exactly one project capability into .wingman/project-map/ with evidence. The project map is an AI-readable capability map, not a source dump and not the final source of truth.
Core Rule
Write one evidence-backed project-map entry and its indexes. Do not catalog from filenames, path names, or guesses.
Gate
Continue only when there is a coherent capability to record. If the user asks to explain, edit, review, or summarize code without asking to record project-map knowledge, do not use this skill.
Core Concepts
A project-map entry is one Markdown file under .wingman/project-map/. It records a capability, flow, surface, component, module, utility, pattern, contract, domain, or term mapping that future agents may need to locate, understand, verify, reuse, extend, wrap, reference, avoid, or replace.
Use fixed English section headings for stable parsing. Write entry content and final responses in the configured memory language when known; otherwise follow the user's current language.
Project Map Layout
Initialize missing directories and indexes as needed:
.wingman/project-map/
README.md
index.md
glossary/index.md
features/index.md
flows/index.md
surfaces/index.md
components/index.md
modules/index.md
utilities/index.md
patterns/index.md
contracts/index.md
domains/index.md
relationships/index.md # optional/future; do not require it for every catalog action
Top-level and section indexes are short routing tables. Use Entry Path, not Entry, as the path column label.
Workflow
Identify the target.
- If the user gave a path, use it as the evidence starting point.
- If the user gave a feature or concept name, search source/docs/routes/tests/schema for evidence.
- If the user said "this feature", use active context and recent relevant files.
- Process exactly one coherent capability per invocation.
Choose the kind.
- Use
feature, flow, surface, component, module, utility, pattern, contract, domain, or glossary-term.
- If uncertain, read
references/kind-selection.md.
Read evidence before writing.
- Read source, docs, routes, schema, tests, generated types, config, or explicit user-confirmed context.
- For source-backed
feature, flow, surface, module, and contract entries, prefer at least two evidence types when available.
- For
component and utility, one primary source file is acceptable, but check usages before claiming reuse scope.
- Do not infer behavior from filename or path alone.
Read existing map context.
- Read
.wingman/project-map/index.md when it exists.
- Read the relevant section index.
- Search
.wingman/project-map/**/*.md for the same source path, same capability name, same tags, or same term.
Decide create/update/replace.
- Same source or same semantic capability: update the existing entry.
- Same name but different responsibility: create a distinct entry and link it in
Related Entries or Similar Features.
- Stale or superseded entry: mark
Legacy or Deprecated, and point to replacement when known.
Write the entry.
- Read
references/entry-templates.md before creating or substantially changing an entry.
- Do not write generic source summaries.
- Do not omit
Last Verified, Evidence Level, Use When, Do Not Use When, or Notes For Agents.
- Use
Unknown rather than inventing facts.
Update indexes.
- Update
.wingman/project-map/index.md.
- Update the relevant section
index.md.
- Update
glossary/index.md only when there is a useful user-language to code-language mapping.
- Update
relationships/index.md only when it already exists or when a clear cross-entry relationship is important. First version may rely on each entry's Related Entries.
References
- Read
references/kind-selection.md only when kind choice is ambiguous.
- Read
references/entry-templates.md before creating or substantially changing an entry.
- Do not read all references by default if updating only an index row or correcting a small typo.
Ask The User When
- The target capability cannot be identified from paths, active context, source search, docs, or user wording.
- Two possible kinds would produce materially different entries and evidence does not settle the choice.
- Writing the entry would require treating an inferred business meaning as confirmed fact.
Safety Rules
- Do not create or update multiple unrelated entries in one invocation.
- Do not write "possible" or "likely" as fact.
- Do not bulk-generate low-signal entries to cover a whole repository.
- Do not overwrite user-authored
Notes For Agents, Use When, Do Not Use When, or status unless evidence or explicit user instruction proves they are outdated.
- If project memory current truth conflicts with a project-map entry, keep memory truth authoritative and mark the map entry as needing update.
- Do not migrate
.wingman/registry/ automatically. Treat old registry files as non-authoritative historical hints unless the user asks for migration.
Final Response
Report concisely:
- entry name and kind
- entry path
- status and evidence level
- updated indexes
- key tags or search hints
- any unverified gaps
Checklist
Before finishing, verify:
Source: hashgraph-online/awesome-codex-plugins → plugins/lsshym/wingman.ai/skills/project-map-catalog/SKILL.md
1---2name: project-map-catalog3description: Use when recording, registering, or updating a project feature, flow, page, component, module, utility, pattern, contract, domain, or business concept into Wingman's project map for future discovery and reuse/reference decisions. Trigger for 登记, 记录, 加入项目地图, 以后 AI 能找到, catalog, register, record, add to project map, feature inventory, capability map, or reusable capability. Do not use for explaining code, editing code, summarizing a file, or writing memory/history unless the user asks to add project-map knowledge.4---567# Project Map Catalog89Catalog exactly one project capability into `.wingman/project-map/` with evidence. The project map is an AI-readable capability map, not a source dump and not the final source of truth.1011## Core Rule1213Write one evidence-backed project-map entry and its indexes. Do not catalog from filenames, path names, or guesses.1415## Gate1617Continue only when there is a coherent capability to record. If the user asks to explain, edit, review, or summarize code without asking to record project-map knowledge, do not use this skill.1819## Core Concepts2021A project-map entry is one Markdown file under `.wingman/project-map/`. It records a capability, flow, surface, component, module, utility, pattern, contract, domain, or term mapping that future agents may need to locate, understand, verify, reuse, extend, wrap, reference, avoid, or replace.2223Use fixed English section headings for stable parsing. Write entry content and final responses in the configured memory language when known; otherwise follow the user's current language.2425## Project Map Layout2627Initialize missing directories and indexes as needed:2829```text30.wingman/project-map/31 README.md32 index.md33 glossary/index.md34 features/index.md35 flows/index.md36 surfaces/index.md37 components/index.md38 modules/index.md39 utilities/index.md40 patterns/index.md41 contracts/index.md42 domains/index.md43 relationships/index.md # optional/future; do not require it for every catalog action44```4546Top-level and section indexes are short routing tables. Use `Entry Path`, not `Entry`, as the path column label.4748## Workflow49501. Identify the target.51 - If the user gave a path, use it as the evidence starting point.52 - If the user gave a feature or concept name, search source/docs/routes/tests/schema for evidence.53 - If the user said "this feature", use active context and recent relevant files.54 - Process exactly one coherent capability per invocation.55562. Choose the kind.57 - Use `feature`, `flow`, `surface`, `component`, `module`, `utility`, `pattern`, `contract`, `domain`, or `glossary-term`.58 - If uncertain, read `references/kind-selection.md`.59603. Read evidence before writing.61 - Read source, docs, routes, schema, tests, generated types, config, or explicit user-confirmed context.62 - For source-backed `feature`, `flow`, `surface`, `module`, and `contract` entries, prefer at least two evidence types when available.63 - For `component` and `utility`, one primary source file is acceptable, but check usages before claiming reuse scope.64 - Do not infer behavior from filename or path alone.65664. Read existing map context.67 - Read `.wingman/project-map/index.md` when it exists.68 - Read the relevant section index.69 - Search `.wingman/project-map/**/*.md` for the same source path, same capability name, same tags, or same term.70715. Decide create/update/replace.72 - Same source or same semantic capability: update the existing entry.73 - Same name but different responsibility: create a distinct entry and link it in `Related Entries` or `Similar Features`.74 - Stale or superseded entry: mark `Legacy` or `Deprecated`, and point to replacement when known.75766. Write the entry.77 - Read `references/entry-templates.md` before creating or substantially changing an entry.78 - Do not write generic source summaries.79 - Do not omit `Last Verified`, `Evidence Level`, `Use When`, `Do Not Use When`, or `Notes For Agents`.80 - Use `Unknown` rather than inventing facts.81827. Update indexes.83 - Update `.wingman/project-map/index.md`.84 - Update the relevant section `index.md`.85 - Update `glossary/index.md` only when there is a useful user-language to code-language mapping.86 - Update `relationships/index.md` only when it already exists or when a clear cross-entry relationship is important. First version may rely on each entry's `Related Entries`.8788## References8990- Read `references/kind-selection.md` only when kind choice is ambiguous.91- Read `references/entry-templates.md` before creating or substantially changing an entry.92- Do not read all references by default if updating only an index row or correcting a small typo.9394## Ask The User When9596- The target capability cannot be identified from paths, active context, source search, docs, or user wording.97- Two possible kinds would produce materially different entries and evidence does not settle the choice.98- Writing the entry would require treating an inferred business meaning as confirmed fact.99100## Safety Rules101102- Do not create or update multiple unrelated entries in one invocation.103- Do not write "possible" or "likely" as fact.104- Do not bulk-generate low-signal entries to cover a whole repository.105- Do not overwrite user-authored `Notes For Agents`, `Use When`, `Do Not Use When`, or status unless evidence or explicit user instruction proves they are outdated.106- If project memory current truth conflicts with a project-map entry, keep memory truth authoritative and mark the map entry as needing update.107- Do not migrate `.wingman/registry/` automatically. Treat old registry files as non-authoritative historical hints unless the user asks for migration.108109## Final Response110111Report concisely:112113- entry name and kind114- entry path115- status and evidence level116- updated indexes117- key tags or search hints118- any unverified gaps119120## Checklist121122Before finishing, verify:123124- [ ] I processed one coherent capability.125- [ ] I read evidence before writing facts.126- [ ] I checked existing project-map entries for duplicates.127- [ ] I created or updated exactly one main entry.128- [ ] I updated the top-level index and relevant section index.129- [ ] I clearly labeled unknown, inferred, or stale information.130131---132133**Source:** [`hashgraph-online/awesome-codex-plugins`](https://github.com/hashgraph-online/awesome-codex-plugins) → `plugins/lsshym/wingman.ai/skills/project-map-catalog/SKILL.md`