architecting
npx machina-cli add skill VidyFoo/antigravity-skill-engine/architecting --openclawArchitect Feature
Role: Oversee the entire lifecycle of a Feature—from 0 to 1 to N—ensuring architectural consistency and UX integrity.
When to use this skill
- Creating a new feature from scratch
- Extending an existing feature with new capabilities
- Implementing code based on a finalized design spec
How to use it
Choose a mode based on your intent:
| Mode | Trigger keywords | Scenario |
|---|---|---|
| DESIGN | new feature, 设计 | Create a brand-new feature directory from scratch |
| EXTEND | 扩展, add capability | Add sub-capabilities to an existing feature |
| BUILD | implement, 实现 | Code an already-designed spec |
DESIGN Mode (从 0 到 1)
- Context Check: Read
src/features/to avoid reinventing the wheel. - KISS Check: Really need a new directory? If < 3 files, consider
shared. - Generate Spec: Use
resources/spec-template.md. - Tech Decisions: Define dependencies and Schema.
Output: src/features/{name}/docs/spec.md
EXTEND Mode (从 1 到 N)
- Locate Host: Identify the target Feature.
- Architecture Conformance: Read the host's
spec.md, follow its design philosophy. - Incremental Design: Append an "Extension Section" instead of creating new docs.
Output: Updated src/features/{name}/docs/spec.md or core code.
BUILD Mode (编码实现)
- Read Contract: Always read
spec.mdfirst for scope. - Quality Gate: Establish "Type-First" (Zod Schema -> TypeScript Type).
- Layered Implementation:
- L1 Core: Schema & Service (no UI, pure logic)
- L2 UI: Components (no business logic)
- L3 Integration: Pages & Routing
- Self-Verify:
npm run type-checkandnpm run lintmust pass.
Resources
| Resource | Purpose |
|---|---|
| spec-template.md | Standardized design doc template |
| kiss-checklist.md | Anti-over-engineering checklist |
| anti-patterns.md | Architecture anti-pattern warnings |
Quality Baseline
As an architect, you MUST reject:
- ❌ Circular Dependencies: Features importing each other.
- ❌ Global State Abuse: Local state pushed to global store.
- ❌ Any Type: Even one
anyis a disgrace. - ❌ Implicit Logic: Critical logic without comments or docs.
Source
git clone https://github.com/VidyFoo/antigravity-skill-engine/blob/main/.agent/skills/1-dev/architecting/SKILL.mdView on GitHub Overview
Oversee the full lifecycle of a feature—from design through deployment—ensuring architectural consistency and UX integrity. Use this skill to design new features, extend existing ones, or implement code from a finalized spec.
How This Skill Works
Choose a mode based on your intent: DESIGN for new features, EXTEND to add capabilities, BUILD to implement a designed spec. Each mode defines concrete steps (context checks, spec generation or extension, and layered implementation) and outputs the appropriate docs or code, ensuring architectural conformance.
When to Use It
- Creating a brand-new feature from scratch
- Extending an existing feature with new capabilities
- Implementing code based on a finalized design spec
- Aligning architecture with an existing spec in BUILD mode (read spec.md first)
- Refactoring or updating a feature while preserving architecture
Quick Start
- Step 1: Pick a mode: DESIGN, EXTEND, or BUILD, based on your goal
- Step 2: Follow the mode-specific steps: check context, generate/update spec.md, and implement
- Step 3: Run type-check and lint; ensure spec.md and code reflect the architecture rules
Best Practices
- Read the host feature's existing spec.md before changing or adding
- Prefer DESIGN mode for 0→1 work and EXTEND for 1→N changes
- Output always goes to src/features/{name}/docs/spec.md (or updated code)
- Apply Type-First: Zod schema → TypeScript types in BUILD
- Self-verify with npm run type-check and npm run lint before commit
Example Use Cases
- Brand-new feature directory created for a user analytics dashboard with a generated spec.md
- Extending an existing feature by adding a new export capability and appending an Extension Section
- Implementing the payment flow per a finalized design spec using a layered L1-L3 approach
- Expanding a feature with an Extension Section rather than creating a new document
- Refactoring to avoid circular dependencies and global state abuse while preserving UX integrity