AgentSkillsCN

ep-navigator

EP项目导航专家,提供21个EP的依赖路由、快速定位和跨EP对比。

中文原作
SKILL.md
--- frontmatter
name: ep-navigator
description: EP项目导航专家,提供21个EP的依赖路由、快速定位和跨EP对比。
version: v1.0
tags: [navigation, routing, ep-relationship, cross-ep]
allowed-tools: mcp__serena__read_memory, mcp__serena__list_memories, Read, Grep
requires-skills: []

EP导航专家

🎯 垂直职责

单一职责: EP项目知识图谱导航和路由决策

📊 EP依赖关系图

mermaid
graph TD
    %% 基础层
    EP1[EP1: Lexer] --> EP2[EP2: Parser]
    EP2 --> EP3[EP3: AST]
    EP3 --> EP4[EP4: Listener]
    EP4 --> EP5[EP5: Visitor]
    EP5 --> EP6[EP6: Symbol Table]
    EP6 --> EP7[EP7: Types]
    EP7 --> EP8[EP8: Type Checking]
    EP8 --> EP9[EP9: Scopes]
    EP9 --> EP10[EP10: Interpreter]

    %% 编译器层
    EP10 --> EP11[EP11: IR Design]
    EP11 --> EP12[EP12: IR Gen]
    EP12 --> EP13[EP13: Bytecode]
    EP13 --> EP14[EP14: VM Entry]
    EP14 --> EP15[EP15: Function Call]
    EP15 --> EP16[EP16: Control Flow]
    EP16 --> EP17[EP17: Arrays]

    %% 后端分支
    EP17 --> EP18[EP18: Stack VM]
    EP17 --> EP18R[EP18R: Register VM]
    EP17 --> EP19[EP19: Compiler Interpreter]
    EP17 --> EP20[EP20: Full Compiler]

    %% 优化层
    EP20 --> EP21[EP21: Optimization]

    %% 虚拟机分支
    EP18 -.-> EP18R
    EP19 -.-> EP20

🚀 快速路由表

用户意图目标EP加载记忆加载技能
"词法/语法问题"EP1-EP5无需antlr4-dev
"符号表/类型检查"EP6-EP10EP{编号}.mdcompiler-dev
"IR/代码生成"EP11-EP17EP{编号}.mdcompiler-dev
"虚拟机"EP18, EP18REP18.mdvm-dev
"编译器完整流程"EP19, EP20EP19.md, EP20.mdcompiler-dev
"优化/SSA"EP21EP21_TECH_MEM.mdcompiler-dev
"文档编写"--doc-dev
"测试开发"--test-dev

📦 核心能力

1. EP识别

从用户输入自动识别目标EP:

bash
输入: "在ep18中添加垃圾回收"
→ 识别: EP18
→ 加载: docs/ep-memory/EP18.md
→ 加载技能: vm-dev

2. 跨EP对比

bash
输入: "对比ep18和ep18r的ABI设计"
→ 加载: EP18.md + EP18R.md
→ 对比维度: 调用约定、栈帧布局、参数传递
→ 输出: 标准化对比表

3. 依赖分析

bash
输入: "修改EP5的Visitor接口"
→ 分析: 影响EP6-EP21所有使用Visitor的模块
→ 报告: 受影响EP列表 + 风险评估

🔗 关系图

被所有技能依赖 (优先加载) ← 无依赖

📂 关键文件映射

EP核心目录入口文件关键记忆
EP1-5ep20/src/main/antlr4/Cymbol.g4
EP6-10ep20/src/main/java/org/teachfx/antlr4/ep20/symtab/Symbol.javaEP{编号}.md
EP11-17ep20/src/main/java/org/teachfx/antlr4/ep20/Compiler.javaEP{编号}.md
EP18ep18/src/main/java/org/teachfx/antlr4/ep18/stackvm/CymbolStackVM.javaEP18.md
EP18Rep18r/src/main/java/org/teachfx/antlr4/ep18r/regvm/CymbolRegisterVM.javaEP18R.md
EP19ep19/src/main/java/org/teachfx/antlr4/ep19/Compiler.javaEP19.md
EP20ep20/src/main/java/org/teachfx/antlr4/ep20/Compiler.javaEP20.md
EP21ep21/src/main/java/org/teachfx/antlr4/ep21/Optimizer.javaEP21_TECH_MEM.md

✅ 使用流程

bash
# 1. 识别EP
用户输入包含 "ep{数字}" 或特定关键词

# 2. 加载记忆
mcp__serena__read_memory("EP{编号}.md")

# 3. 加载技能
根据上表加载对应的垂直技能

# 4. 执行任务
使用垂直技能的专业知识执行

# 5. 更新记忆
任务完成后更新对应的EP记忆

版本: v1.0 | 垂直职责: EP路由导航 | 2025-12-23