Agent skill

principle-dry

识别并消除知识重复,确保系统中每条知识有唯一权威表示。当需要重构代码、整理文档、优化配置、建立单一数据源时使用。覆盖代码重复、数据冗余、文档重复三大维度,提供具体消除策略和权衡建议。

Stars 5
Forks 1

Install this agent skill to your Project

npx add-skill https://github.com/tikazyq/agentic-spec-forge/tree/main/AGENTIC_SPEC_FORGE/spec_stage_skill/common_normal/principle-dry

SKILL.md

DRY Principle Skill

Scope: COMMON(全阶段通用)

版本: 0.1.0(占位)| 创建日期: 2025-11-27


概述

DRY(Don't Repeat Yourself)是软件开发的核心原则:

┌─────────────────────────────────────────────────────┐
│              🔄 DRY Principle                       │
├─────────────────────────────────────────────────────┤
│  "Every piece of knowledge must have a single,     │
│   unambiguous, authoritative representation        │
│   within a system."                                │
│                        — Andy Hunt & Dave Thomas   │
└─────────────────────────────────────────────────────┘

检查维度

代码重复

  • 是否有复制粘贴的代码块
  • 相似逻辑是否抽象为函数/方法
  • 常量是否集中定义

数据重复

  • 同一数据是否在多处定义
  • 配置是否有单一来源(SSOT)
  • 数据库是否有冗余字段

文档重复

  • 同一信息是否在多个文档中维护
  • API 文档是否从代码自动生成
  • 注释是否与代码重复

知识重复

  • 业务规则是否集中管理
  • 验证逻辑是否在多处实现
  • 错误消息是否统一定义

分级检查策略

L1-STREAMLINED

  • 每维度检查 1 个核心点(共 4 项)
  • 关注明显重复
  • 通过标准:4 项中 3 项通过(≥75%)

L2-BALANCED

  • 每维度检查 2-3 个关键点(共 8-12 项)
  • 使用工具扫描代码重复率
  • 通过标准:8 项中 7 项通过(≥87.5%)

L3-RIGOROUS

  • 全面检查所有子项(12+ 项)
  • 量化重复率指标(目标 < 5%)
  • 识别 SSOT 候选并记录
  • 通过标准:12 项中 11 项通过(≥91.7%)

>> 命令

>>dry_check_l1       # DRY 快速检查(4维度各1个关键点)
>>dry_scan_code      # 扫描代码重复
>>dry_find_ssot      # 识别需要 SSOT 的地方

相关 Skills

  • 同类: principle-kiss, principle-yagni, principle-soc(设计原则家族)
  • 应用: refactoring(消除重复的重构技术)
  • 验证: code-review(代码审查时检查 DRY)
  • 文档: document-quality(文档中避免重复)

TODO: 待细化重复检测规则和重构建议

Expand your agent's capabilities with these related and highly-rated skills.

tikazyq/agentic-spec-forge

code-review

执行代码审查流程(提交PR→自查→同行审查→反馈修改→合并),覆盖功能正确性、代码质量、测试完整性、安全合规四大维度。当提交Pull Request、进行结对编程、执行代码走查、需要知识共享时使用。支持L1/L2/L3三级审查深度。

5 1
Explore
tikazyq/agentic-spec-forge

code-quality

执行代码质量门禁检查(测试通过→覆盖率→Lint→GOAL追溯→可提交),验证单元测试覆盖率≥80%、集成测试通过率≥95%、代码规范零错误。当完成代码实现、准备提交代码、需要质量验证、进行提交前自检时使用。确保代码可合并。

5 1
Explore
tikazyq/agentic-spec-forge

tdd-cycle

执行 TDD 红绿重构循环(RED→GREEN→REFACTOR→REPEAT),通过先写失败测试、最小代码实现、保持绿色重构的节奏驱动开发。当启动功能开发、需要测试驱动节奏、进行迭代编码、追求高测试覆盖率时使用。提供检查清单和节奏控制。

5 1
Explore
tikazyq/agentic-spec-forge

refactoring

执行代码重构(识别坏味道→选择手法→小步修改→运行测试),在保持外部行为不变前提下改进内部结构。当TDD进入REFACTOR阶段、发现代码坏味道、需要消除重复代码、优化代码结构时使用。支持提取方法、类、参数对象等重构手法。

5 1
Explore
tikazyq/agentic-spec-forge

arch-options-compare

比较多个架构方案(单体/微服务等),从SOLID原则、成本、复杂度等维度评分,生成对比表和推荐方案。当需要向客户解释架构选择或ADR决策时使用。

5 1
Explore
tikazyq/agentic-spec-forge

dev-tech-view-supplement

根据设计补充Dev视角的技术细节(数据库/API/通信协议),帮助Dev快速进入实施。当L1/L2设计缺乏技术细节、或准备向Dev交付前使用。

5 1
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results