Token导航 LogoToken导航TokenDH.com
AI 工具需要联网github未标认证来源可访问clear审计通过

maintain-architecture-map维护架构图

Agent Skill

maintain-architecture-map 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

210

周安装

9

GitHub Stars

1

下载量

73
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:maintain-architecture-map(维护架构图)
来源仓库:https://github.com/dudusoar/vrp-toolkit
仓库路径:skills/maintain-architecture-map
安装命令:
npx skills add https://github.com/dudusoar/vrp-toolkit --skill maintain-architecture-map
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/dudusoar/vrp-toolkit --skill maintain-architecture-map

简介

maintain-architecture-map 用于处理 GitHub 仓库和协作信息。

  • 适合围绕仓库状态、代码变更或协作事项进行整理。
  • 可结合来源仓库和原始 README 核验具体用法。
  • 安装前应确认权限范围、维护状态及是否触发联网或文件读写。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Maintain Architecture Map Skill

Maintain a living architecture document that shows the system's big picture: modules, data flows, entry points, and dependencies.

Goal

Keep ARCHITECTURE_MAP.md and related architecture docs synchronized with the actual codebase, providing:

  1. Module Overview: What modules exist and what they do
  2. Data Flows: How data moves through the system (Instance → Solver → Solution → Visualizer)
  3. Entry Points: Where to start when using the toolkit
  4. Dependencies: How modules depend on each other

Relationship to Other Skills

Complementary to maintain-data-structures:

  • maintain-data-structures: Focuses on what (data structure definitions, attributes, methods, formats)
  • maintain-architecture-map: Focuses on how (module structure, data flows, system pipelines)

Example:

  • maintain-data-structures documents: PDPTWInstance has attributes n, order_table, distance_matrix
  • maintain-architecture-map documents: PDPTWInstance is created in Data layer, consumed by Algorithm layer, visualized by Visualization layer

When to Use This Skill

Trigger this skill when:

  • New module added (e.g., new problem type, new algorithm)
  • Module structure changes (files moved, packages reorganized)
  • New entry point created (new public API)
  • Data flow changes (new pipeline stage added)
  • Major refactoring completed (architecture evolution)
  • Preparing for playground development (need system overview)
  • User asks "how does the system work?"

Workflow

Step 1: Scan Project Structure

Identify current module organization:

Reference: references/scanning_scripts.md for automation ideas

Key directories to scan:

vrp_toolkit/
├── problems/          # Problem definitions (PDPTW, VRP, etc.)
├── algorithms/        # Solving algorithms (ALNS, GA, etc.)
├── data/             # Data generation and loading
├── visualization/    # Plotting and visualization
└── utils/            # Common utilities

For each module, extract:

  • Module purpose (from __init__.py docstring or README)
  • Public classes (classes exported in __init__.py)
  • Public functions (functions exported in __init__.py)
  • Dependencies (imports from other modules)

Step 2: Identify Entry Points

Entry points are where users start using the toolkit:

Common entry point types:

  1. Problem creation:

- PDPTWInstance(order_table) - Create problem from data - generate_pdptw_instance(...) - Generate synthetic problem

  1. Algorithm execution:

- ALNSSolver.solve(problem) - Solve using ALNS - greedy_insertion_initial_solution(...) - Generate initial solution

  1. Data generation:

- OrderGenerator.generate() - Generate order data - RealMap(...) - Create synthetic map

  1. Visualization:

- PDPTWVisualizer.visualize(solution) - Plot routes

Document in ARCHITECTURE_MAP.md with:

  • Function signature
  • One-sentence purpose
  • Example usage (1-2 lines)

Step 3: Map Data Flows

Trace how data moves through the system:

Primary data flow (Problem → Solution):

1. Data Layer:      Generate/load data
                    ↓
2. Problem Layer:   Create Instance (PDPTWInstance)
                    ↓
3. Algorithm Layer: Solve Instance → Solution (ALNSSolver.solve())
                    ↓
4. Visualization:   Visualize Solution (PDPTWVisualizer.visualize())

Secondary data flows:

  • Configuration: User params → ALNSConfig → ALNSSolver
  • Evaluation: Solution → Objective function → Cost metric
  • Validation: Solution → Feasibility checker → Constraint violations

Reference: Create .claude/docs/data_flows.md for detailed flow diagrams

Step 4: Document Module Dependencies

Map which modules depend on which:

Dependency rules (VRP-Toolkit architecture):

  • Algorithm can depend on Problem (solvers need instances)
  • Visualization can depend on Problem and Algorithm (visualizers need instances and solutions)
  • Data can depend on Problem (generators create instances)
  • Problem should NOT depend on Algorithm (instances are algorithm-agnostic)

Create dependency graph:

Data ────────┐
             ↓
Problem ←────┘
   ↓
Algorithm
   ↓
Visualization

Reference: Create .claude/docs/module_dependencies.md for full dependency map

Step 5: Update ARCHITECTURE_MAP.md

Use the template from references/architecture_template.md:

Required sections:

  1. System Overview - 2-3 paragraph summary
  2. Three-Layer Architecture - Problem/Algorithm/Data layer descriptions
  3. Module Guide - One subsection per module with purpose and key exports
  4. Entry Points - How to start using the toolkit
  5. Data Flows - Visual diagram + text description
  6. Key Abstractions - VRPProblem, VRPSolution, Solver interfaces
  7. Extension Guide - How to add new problems/algorithms
  8. Quick Reference - Cheat sheet of common operations

Formatting guidelines:

  • Keep it concise (aim for <500 lines total)
  • Use diagrams (ASCII art or mermaid)
  • Include code examples (1-3 lines each)
  • Link to detailed docs (maintain-data-structures references)

Step 6: Update Supporting Docs

Create/update .claude/docs/ as needed:

data_flows.md - Detailed data flow diagrams

  • Problem creation flow
  • Algorithm execution flow
  • Visualization flow
  • Configuration flow

module_dependencies.md - Dependency graph

  • Import graph (module → imported modules)
  • Circular dependency checks
  • Layer violations (if any)

extension_guide.md - How to extend the system

  • Adding a new problem type
  • Adding a new algorithm
  • Adding a new operator
  • Adding a new visualization

Architecture Template

Minimal ARCHITECTURE_MAP.md Structure

# VRP-Toolkit Architecture Map

**Last Updated:** YYYY-MM-DD
**Version:** 0.1.0

## System Overview

[2-3 paragraphs describing the toolkit]

## Three-Layer Architecture

### 1. Problem Layer (vrp_toolkit/problems/)
[Description + key classes]

### 2. Algorithm Layer (vrp_toolkit/algorithms/)
[Description + key classes]

### 3. Data Layer (vrp_toolkit/data/)
[Description + key classes]

### 4. Visualization Layer (vrp_toolkit/visualization/)
[Description + key classes]

## Module Guide

### problems/
**Purpose:** [One sentence]
**Key Exports:**
- `PDPTWInstance` - [Purpose]
- `VRPProblem` - [Purpose]

[Repeat for each module]

## Entry Points

### 1. Create a Problem

from vrp_toolkit.problems.pdptw import PDPTWInstance instance = PDPTWInstance(order_table=df)


### 2. Solve the Problem

from vrp_toolkit.algorithms.alns import ALNSSolver solver = ALNSSolver(config) solution = solver.solve(instance)


[Continue for main workflows]

## Data Flows

[ASCII diagram or mermaid]

## Key Abstractions

[Describe VRPProblem, VRPSolution, Solver interfaces]

## Extension Guide

[How to add new problems/algorithms]

## Quick Reference

[Cheat sheet table]

Full template: references/architecture_template.md

Automation Helpers

Script: Scan Module Structure

# scripts/scan_modules.py
from pathlib import Path
import importlib

def scan_module(module_path):
    """Scan a module and extract public API."""
    init_file = module_path / "__init__.py"

    if not init_file.exists():
        return None

    # Read __init__.py
    content = init_file.read_text()

    # Extract __all__ if present
    if "__all__" in content:
        # Parse __all__ list
        pass

    # Extract docstring
    # Extract classes/functions

    return {
        'name': module_path.name,
        'docstring': '...',
        'exports': [...]
    }

def scan_all_modules():
    """Scan all vrp_toolkit modules."""
    toolkit_path = Path("vrp-toolkit/vrp_toolkit")
    modules = []

    for module_dir in toolkit_path.iterdir():
        if module_dir.is_dir() and not module_dir.name.startswith('_'):
            info = scan_module(module_dir)
            if info:
                modules.append(info)

    return modules

Reference: See references/scanning_scripts.md for full scripts

Quality Checklist

Before marking ARCHITECTURE_MAP.md as up-to-date:

  • Accuracy: All listed modules/classes exist in codebase
  • Completeness: All major modules documented
  • Entry points: At least 3-5 entry points with examples
  • Data flows: At least 1 visual diagram
  • Dependencies: Dependency graph present
  • Layer compliance: No violations of three-layer architecture
  • Links: Cross-references to maintain-data-structures docs work
  • Freshness: "Last Updated" date is current
  • Brevity: Total length < 500 lines (main file)

Integration with Other Skills

Works with:

  • maintain-data-structures: Link to data structure references for details
  • create-playground: Playground references ARCHITECTURE_MAP for integration patterns
  • migrate-module: After migration, update architecture docs
  • build-session-context: Reads ARCHITECTURE_MAP for project overview

Maintains:

  • .claude/ARCHITECTURE_MAP.md - Main architecture document
  • .claude/docs/data_flows.md - Data flow diagrams
  • .claude/docs/module_dependencies.md - Dependency graph

Common Patterns

Pattern 1: Document a New Module

When adding a new module (e.g., vrp_toolkit/algorithms/genetic/):

  1. Add entry to "Module Guide" section: ` ### algorithms/genetic/ **Purpose:** Genetic algorithm solver for VRP problems **Key Exports:** - GeneticSolver - Main GA solver implementing Solver interface - GAConfig - Configuration for genetic parameters `
  2. Update "Entry Points" if new public API: ``` ### 3. Solve with Genetic Algorithm `python from vrp_toolkit.algorithms.genetic import GeneticSolver solver = GeneticSolver(config) solution = solver.solve(instance) `` `
  3. Update dependency graph if needed

Pattern 2: Document Data Flow

When documenting a new data flow (e.g., "How does configuration work?"):

  1. Create ASCII diagram: User Input ↓ UI Widgets (Streamlit) ↓ ALNSConfig (dataclass) ↓ ALNSSolver.__init__(config) ↓ ALNS.run() uses config params
  2. Add text explanation
  3. Link from ARCHITECTURE_MAP.md to detailed docs

Pattern 3: Update After Refactoring

When architecture changes (e.g., "Split ALNS into solver.py and operators.py"):

  1. Update module structure in "Module Guide"
  2. Update imports in code examples
  3. Update dependency graph
  4. Verify no broken cross-references

References

  • references/architecture_template.md - Full ARCHITECTURE_MAP.md template
  • references/scanning_scripts.md - Automation scripts for module scanning
  • maintain-data-structures/ skill - For detailed data structure docs

Remember: ARCHITECTURE_MAP.md is for the big picture. For detailed class/function documentation, use maintain-data-structures skill.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

27.9%
按下载量换算20

windsurf

24.01%
按下载量换算18

trae

17.58%
按下载量换算13

OpenCode

12.3%
按下载量换算9

Codex

7.7%
按下载量换算6

github-copilot

3.36%
按下载量换算2

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills