Skip to main content

validate-architecture

Detects inter-layer import rule violations (Clean Architecture)

Ir para a instalação

Informações da origem

Repositório
ww-w-ai/marketplace
Última atividade na origem
10 de maio de 2026 às 00:50
Idioma detectado do SKILL.md
inglês
Estrelas
0
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
3 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
validate-architecture
description
Detects inter-layer import rule violations (Clean Architecture)
triggers
["validate architecture","check architecture"]
user-invocable
true
allowed-tools
["Read","Write","Glob","Grep","Bash"]
# validate-architecture -- Architecture Layer Violation Detection Corresponding rule: `architecture.md` ## Purpose Statically detect inter-layer import rule violations and circular references in a project. If CLAUDE.md defines an architecture, use that layer definition; otherwise default to the general 3-layer model (presentation/business/data access). ## Input -- Dynamic Target Resolution Resolve target directories in this order: 1. CLAUDE.md "Project Structure" section -- extract source code directories 2. If CLAUDE.md is missing or has no structure info: Glob source files (`**/*.{ts,tsx,js,jsx,py,java,go,rs}`) -- use the top-level directory containing matched files 3. If no source files are found: report status as SHALLOW and state the reason Default exclusions: node_modules/, .git/, dist/, build/, coverage/ Skill-specific exclusions: `*.test.*`, `*.spec.*`, `test_*`, `*_test.*` ### Mandatory Output: Target Resolution Result Output the following before proceeding with validation. Do not advance until resolution is complete. | Step | Result | |------|--------| | CLAUDE.md check | Found/Not found | | Resolved directories | {list or "none"} | | Source file count | {count} | | Resolution method | CLAUDE.md / Glob fallback / SHALLOW | ## Execution Logic 1. **Read the architecture definition from CLAUDE.md** - Use `Read` to read the project root CLAUDE.md - If an Architecture section exists, use its layer structure and dependency direction as the baseline - If no Architecture section exists, default to the general 3-layer model: - Presentation (presentation, ui, pages, components, views, routes, handlers) - Business (domain, core, application, services, use-cases, usecases) - Data access (infrastructure, infra, repositories, external, adapters, gateways) - Dependency direction: presentation -> business <- data access. The business layer must not depend on other layers. 2. **Collect source files** - Use `Glob` to collect files matching `src/**/*.{ts,tsx,js,jsx,py,java}` - Exclude test files (`*.test.*`, `*.spec.*`, `test_*`, `*_test.*`) 3. **Collect import/from statements** - Use `Grep` to extract import statements from each file - Patterns: `import .* from`, `from .* import`, `require(`, `@import` 4. **Detect layer violation patterns** - domain/core -> infrastructure/infra imports (business depends on data access) - domain/core -> presentation/ui/pages/components imports (business depends on presentation) - presentation -> direct DB imports: the presentation layer directly imports DB-related packages (`sqlalchemy`, `prisma`, `typeorm`, `drizzle`, `mongoose`, `sequelize`, `knex`, `pg`, `mysql`, `sqlite`, etc.) 5. **Detect circular references** - Detect patterns where module A imports module B while module B also imports module A - Check bidirectional imports at the file level ### Mandatory Output: Architecture Validation Matrix Output the matrix below before generating the final report. Do not proceed until every check has been performed. | Check Item | Status | Items Checked | Violations | Severity | Evidence | |------------|:------:|:-------------:|:----------:|:--------:|----------| | Read CLAUDE.md architecture | ? | ? | -- | -- | {Read result} | | Source file collection | ? | ? | -- | -- | {Glob pattern, file count} | | domain -> infra import | ? | ? | ? | ERROR | {Grep pattern, searched files} | | domain -> presentation import | ? | ? | ? | ERROR | {Grep pattern, searched files} | | presentation -> DB import | ? | ? | ? | ERROR | {Grep pattern, searched files} | | Circular references | ? | ? | ? | WARN | {Grep pattern, searched files} | Status values: PASS (verification complete, no issues), NOT_APPLICABLE (no source files), SKIPPED (plugin issue), SHALLOW (target resolution failed) ### Pre-Output Checklist (Mandatory Before Final Output) Check every item before writing the report. If any item is unchecked, go back and complete it. - [ ] Every check item has a Status value (no empty Status cells) - [ ] Every check with Status != SKIPPED has an Evidence value - [ ] Architecture basis (CLAUDE.md or general 3-layer) is identified and stated - [ ] All 4 violation-pattern checks performed - [ ] Circular-reference check performed - [ ] Report language matches the user's conversation language ### Schema Compliance Check (Mandatory Before Saving to .ww-w-ai/) Before writing to .ww-w-ai/devtools/validate-architecture/, verify the JSON output: - [ ] Every "required" field in schema.json is present and non-empty - [ ] The findings[] array contains every detected violation - [ ] summary counts match the actual finding count ## Output Generate the validation report in the user's conversation language. Output violations as a Markdown table in this format: ``` ===== Architecture Validation Report ===== [Architecture basis]: CLAUDE.md definition / General 3-layer | File | Violation | Severity | |------|-----------|----------| | `src/domain/user.ts` | Infrastructure layer import (`../../infra/db`) | ERROR | | `src/core/order.ts` | Presentation layer import (`../../pages/OrderView`) | ERROR | | `src/pages/Dashboard.tsx` | Direct DB import (`prisma`) | ERROR | | `src/services/auth.ts` <-> `src/services/user.ts` | Circular reference | WARN | Total violations: {N} (ERROR: {E}, WARN: {W}) ==================================== ``` When there are no violations: ``` ===== Architecture Validation Report ===== [Architecture basis]: CLAUDE.md definition / General 3-layer No violations. ==================================== ``` ### Severity Criteria | Severity | Condition | |:--------:|-----------| | ERROR | Layer dependency-direction violation (domain -> infra, domain -> presentation, presentation -> DB) | | WARN | Circular reference, ambiguous layer placement (file outside any layer directory) | ## Output Persistence After generating the architecture validation report, save results to `.ww-w-ai/devtools/validate-architecture/`: 1. Create `.ww-w-ai/devtools/validate-architecture/` if missing 2. Write `latest.json` -- structured result following `templates/schema.json` 3. Write `latest.md` -- human-readable report following `templates/report.template.md` 4. Archive to `history/` -- copy latest.json to `.ww-w-ai/devtools/validate-architecture/history/{timestamp}.json` `latest.md` is generated in the user's conversation language. JSON field names stay in English regardless of language. The JSON output enables machine-parseable history tracking and cross-run comparison. The history/ directory preserves previous executions for trend analysis. ## Permission Rationale - **Write**: Exclusively for .ww-w-ai/ output persistence. No project source modification. - **Bash**: Exclusively for read-only git/system queries. No file modifications. ## Notes - Bash is permitted for directory creation (`mkdir -p .ww-w-ai/devtools/validate-architecture/history`). The validation itself is read-only and does not modify project files. - Test files (`*.test.*`, `*.spec.*`) are excluded from inspection (per testing.md exceptions, internal access inside tests is permitted). - If CLAUDE.md defines an architecture, that definition takes precedence over the general principles. - Layer directory naming may differ per project, so CLAUDE.md definitions take highest precedence. ## Spec Reference For detailed validation criteria, evidence tables, and examples: - Corresponding rule spec: `../../docs/specs/architecture.md`
Ver no GitHub