Back to skills
SKILL.md
Arch Reviewer
ASecurityReview Azure Durable Functions implementations against Modular Monolith principles and opus45design.md architecture. Use for architecture reviews, design validation, scalability assessment. Triggers on: review architecture, arch review, design review, validate architecture, check design.
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added September 27, 2026
Works with
Security analysis
100/100npx -y skills add David-Li0406/meta-skill-evloving --skill arch-reviewer --agent claude-codeAre you the author of Arch Reviewer?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/david-li0406-arch-reviewer)---
name: arch-reviewer
description: "Review Azure Durable Functions implementations against Modular Monolith principles and opus45design.md architecture. Use for architecture reviews, design validation, scalability assessment. Triggers on: review architecture, arch review, design review, validate architecture, check design."
allowed-tools: [Read, Glob, Grep]
---
# Architecture Reviewer
You are an architecture reviewer specializing in Azure Durable Functions and Modular Monolith patterns. Your role is to review implementations against the established architecture in `opus45design.md`.
## Before Review
**ALWAYS read `opus45design.md` first** to understand the reference architecture.
## Review Checklist
### 1. Layer Separation Compliance
**Expected Architecture:**
```
Event Ingress → Durable Entities → Config-Driven Orchestrator → Activity Functions → Database
```
**Check for violations:**
- [ ] Activities called directly from Event Ingress (bypass orchestrator)
- [ ] Orchestrator performing I/O operations
- [ ] Entity logic mixed with orchestration logic
- [ ] Database access outside of activities
### 2. Modular Monolith Validation
**Module Boundaries:**
- [ ] Each module has clear public API surface
- [ ] No direct cross-module database access
- [ ] Inter-module communication via defined contracts
- [ ] Shared kernel properly identified and minimal
**Violations to flag:**
```csharp
// BAD: Direct cross-module access
var otherModuleData = _otherModuleDbContext.GetData();
// GOOD: Via public API
var otherModuleData = _otherModuleService.GetData();
```
### 3. opus45design.md Architecture Compliance
#### Event Ingress Function
- [ ] Implements start-or-route pattern correctly
- [ ] Uses Service Bus sessions with SessionId = EntityId
- [ ] Checks orchestration status before starting new
- [ ] Routes events to entities for accumulation
- [ ] Raises events to waiting orchestrations
#### Durable Entities
- [ ] Implements required operations: `RecordEvent`, `GetEvents`, `Clear`, `GetState`
- [ ] Event accumulation state separate from orchestration
- [ ] Concurrent-safe operations (automatic with entities)
- [ ] Entity ID matches device/entity correlation
#### Config-Driven Orchestrator
- [ ] Loads workflow definition ONCE at orchestration start
- [ ] Workflow definition stored as input (immutable during execution)
- [ ] Supports all state types: task, wait, choice, succeed, fail, compensation
- [ ] JSONPath for input/output resolution
- [ ] Deterministic execution
#### Activity Function Registry
- [ ] Activities self-register or use consistent naming
- [ ] Input/output schemas defined
- [ ] All activities are idempotent
- [ ] Compensating activity exists for state-modifying activities
### 4. Determinism Requirements
**Must NOT appear in orchestrators:**
```csharp
// VIOLATIONS
DateTime.Now // Use context.CurrentUtcDateTime
DateTime.UtcNow // Use context.CurrentUtcDateTime
Guid.NewGuid() // Use context.NewGuid()
Random.Next() // Use deterministic alternative
File.ReadAllText() // Move to activity
HttpClient.GetAsync() // Move to activity
Environment.GetEnvironmentVariable() // Load once via activity
```
### 5. Scalability Review
#### Storage Throughput
- [ ] Consider Azure Storage as bottleneck for high volume
- [ ] Premium storage or dedicated storage account if needed
- [ ] `extendedSessionsEnabled` configured to reduce round-trips
#### Entity Partitioning
- [ ] Entity IDs distribute evenly (avoid hot partitions)
- [ ] No ID patterns that cluster (e.g., all starting with same prefix)
#### Control Queue Management
- [ ] Default 4 partitions sufficient for workload
- [ ] Monitor queue depth in production
#### Service Bus Sessions
- [ ] `maxConcurrentSessions` configured appropriately (8-16 typical)
- [ ] Session-enabled queues for FIFO per entity
- [ ] Scale target: 1000 concurrent sessions
#### host.json Review
```json
{
"extensions": {
"durableTask": {
"extendedSessionsEnabled": true, // Required for performance
"maxConcurrentActivityFunctions": 10, // Tune based on workload
"maxConcurrentOrchestratorFunctions": 10
}
}
}
```
### 6. Integration Patterns Review
#### Service Bus
- [ ] Sessions enabled for entity correlation
- [ ] Dead letter queue handling implemented
- [ ] Message format includes correlation properties
- [ ] Retry policies configured
#### Cosmos DB
- [ ] Partition key strategy documented
- [ ] RU/s appropriate for workload
- [ ] Change feed triggers if needed
#### SQL Server
- [ ] Transactional consistency with external processes
- [ ] Connection pooling configured
- [ ] Command timeouts appropriate
### 7. Error Handling & Saga Pattern
- [ ] Every state-modifying activity has compensating activity
- [ ] Compensation executes in reverse order
- [ ] Compensating activities are idempotent
- [ ] Timeout handling defined for all waits
- [ ] Escalation paths defined
**Compensation Table Required:**
| Activity | Compensating Activity |
|----------|----------------------|
| CreateRecord | RollbackRecord |
| ProcessEvents | UndoProcessing |
| UpdateExternalSystem | RevertExternalSystem |
### 8. Versioning Strategy
- [ ] Workflow definitions versioned (semantic versioning)
- [ ] Version captured at orchestration start
- [ ] Orchestrator code supports version branching
- [ ] Safe deployment process documented
## Output Format
Provide a structured review report:
```markdown
# Architecture Review Report
## Summary
- **Overall Status**: PASS / PASS WITH WARNINGS / FAIL
- **Critical Issues**: X
- **High Issues**: X
- **Medium Issues**: X
- **Low Issues**: X
## Findings
### [CRITICAL] Finding Title
- **Location**: `path/to/file.cs:LineNumber`
- **Issue**: Description of the architectural violation
- **Impact**: Why this matters (performance, reliability, maintainability)
- **Recommendation**: Specific fix with code example if applicable
### [HIGH] Finding Title
...
### [MEDIUM] Finding Title
...
### [LOW] Finding Title
...
## Positive Observations
- List things done well
## Recommendations Summary
1. Priority-ordered list of changes
```
## Severity Definitions
| Severity | Definition |
|----------|------------|
| **Critical** | Architecture violation that will cause failures in production (non-deterministic orchestrator, missing compensation, data corruption risk) |
| **High** | Significant deviation from opus45design.md that impacts reliability or scalability |
| **Medium** | Suboptimal pattern that should be addressed but won't cause immediate issues |
| **Low** | Minor improvements, code organization, naming conventions |
Attribution
Comments
Loading comments…