aif-architecture-931629 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited aif-architecture-931629 (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Generate .ai-factory/ARCHITECTURE.md with architecture decisions tailored to the project.
Read `.ai-factory/DESCRIPTION.md` if it exists to understand:
If `.ai-factory/DESCRIPTION.md` does not exist:
⚠️ No project description found.
Run /aif first to set up project context, or describe your project manually:
- What are you building?
- Tech stack (language, framework, database)?
- Team size?
- Expected scale?Allow standalone usage — if user provides manual input, use that instead.
Based on project context, evaluate against the decision matrix and recommend an architecture:
If `$ARGUMENTS` specifies an architecture (e.g., /aif-architecture clean):
If no specific architecture requested:
AskUserQuestion:Based on your project context:
- [reason 1 from project analysis]
- [reason 2 from project analysis]
Which architecture pattern should we use?
1. [Recommended pattern] (Recommended) — [why it fits]
2. [Alternative 1] — [brief reason]
3. [Alternative 2] — [brief reason]
4. [Alternative 3] — [brief reason]Architecture options:
mkdir -p .ai-factoryGenerate .ai-factory/ARCHITECTURE.md with the following structure, adapted to the project's tech stack and language:
# Architecture: [Pattern Name]
## Overview
[1-2 paragraphs: what this architecture is and why it was chosen for THIS project]
## Decision Rationale
- **Project type:** [from DESCRIPTION.md]
- **Tech stack:** [language, framework]
- **Key factor:** [primary reason for this choice]
## Folder Structure
\`\`\`
[folder structure adapted to the project's tech stack]
[use actual framework conventions — e.g., Next.js app/ dir, Laravel app/ dir, Go cmd/ dir]
\`\`\`
## Dependency Rules
[What depends on what. Inner vs outer layers. Module boundaries.]
- ✅ [allowed dependency direction]
- ❌ [forbidden dependency direction]
## Layer/Module Communication
[How layers or modules communicate with each other]
- [pattern 1]
- [pattern 2]
## Key Principles
1. [Principle 1 — adapted to this project]
2. [Principle 2]
3. [Principle 3]
## Code Examples
### [Example 1 title]
\`\`\`[language]
[code example in the project's language/framework]
\`\`\`
### [Example 2 title]
\`\`\`[language]
[code example showing dependency rule]
\`\`\`
## Anti-Patterns
- ❌ [What NOT to do in this architecture]
- ❌ [Common mistake to avoid]Rules for generation:
If .ai-factory/DESCRIPTION.md exists, add an ## Architecture section (or update if it already exists):
## Architecture
See `.ai-factory/ARCHITECTURE.md` for detailed architecture guidelines.
Pattern: [chosen pattern name]If AGENTS.md exists in the project root, add .ai-factory/ARCHITECTURE.md to the "AI Context Files" table:
| .ai-factory/ARCHITECTURE.md | Architecture decisions and guidelines |Only add if not already present.
✅ Architecture document generated!
Pattern: [chosen pattern]
File: .ai-factory/ARCHITECTURE.md
Key rules:
- [rule 1]
- [rule 2]
- [rule 3]
All workflow skills (/aif-plan, /aif-implement) will now follow these architecture guidelines.Reference material for architecture evaluation and generation. This content informs the generation — it is NOT output directly.
| Factor | Layered | Clean Architecture | Modular Monolith | DDD | Microservices |
|---|---|---|---|---|---|
| Team size | 1-5 | 1-15 | 5-30 | 5-30 | 20+ |
| Domain complexity | Low | Medium-High | Medium-High | High | High |
| Scale requirements | Low | Moderate | Moderate-High | Moderate-High | Very High |
| Deploy independence | ❌ | ❌ | Partial | Partial | ✅ |
| Initial velocity | ✅ Fast | Medium | ✅ Fast | Medium | ❌ Slow |
| Operational complexity | ✅ Low | ✅ Low | ✅ Low | Medium | ❌ High |
New project, small team? → Modular Monolith or Layered
Complex business logic, many rules? → Clean Architecture
Multiple subdomains, large team? → DDD
Independent scaling + large org? → Microservices
Simple CRUD app? → Layered Architecture
Unclear requirements? → Start simple, refactor when patterns emergeCore Principle: Dependencies point inward. Inner layers know nothing about outer layers.
┌─────────────────────────────────────────────────────────┐
│ Frameworks & Drivers │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Interface Adapters │ │
│ │ ┌─────────────────────────────────────────┐ │ │
│ │ │ Application Layer │ │ │
│ │ │ ┌─────────────────────────────────┐ │ │ │
│ │ │ │ Domain Layer │ │ │ │
│ │ │ │ (Entities & Business Rules) │ │ │ │
│ │ │ └─────────────────────────────────┘ │ │ │
│ │ └─────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘Folder Structure (TypeScript example):
src/
├── domain/ # Core business logic (no dependencies)
│ ├── entities/
│ ├── value-objects/
│ └── repositories/ # Interfaces only
├── application/ # Use cases (depends on domain)
│ ├── use-cases/
│ └── services/
├── infrastructure/ # External concerns (implements interfaces)
│ ├── database/
│ ├── external/
│ └── config/
└── presentation/ # UI/API layer
├── api/
├── controllers/
└── dto/Dependency Rules:
Core Principle: Software structure mirrors the business domain. Bounded contexts define clear boundaries.
Strategic Patterns:
Tactical Patterns:
Folder Structure (TypeScript example):
src/
├── contexts/
│ ├── ordering/
│ │ ├── domain/ # Entities, VOs, events, repository interfaces
│ │ ├── application/ # Use cases, command/query handlers
│ │ ├── infrastructure/ # Repository implementations, external adapters
│ │ └── api/ # HTTP handlers, DTOs
│ ├── inventory/
│ │ └── ...
│ └── shipping/
│ └── ...
└── shared/
└── kernel/ # Shared base classes, interfacesWhen to Use:
When NOT to Use:
Communication Patterns:
Data Patterns:
Core Principle: Single deployment unit with strong module boundaries. Best of both worlds — simple ops, future extraction ready.
Folder Structure (TypeScript example):
src/
├── modules/
│ ├── users/
│ │ ├── api/ # HTTP handlers
│ │ ├── domain/ # Business logic
│ │ ├── infra/ # Database, external
│ │ └── index.ts # Public API only
│ ├── orders/
│ │ └── ...
│ └── payments/
│ └── ...
├── shared/ # Truly shared code
│ ├── kernel/
│ └── utils/
└── main.ts # Composition rootModule Communication Rules:
Core Principle: Separate concerns into horizontal layers. Each layer only depends on the layer directly below it.
Folder Structure (TypeScript example):
src/
├── routes/ # Presentation layer (HTTP handlers)
├── controllers/ # Request/response handling
├── services/ # Business logic layer
├── models/ # Data models
├── repositories/ # Data access layer
└── utils/ # Cross-cutting utilitiesDependency Rules:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.