关于 ln-641-pattern-analyzer
用于代码审计的技能,每次针对一个架构模式查找实现并按最佳实践评估。它分别计算合规性、完整性、质量和实现情况,并整理问题与改进建议。
主要功能
- 01单次分析一个架构模式
- 02通过搜索定位模式实现
- 03计算四项诊断评分
- 04按严重程度整理问题与缺口
- 05为问题提供修复建议和工作量
适用场景
- 01评估指定模式在代码中的实现
- 02发现模式实现缺失的组成部分
- 03为模式改进确定问题优先级
MCP 相关
可在实现发现有助于提高分析把握度时优先使用 hex-graph,并使用 hex-line 读取代码;MCP 不可用或未索引时改用内置工具。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-641-pattern-analyzer安装后在 Claude Code 中输入/ln-641-pattern-analyzer确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/audit_scoring.mdaudit_summary_contract.mdaudit_worker_core_contract.mdepistemic_protocol.mdmcp_integration_patterns.mdmcp_tool_preferences.mdpattern_library.mdresearch_tool_fallback.mdscoring_rules.mdtwo_layer_detection.mdreferences/templates/audit_worker_report_template.md详细介绍
路径: 文件路径(
references/、../ln-*)均相对于此技能目录。
模式分析器
类型: L3 Worker
用于针对最佳实践分析单个架构模式并计算 4 项分数的 L3 Worker。
目的与范围
- 每次调用分析一个模式(由协调器提供模式名称、位置和最佳实践)
- 查找代码库中的所有实现(Glob/Grep)
- 验证实现是否存在且可正常工作
- 计算 4 项分数:合规性、完整性、质量、实现情况
- 识别差距和问题,并估算严重程度与工作量
- 向协调器返回结构化分析结果
范围之外(由 ln-624-code-quality-auditor 负责):
- 圈复杂度阈值(>10、>20)
- 方法/类长度阈值(>50、>100、>500 行)
- 质量分侧重于模式特定的质量(模式内部的 SOLID、模式级代码异味),而非通用代码指标
输入
- pattern: string # Pattern name (e.g., "Job Processing")
- locations: string[] # Known file paths/directories
- bestPractices: object # Best practices from MCP Ref/Context7/WebSearch
- output_dir: string # e.g., ".hex-skills/runtime-artifacts/runs/{run_id}/audit-report"
注意: 所有模式均已预先验证(通过 ln-640 Phase 1d 适用性门槛,并确认存在 >= 2 个结构组件)。
工作流
检测策略:采用两层检测(候选扫描,然后上下文验证);仅在验证方法不明确时加载 references/two_layer_detection.md。
工具策略:遵循宿主 AGENTS.md 中的 MCP 偏好;仅在宿主策略缺失或 MCP 行为不明确时加载 references/mcp_tool_preferences.md 和 references/mcp_integration_patterns.md。
当 hex-graph 能显著提高实现发现的可信度时,优先使用它。当 hex-line 可用时,优先用它读取本地代码。如果 MCP 不可用、不受支持或未建立索引,则使用内置的 Read/Grep/Glob/Bash 继续,并在报告中说明回退方式。
阶段 1:查找实现
必须读取: 加载 references/pattern_library.md——使用其中的“Pattern Detection (Grep)”表获取各模式的检测关键词。
IF pattern.source == "adaptive":
# Pattern discovered by coordinator Phase 1b -- evidence already provided
files = pattern.evidence.files
SKIP detection keyword search (already done in Phase 1b)
ELSE:
# Baseline pattern -- use library detection keywords
files = Glob(locations)
additional = Grep("{pattern_keywords}", "**/*.{ts,js,py,rb,cs,java}")
files = deduplicate(files + additional)
阶段 2:读取并分析代码
FOR EACH file IN files (limit: 10 key files):
Read(file)
Extract: components, patterns, error handling, logging, tests
阶段 3:计算 4 项分数
必须读取: 加载 references/scoring_rules.md——遵循每项标准的 Detection 列。
| 分数 | scoring_rules.md 中的来源 | 最高分 |
|---|---|---|
| 合规性 | “Compliance Score”部分——行业标准、命名、约定、反模式 | 100 |
| 完整性 | “Completeness Score”部分——必需组件表(按模式)、错误处理、测试 | 100 |
| 质量 | “Quality Score”部分——方法长度、复杂度、代码异味、SOLID | 100 |
| 实现情况 | “Implementation Score”部分——编译、生产环境使用、集成、监控 | 100 |
每项标准的评分流程:
- 运行 scoring_rules.md 中的 Detection Grep/Glob
- 如果找到匹配项 -> 按标准加分
- 如果检测到反模式/异味 -> 按扣分表扣分
- 记录证据:为每项评分说明提供文件路径和行号
阶段 4:识别问题和差距
FOR EACH bestPractice NOT implemented:
issues.append({
severity: "HIGH" | "MEDIUM" | "LOW",
category: "compliance" | "completeness" | "quality" | "implementation",
issue: description,
suggestion: how to fix,
effort: "S" | "M" | "L"
})
# Layer 2 context check (MANDATORY):
# Deviation documented in code comment or ADR? -> downgrade to LOW
# Pattern intentionally simplified for project scale? -> skip
gaps = {
missingComponents: required components not found in code,
inconsistencies: conflicting or incomplete implementations
}
阶段 5:计算分数
必须读取: 加载 references/audit_worker_core_contract.md 和 references/audit_scoring.md。
诊断子分数(各为 0-100)单独计算,并仅为诊断目的在 AUDIT-META 中报告:
- 合规性、完整性、质量、实现情况
阶段 6:编写报告
必须读取: 加载 references/templates/audit_worker_report_template.md。
根据 references/audit_summary_contract.md 编写 JSON 摘要。在托管模式下,调用方会传入 runId 和 summaryArtifactPath;在独立模式下,Worker 会根据共享契约生成作用域限定于自身运行的工件路径。
# Build pattern name slug: "Job Processing" -> "job-processing"
slug = pattern.name.lower().replace(" ", "-")
# Build markdown report in memory with:
# - AUDIT-META (extended: score [penalty-based] + diagnostic score_compliance/completeness/quality/implementation)
# - Checks table (compliance_check, completeness_check, quality_check, implementation_check)
# - Findings table (issues sorted by severity)
# - DATA-EXTENDED: {pattern, codeReferences, gaps, recommendations}
Write to {output_dir}/ln-641--{slug}.md (atomic single Write call)
阶段 7:返回摘要
Report written: .hex-skills/runtime-artifacts/runs/{run_id}/audit-report/ln-641--job-processing.md
Score: 7.9/10 (C:72 K:85 Q:68 I:90) | Issues: 3 (H:1 M:2 L:0)
关键规则
应用已加载的 references/audit_worker_core_contract.md。
- 仅分析一种模式: 只分析协调器传入的模式
- 先阅读,再评分: 未阅读实际代码时,绝不评分
- 基于检测结果评分: 使用
scoring_rules.md中的 Grep/Glob 模式,不要凭假设评分 - 工作量估算: 为每个问题提供 S/M/L
- 代码引用: 发现问题时始终注明文件路径
完成定义
应用已加载的 references/audit_worker_core_contract.md。
- 使用
pattern_library.md中的关键词或自适应证据,通过 Glob/Grep 找到所有实现 - 阅读并分析关键文件
- 使用
scoring_rules.md中的检测模式计算 4 项分数 - 明确问题及其严重性、类别、建议和工作量
- 记录差距(缺失的组件、不一致之处)
- 提供建议
- 将报告写入
{output_dir}/ln-641--{slug}.md(通过一次原子 Write 调用) - 按照契约撰写摘要
参考文件
- 评分规则:
references/scoring_rules.md - 模式库:
references/pattern_library.md - 必须阅读: 加载
references/research_tool_fallback.md
版本: 2.0.0 最后更新: 2026-02-08