Skip to content
Skills Library
Programming · Analysis

map-method

/map-method

Static mapping and standalone navigation of existing map evidence. TRIGGER WHEN: project questions, unfamiliar code, debugging, feature work, refactors, reviews or documentation. Consult map evidence before broad exploration. Loading the skill starts no analysis or refresh. Verify claims against source; search the repository without usable maps. DO NOT TRIGGER WHEN: no project code or documentation.

Repository
daodan ↗
Licence
MIT
Last repository change
27.10.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
77
Scripts
46
HTML comments
0
URLs in SKILL.md
1
Deprecation

No signals detected. Repository changed on 27.10.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What to check before installing
  • 46 scripts in this package. Review them before installing, as Claude may execute them.

Scripts: scripts/analyze_file.py, scripts/ast_parser.py, scripts/card_store.py, scripts/cascade_scan.py, scripts/classifier.py, scripts/comment_rewriter.py, scripts/confinement.py, scripts/context_packet.py, scripts/dependency_graph.py, scripts/doc_review.py, scripts/edge_view.py, scripts/embedding_worker.py, scripts/json_snapshot.py, scripts/languages/__init__.py, scripts/languages/_treesitter.py, scripts

What it does and when to use it

Static mapping and standalone navigation of existing map evidence. TRIGGER WHEN: project questions, unfamiliar code, debugging, feature work, refactors, reviews or documentation. Consult map evidence before broad exploration. Loading the skill starts no analysis or refresh. Verify claims against source; search the repository without usable maps. DO NOT TRIGGER WHEN: no project code or documentation.

Original author description

Static mapping and standalone navigation of existing map evidence. TRIGGER WHEN: project questions, unfamiliar code, debugging, feature work, refactors, reviews or documentation. Consult map evidence before broad exploration. Loading the skill starts no analysis or refresh. Verify claims against source; search the repository without usable maps. DO NOT TRIGGER WHEN: no project code or documentation.

How it works

  1. Language Support
  2. How This Skill Is Invoked
  3. Load map
  4. Consumer map
  5. Team bindings
  6. Method loads
  7. Resources
Original SKILL.md headings · 167 lines, 1,658 words
SKILL.md preview
---
name: map-method
description: >
  Static mapping and standalone navigation of existing map evidence.
  TRIGGER WHEN: project questions, unfamiliar code, debugging, feature work, refactors, reviews or documentation. Consult map evidence before broad exploration. Loading the skill starts no analysis or refresh. Verify claims against source; search the repository without usable maps.
  DO NOT TRIGGER WHEN: no project code or documentation.
---

> `${PLUGIN_ROOT}` is this plugin's install directory, the one that holds its `plugin.json`. If the host has not expanded it, resolve it from where this file was loaded.
> This plugin declares an MCP server, `codebase-map`, started with `uv run --no-config --no-project --script ${PLUGIN_ROOT}/skills/map-method/scripts/mcp_server.py`. This host does not start a plugin-declared MCP server on its own. Before calling this server's tools, register that command under that name in the host's MCP configuration and verify the connection.

<daodan_host_binding host="copilot">
This binding governs execution of this package and its loaded references. It takes
precedence over executable examples written for another host. Use only registered
tools and their actual input schema; an example never creates a tool, argument,
permission, model alias or nested worker capability. Preserve the generated worker
allowlist, dependency closure, scope and delivery contracts.

Copilot binding: repository reads use search, writes use edit, shell execution uses
runCommands and network fetch uses fetch in the adapter's tool allowlist. Custom
agent dispatch uses the agent allowlist alias; the current CLI documents a task
dispatch tool. Call the mechanism actually registered in this session, not an
allowlist alias assumed to be a callable tool.
Use each registered tool's input fields; Claude's subagent_type, role and
run_in_background fields are not a portable dispatch schema. Dispatch only the
custom agent named by the generated owner-qualified binding and agents allowlist.
An omitted tools restriction retains host defaults; an explicit list constrains
the worker and does not grant omitted shell, write or MCP tools.
Skills use their exact installed registry identity; workflows are prompt entries.
A dispatched workflow also has its generated <workflow>-coordinator custom agent.
Required foreign providers use Copilot's marketplace/install commands:
copilot plugin marketplace add <source>, then copilot plugin install <provider>@<marketplace>.
Register plugin-declared MCP server commands in this host's MCP configuration as
the generated note directs. Registration and a dependency declaration alone do
not demonstrate that browser/server tools are callable by the selected worker.
Inherit the active session's model and default variant. A source model alias such
as sonnet is not a portable override; request a different model only through an
explicit adapter mapping to a valid host identity and user authorization.
Coordinator MCP allowances use <declared-server>/* for only the package's named
servers. This requires actual server registration and tool discovery; it grants
no undeclared server and does not prove MCP is callable in an installed run.
Schema reference: https://docs.github.com/en/copilot/reference/custom-agents-configuration

The executing agent and its coordinator own continuation, recovery, verification
and delivery. Skills supply knowledge and method instructions; they are not
executors or a runtime persistence mechanism.

Resolve each component by kind and exact installed identity. A role is dispatched
as a worker, a skill loads instructions, and a workflow starts its declared method.
Kernel owner-qualified skill references are logical provider identities: resolve
them to the actual host registry name and verified installed provider path. Do not
invent a registry string by adding an owner's prefix when the host does not use it.
Do not load an agent identity as a skill or execute a workflow name as a shell
command. Declared required foreign providers remain mandatory. If a required
provider or capability (including required MCP access or isolation) is unavailable,
stop its dependent phase and report the missing capability. Optional external
providers follow the method's declared selection and absence behavior; their
absence alone does not block the base workflow. Report any explicitly requested
but unavailable provider contribution as unfulfilled and continue independent
work. Do not install a different host's plugin or
substitute unrelated skills to claim coverage.

Shell execution alone does not establish interactive stdin. Before a capture or
checkpoint, use an available session-control mechanism. When stdin is unavailable,
keep user-driven capture in a supported background process with bounded output and
an explicit stop signal controlled by the coordinator after the user's completion
message. Close owned browser/process resources on completion or cancellation.

Continue working within the current authorization while the requested result is
achievable. After a tool error, inspect its cause, correct the relevant input or
implementation, retry when justified and verify the outcome; never repeat a
failing action blindly. Do not close the turn with a promise or a partial result
when an authorized next step can still produce or verify the requested result.
Stop only for a documented real impediment, a missing required capability, an
unresolved human decision or the caller's stop request. At that boundary, report
completed results, remaining work and the concrete prerequisite for continuation;
continue any independent work that the blocker does not prevent.

A tool's successful exit, a worker stop or an idle session is not the deliverable.
Return final text naming observed findings, artifact paths, executed checks and
blockers. An empty worker result is missing delivery: inspect or resume that worker
when permitted, or record failure. Verify required artifacts and candidate gates
before marking the requested outcome complete.

This is an execution binding, not a rewrite of source examples. Preserve programming
language fences, domain code and host APIs that are the subject of marketplace-ops
or agent-sdk-builder. A host-as-subject API is not a tool provided to this session.
Compiled binding and static checks do not prove an installed host executed a run.
</daodan_host_binding>

# Codebase Map Analysis Skill

## Language Support

| Language | Extensions | Structural extraction | Comment syntax |
|---|---|---|---|
| Python | `.py`, `.pyi` | stdlib `ast` (always available) | `#` line + docstrings |
| Java | `.java` | tree-sitter (preferred) or regex | `//`, `/* */`, Javadoc `/** */` |
| JavaScript | `.js`, `.mjs`, `.cjs`, `.jsx` | tree-sitter (preferred) or regex | `//`, `/* */`, JSDoc `/** */` |
| TypeScript | `.ts`, `.tsx`, `.mts`, `.cts` | tree-sitter (preferred) or regex; adds interfaces, enums, type aliases | `//`, `/* */`, JSDoc `/** */` |
| SQL | `.sql`, `.ddl`, `.dml` | regex DDL (tables, views, indexes, sequences, types, functions, procedures, triggers) | `--`, `/* */` |
| PL/SQL (Oracle) | `.pks`, `.pkb`, `.plsql`, `.pls`, `.pck`, `.prc`, `.fnc`, `.trg` | regex (packages, package bodies, type bodies, cursors, exceptions, %TYPE/%ROWTYPE references) | `--`, `/* */` |
| Rust | `.rs` | tree-sitter (preferred) or regex; structs, enums, traits, impls (with `Trait for Type` naming), mods, unions, type aliases | `//`, `/* */`, rustdoc `///` / `//!` / `/** */` / `/*! */` |
| Go | `.go` | tree-sitter (preferred) or regex; functions, methods, types | `//`, `/* */` |
| CSS, SCSS, LESS | `.css`, `.scss`, `.less` | stdlib tokenizer, never tree-sitter; one symbol per applied rule (flattened selector within enclosing at-rules); top-level at-rules, Sass/LESS variables, mixins, Sass functions; `@import`/`@use`/`@forward`; Tailwind `@apply` layout utilities expanded as declarations | `/* */`, and `//` outside plain CSS |

`.sql` is disambiguated against PL/SQL by Oracle-specific content markers (`languages/__init__.py`); `plpgsql` stays SQL.

## How This Skill Is Invoked

`references/entry-analyze.md` dispatches isolated `codebase-map:map-analyst`;
`references/entry-team-analyze.md` uses isolated partition workers. Entries own
`.codebase-map/` publication (`references/run.md`).
Loading `codebase-map:map-method` starts no analysis or run.

## Load map

| Unit | Holds | Loaded by |
|---|---|---|
| `references/run.md` | classic/team runs, concurrency and perimeter | whoever owns the run |
| `references/snapshot.md` | snapshot ownership, scope, write, diff, carry and check commands | whoever owns the run's snapshot |
| `references/update.md` | incremental re-derivation | analyst on accepted updates |
| `references/deepen.md` | cards an area lacks | area deepening; analyst in `cards` mode |
| `references/evidence.md` | evidence, forbidden files, commands, source reading, classification; maintained-document verification separately | every phase worker and every consumer that reads source |
| `references/reading.md` | analysis reading | every consumer of a bound analysis |
| `references/standalone.md` | shared read-only map discovery, navigation, impact and fallback | every map consumer, including analysis and composed workflows |
| `references/locate.md` | the measured loop for finding the code a request is about: search by name, expand with outline and graph, read by symbol, reproduce, then fix | every agent that changes code with a map |
| `references/phase-0.md` | Phase 0 knowledge discovery | analyst and team entry |
| `references/phases-1-2.md` | Phase 1 structure, Phase 2 interfaces | phase 1 and 2 workers |
| `references/phases-3-4.md` | Phase 3 flows, Phase 4 semantics and the analysis loop | phase 3 and 4 workers |
| `references/phases-5-6.md` | Phase 5 patterns and risks, Phase 6 documentation health | phase 5 and 6 workers |
| `references/phase-7.md` | Phase 7 final report | analyst and synthesizer |

## Consumer map

- Every map consumer, including analyze and composed workflows: `references/standalone.md` and `references/reading.md` section `Task views`. Ordinary standalone source reads add `references/evidence.md` sections `CRITICAL PRINCIPLE: EVIDENCE-ANCHORED OUTPUT` and `Forbidden Files`; composed consumers keep their own authorized evidence and producer procedures.
- Forbidden files: `references/evidence.md`.
- Consuming a bound analysis: `references/reading.md`, plus `references/evidence.md` before Maintained documentation for source. For durable-document verification, read its Maintained documentation section. Snapshot verification/refresh uses `references/snapshot.md` before Prerequisites.
- Run analyses through `references/entry-analyze.md`; composed callers declare isolated `codebase-map/map-analyst`.

## Team bindings

Use canonical skeletons in owned output. Put partition identity below titles, never in headings. Workers and synthesizers do not update classic state.

## Method loads

Conditional reads: methodology, patterns, comments. Follow nested loads; count their union with core reads.

| Resource | Sections | When |
|---|---|---|
| `references/AI_ANALYSIS_METHODOLOGY.md` | all | methodology |
| `references/SEMANTIC_PATTERNS.md` | all | patterns |
| `references/ANTIREZ_COMMENTING_STANDARDS.md` | all | comments |

## Resources

Python >= 3.10 scripts: `${PLUGIN_ROOT}/skills/map-method/scripts/`.
Language Support above applies throughout.

- `ast_parser.py`: structural extraction dispatcher.
- `analyze_file.py`: classification/structure/usages; workflows reuse `--snapshot`.
- `classifier.py`: language-aware criticality.
- `usage_finder.py`: cross-file symbol usages.
- `comment_rewriter.py`: multi-language comment analysis.
- `rewrite_comments.py`: comment quality CLI: scan/analyze/rewrite/report.
- `doc_review.py`: documentation maintenance (Phase 6).
- `confinement.py`: project binding, link refusal and the per-project lock every helper shares.
- `snapshot.py`: scope, SQLite snapshots (explicit JSON), run resolution, incremental changes.
- `source_reader.py`: manifest graphs, outlines and validated source blocks.
- `tree_scope.py`: shared Git, dot-directory and dependency/build perimeter.
- `cascade_scan.py`: global stylesheet layout risks, cascade overrides and screen rules (Phase 5).
- `languages/`: per-language adapters listed above.
- `requirements.txt`: optional tree-sitter and tree-sitter-language-pack dependencies.
Files in this package (77)
  • SKILL.md 12 KB
  • SKILL.toml 1 KB
  • references/AI_ANALYSIS_METHODOLOGY.md 19 KB
  • references/ANTIREZ_COMMENTING_STANDARDS.md 19 KB
  • references/SEMANTIC_PATTERNS.md 19 KB
  • references/context.md 14 KB
  • references/deepen.md 8 KB
  • references/embeddings.md 12 KB
  • references/entry-analyze.md 15 KB
  • references/entry-team-analyze.md 39 KB
  • references/evidence.md 24 KB
  • references/human-view.md 7 KB
  • references/locate.md 8 KB
  • references/mcp.md 22 KB
  • references/phase-0.md 8 KB
  • references/phase-7.md 11 KB
  • references/phases-1-2.md 11 KB
  • references/phases-3-4.md 15 KB
  • references/phases-5-6.md 14 KB
  • references/reading.md 6 KB
  • references/role-partition-behavior-worker.md 10 KB
  • references/role-partition-quality-worker.md 11 KB
  • references/role-partition-structure-worker.md 10 KB
  • references/role-partition-synthesizer.md 11 KB
  • references/role-semantic-interconnect-mapper.md 23 KB
  • references/run.md 11 KB
  • references/scope.md 13 KB
  • references/snapshot.md 12 KB
  • references/standalone.md 8 KB
  • references/update.md 10 KB
  • scripts/analyze_file.py 21 KB
  • scripts/ast_parser.py 3 KB
  • scripts/card_store.py 7 KB
  • scripts/cascade_scan.py 42 KB
  • scripts/classifier.py 15 KB
  • scripts/comment_rewriter.py 36 KB
  • scripts/confinement.py 4 KB
  • scripts/context_packet.py 35 KB
  • scripts/dependency_graph.py 9 KB
  • scripts/doc_review.py 46 KB
  • scripts/edge_view.py 14 KB
  • scripts/embedding_worker.py 28 KB
  • scripts/json_snapshot.py 7 KB
  • scripts/map_slice.py 5 KB
  • scripts/mcp_server.py 12 KB
  • scripts/mcp_service.py 39 KB
  • scripts/requirements.txt 2 KB
  • scripts/resolution.py 13 KB
  • scripts/resolve_edges.py 43 KB
  • scripts/retrieval.py 24 KB
  • scripts/rewrite_comments.py 24 KB
  • scripts/scope_planner.py 36 KB
  • scripts/semantic_index.py 19 KB
  • scripts/semantic_map.py 19 KB
  • scripts/semantic_store.py 107 KB
  • scripts/snapshot.py 165 KB
  • scripts/snapshot_store.py 31 KB
  • scripts/source_reader.py 32 KB
  • scripts/store_consumers.py 19 KB
  • scripts/store_graph.py 16 KB
  • scripts/store_graph_metrics.py 6 KB
  • scripts/tree_scope.py 9 KB
  • scripts/usage_finder.py 31 KB
  • scripts/languages/__init__.py 6 KB
  • scripts/languages/_treesitter.py 20 KB
  • scripts/languages/base.py 11 KB
  • scripts/languages/comments.py 15 KB
  • scripts/languages/go.py 16 KB
  • scripts/languages/java.py 21 KB
  • scripts/languages/javascript.py 32 KB
  • scripts/languages/plsql.py 7 KB
  • scripts/languages/python.py 29 KB
  • scripts/languages/rust.py 24 KB
  • scripts/languages/semantic.py 62 KB
  • scripts/languages/sql.py 13 KB
  • scripts/languages/stylesheet.py 41 KB
  • scripts/languages/typescript.py 5 KB

Versions

RepositoryScoreLicence
This page · acaprino/daodan100MIT
acaprino/daodan100MIT
acaprino/alfio-claude-plugins100MIT
acaprino/alfio-claude-plugins100MIT
acaprino/daodan100MIT
acaprino/alfio-claude-plugins100MIT
acaprino/daodan100MIT
acaprino/alfio-claude-plugins100MIT
acaprino/daodan100MIT

Database snapshot: 13.11.2026 · package version 3e0e6df3d226 (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100map
    Static mapping and standalone navigation of existing map evidence. TRIGGER WHEN: project questions, unfamiliar code, debugging, feature work, refactors, reviews or documentation. Consult map evidence before broad exploration. Loading the skill starts no analysis or refresh.…
  • 95project-bootstrap
    Draft missing ADR and FRD from verified project evidence without turning legacy behavior or stale documentation into approved requirements. TRIGGER WHEN: a project has no ADR or FRD, existing project knowledge must be bootstrapped from code, documentation or Codebase Map, or…
  • 100codebase-navigation
    Use when you need to locate code in this repository - unfamiliar areas, a feature described without a file path, or checking who uses something. Gives the three-layer order (generated code map, then rg, then the ts-code-map cli as fallback), says exactly when rg is not enough,…
  • 100handover-method
    Coordinate an evidence-based consultant intake dossier. TRIGGER WHEN: the user asks to be onboarded, walked through an unfamiliar codebase, given a project takeover or intake dossier, or runs /daodan:onboard-project. DO NOT TRIGGER WHEN: being new to a project is only background…
  • 100handover-method
    Coordinate an evidence-based consultant intake dossier. TRIGGER WHEN: the user asks to be onboarded, walked through an unfamiliar codebase, given a project takeover or intake dossier, or runs /daodan:onboard-project. DO NOT TRIGGER WHEN: being new to a project is only background…
  • 100repository-exploration
    Use when orienting in an unfamiliar codebase. Produces a map of the architecture, entry points, data flow, conventions, and the parts most likely to surprise you — before any code is changed. Trigger on "help me understand this codebase", "where do i start in this repo", "how is…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.