AgentSkillsCN

pop-assessment-architecture

使用具体指标验证 PopKit 代码质量,涵盖 DRY、耦合度、内聚性和架构模式

SKILL.md
--- frontmatter
name: pop-assessment-architecture
description: "Validates PopKit code quality using concrete metrics for DRY, coupling, cohesion, and architectural patterns"
triggers:
  - assess architecture
  - technical review
  - code quality audit
version: 1.0.0

Architecture Assessment Skill

Purpose

Provides concrete, reproducible architecture assessment for PopKit plugins using:

  • Code duplication detection
  • Coupling/cohesion metrics
  • Error handling coverage
  • Tool usage validation

How to Use

Step 1: Run Automated Analysis

bash
python skills/pop-assessment-architecture/scripts/detect_duplication.py packages/plugin/
python skills/pop-assessment-architecture/scripts/analyze_coupling.py packages/plugin/
python skills/pop-assessment-architecture/scripts/calculate_quality.py packages/plugin/

Step 2: Apply Architecture Checklists

Read and apply checklists in order:

  1. checklists/dry-principles.json - Duplication detection
  2. checklists/separation-of-concerns.json - Module boundaries
  3. checklists/error-handling.json - Error coverage
  4. checklists/tool-selection.json - Appropriate tool usage

Step 3: Generate Report

Combine automated analysis with checklist results for final architecture report.

Standards Reference

StandardFileKey Checks
DRY Principlesstandards/dry-principles.mdDRY-001 through DRY-008
Separation of Concernsstandards/separation-of-concerns.mdSOC-001 through SOC-008
Error Handlingstandards/error-handling.mdEH-001 through EH-010
Tool Selectionstandards/tool-selection.mdTS-001 through TS-008

Quality Metrics

MetricGoodWarningCritical
Code Duplication<5%5-15%>15%
Cyclomatic Complexity<1010-20>20
Module CouplingLowMediumHigh
Module CohesionHighMediumLow
Error Coverage>80%50-80%<50%

SOLID Principles Checks

PrincipleCheck IDDescription
Single ResponsibilitySOLID-001One reason to change
Open/ClosedSOLID-002Open for extension
Liskov SubstitutionSOLID-003Proper inheritance
Interface SegregationSOLID-004Minimal interfaces
Dependency InversionSOLID-005Depend on abstractions

Output

Returns JSON with:

  • quality_score: 0-100 (higher = better)
  • duplication_percent: Code duplication level
  • coupling_level: Low/Medium/High
  • technical_debt: List of debt items
  • refactoring_suggestions: Prioritized improvements