.claude/skills/architect-refinement/SKILL.md
Software Architect technical refinement and DoR/DoD for Agent OS Web UI
npx skillsauth add michsindlinger/specwright .claude/skills/architect-refinementInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Project: Agent OS Web UI Generated: 2026-01-30 Purpose: Guide for technical refinement of user stories
This skill guides you when doing technical refinement for:
/create-spec/add-story/add-todo/add-bug+------------------------------------------+
| PRESENTATION LAYER |
| (Lit Web Components, Views, Routing) |
+------------------------------------------+
|
v
+------------------------------------------+
| SERVICE LAYER |
| (API Handlers, Business Logic, State) |
+------------------------------------------+
|
v
+------------------------------------------+
| INTEGRATION LAYER |
| (Agent SDK, WebSocket, File I/O) |
+------------------------------------------+
| Layer | Responsibility | Technologies | |-------|----------------|--------------| | Presentation | UI rendering, user interaction, view state | Lit, CSS Custom Properties, Lucide Icons | | Service | Request handling, orchestration, application state | Express, TypeScript, in-memory state | | Integration | External systems, Agent SDK, real-time communication | Agent SDK, ws (WebSocket), Node.js fs |
Presentation Layer
├── Can import from: Service Layer (via API)
├── Can import from: Shared Types
└── Cannot import from: Integration Layer
Service Layer
├── Can import from: Integration Layer
├── Can import from: Shared Types
└── Cannot import from: Presentation Layer
Integration Layer
├── Can import from: Shared Types
├── Cannot import from: Service Layer
└── Cannot import from: Presentation Layer
src/server/
├── presentation/routes/ # Express route handlers
├── services/ # Business Logic Layer
└── integration/ # Agent SDK, WebSocket, Config
src/client/
├── components/ # Reusable Lit Components
│ ├── common/ # Shared UI elements (aos-button, aos-card)
│ ├── dashboard/ # Kanban components
│ ├── chat/ # Chat components
│ └── workflow/ # Workflow components
├── views/ # Page-level components (routes)
├── services/ # API client, WebSocket client, state
└── styles/ # CSS custom properties, theme
src/shared/
├── types/ # WebSocket messages, API types
└── constants/ # Message types, routes
| Type | Convention | Example |
|------|------------|---------|
| Lit Components | aos-kebab-case | aos-kanban-board |
| Component Files | kebab-case.ts | kanban-board.ts |
| Services | kebab-case.service.ts | agent.service.ts |
| Routes | kebab-case.routes.ts | api.routes.ts |
| Types | kebab-case.types.ts | messages.types.ts |
| Classes | PascalCase | KanbanBoard, AgentService |
| Interfaces | IPascalCase | IWebSocketMessage |
interface IWebSocketMessage {
type: string; // Message type identifier
payload: unknown; // Type-specific payload
timestamp: number; // Unix timestamp
correlationId?: string; // For request-response patterns
}
| Type | Direction | Layer Handler |
|------|-----------|---------------|
| agent:start | Client -> Server | Service Layer |
| agent:message | Client -> Server | Service Layer |
| agent:cancel | Client -> Server | Service Layer |
| stream:chunk | Server -> Client | Presentation Layer |
| stream:complete | Server -> Client | Presentation Layer |
| stream:error | Server -> Client | Presentation Layer |
| status:update | Server -> Client | Presentation Layer |
**Type**: Backend | Frontend | Full-Stack | DevOps
**Domain:** [optional - e.g., chat-interface]
**Abhängigkeiten:** [Story IDs or None]
### Technical Details
**WAS:** Components to create/modify
**WIE:** Architecture patterns and constraints
**WO:** File paths
**Geschätzte Komplexität:** XS/S/M
# TypeScript compiles
npm run build
# Tests pass
npm test
# Linter passes
npm run lint
# File existence check
test -f src/client/components/[component].ts && echo "Component OK"
For full DoD criteria see: agent-os/team/dod.md
For full DoR criteria see: agent-os/team/dor.md
tools
Session Handoff: Erstellt eine vollständige Zusammenfassung der aktuellen Session für einen sauberen Kontextwechsel. NUR bei explizitem Aufruf (/session-handoff). NICHT automatisch auslösen. Geeignet wenn der User die Session resetten will, den Kontext aufräumen will, oder bei ~120k Tokens angelangt ist.
development
Pre-Mortem Risk Analysis: Strukturierte Prospective-Hindsight-Übung um launch-blocking Risiken vor Commitment aufzudecken. Team stellt sich vor, das Produkt sei 14 Tage nach Launch gefloppt, und arbeitet rückwärts. Klassifiziert Risiken in Tigers (echt), Paper Tigers (hypothetisch), Elephants (unausgesprochen). Nutze diesen Skill vor Build-Commitment, bei zu hoher Stakeholder-Confidence, vor Major-Releases, oder wenn das Team vage Sorgen nicht artikulieren kann. Trigger: /pre-mortem, 'pre-mortem', 'risk analysis', 'was könnte schiefgehen', 'risiken vor launch'.
testing
Six-Sigma Atomicity Validator for create-spec stories
tools
UX pattern definition guidance for navigation, user flows, interactions, and accessibility