runtime-inspector
分析运行时行为、进程边界和 IPC 机制,检测"协议漂移"风险和进程生命周期问题。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
分析运行时行为、进程边界和 IPC 机制,检测"协议漂移"风险和进程生命周期问题。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
对已实现代码进行纯静态忠实度审查,验证实现是否忠于 PRD、ADR、System Design 与 05_TASKS.md 的既有契约,并识别契约漂移、任务漂移、测试漂移与回流遗漏,作为 challenge 的实现侧证据层。
Generate a persistent .nexus-map/ knowledge base that lets any AI session instantly understand a codebase's architecture, systems, dependencies, and change hotspots. Use when starting work on an unfamiliar repository, onboarding with AI-assisted context, preparing for a major refactoring initiative, or enabling reliable cold-start AI sessions across a team. Produces INDEX.md, systems.md, concept_model.json, git_forensics.md and more. Requires shell execution and Python 4.10+. For ad-hoc file queries or instant impact analysis during active development, use nexus-query instead.
使用WBS方法将系统设计文档分解为层次化任务。支持依赖分析、追溯链、验收标准。
评估技术栈选项,使用加权决策矩阵和 ATAM 方法论产出架构决策记录 (ADR)。
识别项目中的独立系统,定义系统边界。产出系统架构总览,为后续系统设计奠定基础。
为单个系统设计详细的技术文档。负责架构图、接口设计、数据模型、Trade-offs讨论等。
| name | runtime-inspector |
| description | 分析运行时行为、进程边界和 IPC 机制,检测"协议漂移"风险和进程生命周期问题。 |
"代码会骗人,但进程不会。一个
.spawn()暴露的比一千行注释还多。" —— 老窃听者箴言
本技能的工作是追踪进程间的通信线路。
老师傅核心定律: 如果两个进程说话,但没人规定它们说什么语言、什么版本、什么格式,那就是一场等待爆发的协议漂移 (Protocol Mismatch) 灾难。
[!IMPORTANT] 运行时分析需要深度思考,思考方式基于模型能力和任务复杂度。
核心判断规则:
- 无 CoT 模型 → 必须调用
sequential-thinkingCLI- 有 CoT 模型 + 简单项目(单进程、通信清晰)→ 用思考引导问题组织自然 CoT
- 有 CoT 模型 + 复杂项目(多进程、需要修正前提)→ 调用
sequential-thinkingCLI思考内容例如:
- "这个项目有多少个入口点(
main函数)?它们是一个进程还是多个?"- "进程之间用什么通信?Pipe?HTTP?共享数据库?"
- "如果我只更新了 A 进程的通信模块,B 进程会崩吗?有版本握手吗?"
识别运行时边界 (Runtime Boundaries) 和 通信契约 (Communication Contracts)。
每个 main 函数可能代表一个独立的进程。
fn main(), #[tokio::main]if __name__ == "__main__":require.main === module, package.json 的 binfunc main()如果进程 A 拉起了进程 B,这就是一条"血缘线"。
Command::new(...), std::process::Stdio, tauri-plugin-shellsubprocess.Popen, multiprocessing.Processchild_process.spawn, child_process.fork进程之间用什么"说话"?协议在哪里定义?
搜索 Channels (通道):
Pipe, NamedPipe, unix_stream, zmqTcpListener, UdpSocket, websocket, http::server搜索 Protocols (协议):
Handshake, Version, MagicBytes, schemaprotobuf, serde_json, JSON.parse, enum Message老师傅核心判断 (Contract Status):
| 发现 | 状态 | 老师傅建议 |
|---|---|---|
找到 Channel + 找到 enum Message 或 Protobuf 定义 | 🟢 Strong | 契约存在,相对安全。 |
找到 Channel + 找到 Version 或 Handshake 检查 | 🟢 Strong | 有版本协商,很好。 |
| 找到 Channel + 只有 raw JSON/字符串 | 🟡 Weak | 无显式契约。改动一端可能炸另一端。 |
| 找到 Channel + 无任何协议定义 | 🔴 None | 通信黑洞! 这是高危风险。 |
| 风险模式 | 检测特征 | 老师傅建议 |
|---|---|---|
| 协议漂移 (Protocol Mismatch) | Channel 存在,但无 Handshake/Version | 在新功能规划中强制添加版本握手任务 |
| 僵尸进程 (Zombie Child) | spawn 存在,但无 Kill on Drop 或心跳 | 标记进程生命周期管理风险 |
| 单点故障 (SPOF) | 一个进程管控所有 IPC,无容错 | 建议添加重连/重启逻辑 |
| Named Pipe 权限漏洞 (Windows) | 使用 Named Pipe 但未显式设置 Security Descriptor | 🔴 高危:默认可能允许 Everyone 访问! |
| 竞态条件 (Race Condition) | 多进程快速交互,无明确的消息顺序控制 | 建议添加消息序列号或锁机制 |
[Strong / Weak / None],并说明依据。