contextos-agents 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/AGENTS.md +421 -0
- package/.agents/adapters/aider/export.js +137 -0
- package/.agents/adapters/claude/export.js +55 -0
- package/.agents/adapters/copilot/export.js +107 -0
- package/.agents/adapters/cursor/export.js +210 -0
- package/.agents/adapters/gemini/export.js +115 -0
- package/.agents/adapters/shared.js +119 -0
- package/.agents/adapters/zed/export.js +111 -0
- package/.agents/core/profiles/backend.yaml +47 -0
- package/.agents/core/profiles/enterprise.yaml +46 -0
- package/.agents/core/profiles/frontend.yaml +46 -0
- package/.agents/core/profiles/hackathon.yaml +45 -0
- package/.agents/core/profiles/mvp.yaml +43 -0
- package/.agents/core/profiles/startup.yaml +48 -0
- package/.agents/core/skills/adapters/EXAMPLES.md +19 -0
- package/.agents/core/skills/adapters/SKILL.md +105 -0
- package/.agents/core/skills/adapters/TROUBLESHOOTING.md +7 -0
- package/.agents/core/skills/adapters/VALIDATION.json +12 -0
- package/.agents/core/skills/adapters/skill.yaml +10 -0
- package/.agents/core/skills/architecture-diagrams/SKILL.md +108 -0
- package/.agents/core/skills/architecture-diagrams/VALIDATION.json +12 -0
- package/.agents/core/skills/architecture-diagrams/skill.yaml +8 -0
- package/.agents/core/skills/brutalist-design/SKILL.md +150 -0
- package/.agents/core/skills/brutalist-design/VALIDATION.json +12 -0
- package/.agents/core/skills/brutalist-design/skill.yaml +8 -0
- package/.agents/core/skills/context-manager/EXAMPLES.md +19 -0
- package/.agents/core/skills/context-manager/SKILL.md +126 -0
- package/.agents/core/skills/context-manager/TROUBLESHOOTING.md +7 -0
- package/.agents/core/skills/context-manager/VALIDATION.json +12 -0
- package/.agents/core/skills/context-manager/skill.yaml +10 -0
- package/.agents/core/skills/context-os/EXAMPLES.md +21 -0
- package/.agents/core/skills/context-os/SKILL.md +169 -0
- package/.agents/core/skills/context-os/TROUBLESHOOTING.md +7 -0
- package/.agents/core/skills/context-os/VALIDATION.json +12 -0
- package/.agents/core/skills/context-os/packs.yaml +59 -0
- package/.agents/core/skills/context-os/references/context-rules.md +68 -0
- package/.agents/core/skills/context-os/references/pipeline.md +119 -0
- package/.agents/core/skills/context-os/references/project-graph.md +103 -0
- package/.agents/core/skills/context-os/rules.yaml +135 -0
- package/.agents/core/skills/context-os/skill.yaml +10 -0
- package/.agents/core/skills/database/EXAMPLES.md +74 -0
- package/.agents/core/skills/database/SKILL.md +101 -0
- package/.agents/core/skills/database/TROUBLESHOOTING.md +18 -0
- package/.agents/core/skills/database/VALIDATION.json +11 -0
- package/.agents/core/skills/database/skill.yaml +25 -0
- package/.agents/core/skills/ddd/EXAMPLES.md +42 -0
- package/.agents/core/skills/ddd/SKILL.md +247 -0
- package/.agents/core/skills/ddd/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/ddd/VALIDATION.json +12 -0
- package/.agents/core/skills/ddd/ddd.md +178 -0
- package/.agents/core/skills/ddd/skill.yaml +10 -0
- package/.agents/core/skills/decisions/EXAMPLES.md +35 -0
- package/.agents/core/skills/decisions/SKILL.md +90 -0
- package/.agents/core/skills/decisions/TROUBLESHOOTING.md +13 -0
- package/.agents/core/skills/decisions/VALIDATION.json +12 -0
- package/.agents/core/skills/decisions/skill.yaml +10 -0
- package/.agents/core/skills/docker/EXAMPLES.md +56 -0
- package/.agents/core/skills/docker/SKILL.md +63 -0
- package/.agents/core/skills/docker/TROUBLESHOOTING.md +18 -0
- package/.agents/core/skills/docker/VALIDATION.json +11 -0
- package/.agents/core/skills/docker/skill.yaml +23 -0
- package/.agents/core/skills/engineering-workflow/EXAMPLES.md +57 -0
- package/.agents/core/skills/engineering-workflow/SKILL.md +343 -0
- package/.agents/core/skills/engineering-workflow/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/engineering-workflow/VALIDATION.json +12 -0
- package/.agents/core/skills/engineering-workflow/skill.yaml +13 -0
- package/.agents/core/skills/fastapi/EXAMPLES.md +36 -0
- package/.agents/core/skills/fastapi/SKILL.md +148 -0
- package/.agents/core/skills/fastapi/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/fastapi/VALIDATION.json +12 -0
- package/.agents/core/skills/fastapi/fastapi.md +112 -0
- package/.agents/core/skills/fastapi/skill.yaml +10 -0
- package/.agents/core/skills/gemini-precision/SKILL.md +169 -0
- package/.agents/core/skills/gemini-precision/VALIDATION.json +12 -0
- package/.agents/core/skills/gemini-precision/skill.yaml +9 -0
- package/.agents/core/skills/generators/EXAMPLES.md +19 -0
- package/.agents/core/skills/generators/SKILL.md +112 -0
- package/.agents/core/skills/generators/TROUBLESHOOTING.md +7 -0
- package/.agents/core/skills/generators/VALIDATION.json +12 -0
- package/.agents/core/skills/generators/skill.yaml +10 -0
- package/.agents/core/skills/generators/templates/API.md +77 -0
- package/.agents/core/skills/generators/templates/ARCHITECTURE.md +70 -0
- package/.agents/core/skills/generators/templates/DATABASE.md +42 -0
- package/.agents/core/skills/generators/templates/DECISION.md +46 -0
- package/.agents/core/skills/generators/templates/PRD.md +67 -0
- package/.agents/core/skills/generators/templates/PROJECT_GRAPH.md +56 -0
- package/.agents/core/skills/generators/templates/ROADMAP.md +51 -0
- package/.agents/core/skills/generators/templates/TASKS.md +43 -0
- package/.agents/core/skills/generators/templates/UI.md +73 -0
- package/.agents/core/skills/graphify/EXAMPLES.md +73 -0
- package/.agents/core/skills/graphify/SKILL.md +130 -0
- package/.agents/core/skills/graphify/VALIDATION.json +12 -0
- package/.agents/core/skills/graphify/skill.yaml +13 -0
- package/.agents/core/skills/gstack-roles/EXAMPLES.md +23 -0
- package/.agents/core/skills/gstack-roles/SKILL.md +152 -0
- package/.agents/core/skills/gstack-roles/TROUBLESHOOTING.md +13 -0
- package/.agents/core/skills/gstack-roles/VALIDATION.json +12 -0
- package/.agents/core/skills/gstack-roles/skill.yaml +12 -0
- package/.agents/core/skills/impeccable-design/EXAMPLES.md +26 -0
- package/.agents/core/skills/impeccable-design/SKILL.md +201 -0
- package/.agents/core/skills/impeccable-design/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/impeccable-design/VALIDATION.json +12 -0
- package/.agents/core/skills/impeccable-design/skill.yaml +14 -0
- package/.agents/core/skills/interview-me/SKILL.md +97 -0
- package/.agents/core/skills/interview-me/VALIDATION.json +12 -0
- package/.agents/core/skills/interview-me/skill.yaml +8 -0
- package/.agents/core/skills/microservices/EXAMPLES.md +38 -0
- package/.agents/core/skills/microservices/SKILL.md +164 -0
- package/.agents/core/skills/microservices/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/microservices/VALIDATION.json +12 -0
- package/.agents/core/skills/microservices/microservices.md +119 -0
- package/.agents/core/skills/microservices/skill.yaml +10 -0
- package/.agents/core/skills/minimalist-design/SKILL.md +113 -0
- package/.agents/core/skills/minimalist-design/VALIDATION.json +12 -0
- package/.agents/core/skills/minimalist-design/skill.yaml +8 -0
- package/.agents/core/skills/nestjs/EXAMPLES.md +40 -0
- package/.agents/core/skills/nestjs/SKILL.md +139 -0
- package/.agents/core/skills/nestjs/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/nestjs/VALIDATION.json +12 -0
- package/.agents/core/skills/nestjs/nestjs.md +103 -0
- package/.agents/core/skills/nestjs/skill.yaml +10 -0
- package/.agents/core/skills/nextjs/EXAMPLES.md +40 -0
- package/.agents/core/skills/nextjs/SKILL.md +163 -0
- package/.agents/core/skills/nextjs/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/nextjs/VALIDATION.json +12 -0
- package/.agents/core/skills/nextjs/nextjs.md +67 -0
- package/.agents/core/skills/nextjs/skill.yaml +10 -0
- package/.agents/core/skills/node/EXAMPLES.md +80 -0
- package/.agents/core/skills/node/SKILL.md +128 -0
- package/.agents/core/skills/node/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/node/VALIDATION.json +12 -0
- package/.agents/core/skills/node/node.md +87 -0
- package/.agents/core/skills/node/skill.yaml +10 -0
- package/.agents/core/skills/performance/EXAMPLES.md +30 -0
- package/.agents/core/skills/performance/SKILL.md +75 -0
- package/.agents/core/skills/performance/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/performance/VALIDATION.json +12 -0
- package/.agents/core/skills/performance/performance.md +52 -0
- package/.agents/core/skills/performance/skill.yaml +10 -0
- package/.agents/core/skills/ponytail-mindset/EXAMPLES.md +45 -0
- package/.agents/core/skills/ponytail-mindset/SKILL.md +193 -0
- package/.agents/core/skills/ponytail-mindset/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/ponytail-mindset/VALIDATION.json +12 -0
- package/.agents/core/skills/ponytail-mindset/skill.yaml +14 -0
- package/.agents/core/skills/react/EXAMPLES.md +79 -0
- package/.agents/core/skills/react/SKILL.md +132 -0
- package/.agents/core/skills/react/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/react/VALIDATION.json +12 -0
- package/.agents/core/skills/react/react.md +93 -0
- package/.agents/core/skills/react/skill.yaml +10 -0
- package/.agents/core/skills/react-best-practices/SKILL.md +155 -0
- package/.agents/core/skills/react-best-practices/VALIDATION.json +12 -0
- package/.agents/core/skills/react-best-practices/skill.yaml +10 -0
- package/.agents/core/skills/redesign-audit/SKILL.md +117 -0
- package/.agents/core/skills/redesign-audit/VALIDATION.json +12 -0
- package/.agents/core/skills/redesign-audit/skill.yaml +8 -0
- package/.agents/core/skills/security/EXAMPLES.md +64 -0
- package/.agents/core/skills/security/SKILL.md +158 -0
- package/.agents/core/skills/security/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/security/VALIDATION.json +12 -0
- package/.agents/core/skills/security/security.md +106 -0
- package/.agents/core/skills/security/skill.yaml +10 -0
- package/.agents/core/skills/soft-design/SKILL.md +108 -0
- package/.agents/core/skills/soft-design/VALIDATION.json +12 -0
- package/.agents/core/skills/soft-design/skill.yaml +8 -0
- package/.agents/core/skills/state-management/EXAMPLES.md +56 -0
- package/.agents/core/skills/state-management/SKILL.md +48 -0
- package/.agents/core/skills/state-management/TROUBLESHOOTING.md +18 -0
- package/.agents/core/skills/state-management/VALIDATION.json +11 -0
- package/.agents/core/skills/state-management/skill.yaml +22 -0
- package/.agents/core/skills/subagent-orchestrator/SKILL.md +100 -0
- package/.agents/core/skills/subagent-orchestrator/VALIDATION.json +12 -0
- package/.agents/core/skills/subagent-orchestrator/skill.yaml +8 -0
- package/.agents/core/skills/system-design/EXAMPLES.md +75 -0
- package/.agents/core/skills/system-design/SKILL.md +419 -0
- package/.agents/core/skills/system-design/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/system-design/VALIDATION.json +12 -0
- package/.agents/core/skills/system-design/skill.yaml +13 -0
- package/.agents/core/skills/system-design/system-design.md +112 -0
- package/.agents/core/skills/testing/EXAMPLES.md +71 -0
- package/.agents/core/skills/testing/SKILL.md +70 -0
- package/.agents/core/skills/testing/TROUBLESHOOTING.md +18 -0
- package/.agents/core/skills/testing/VALIDATION.json +11 -0
- package/.agents/core/skills/testing/skill.yaml +26 -0
- package/.agents/core/skills/typescript/EXAMPLES.md +64 -0
- package/.agents/core/skills/typescript/SKILL.md +112 -0
- package/.agents/core/skills/typescript/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/typescript/VALIDATION.json +12 -0
- package/.agents/core/skills/typescript/skill.yaml +10 -0
- package/.agents/core/skills/typescript/typescript.md +71 -0
- package/.agents/core/skills/ui-design/EXAMPLES.md +21 -0
- package/.agents/core/skills/ui-design/SKILL.md +124 -0
- package/.agents/core/skills/ui-design/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/ui-design/VALIDATION.json +12 -0
- package/.agents/core/skills/ui-design/skill.yaml +10 -0
- package/.agents/core/skills/ui-design/ui.md +88 -0
- package/.agents/core/skills/ui-ux-pro/EXAMPLES.md +62 -0
- package/.agents/core/skills/ui-ux-pro/SKILL.md +375 -0
- package/.agents/core/skills/ui-ux-pro/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/ui-ux-pro/VALIDATION.json +12 -0
- package/.agents/core/skills/ui-ux-pro/skill.yaml +13 -0
- package/.agents/core/skills/ux-design/EXAMPLES.md +36 -0
- package/.agents/core/skills/ux-design/SKILL.md +116 -0
- package/.agents/core/skills/ux-design/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/ux-design/VALIDATION.json +12 -0
- package/.agents/core/skills/ux-design/skill.yaml +10 -0
- package/.agents/core/skills/ux-design/ux.md +80 -0
- package/.agents/core/skills/vercel-optimize/SKILL.md +83 -0
- package/.agents/core/skills/vercel-optimize/VALIDATION.json +12 -0
- package/.agents/core/skills/vercel-optimize/skill.yaml +10 -0
- package/.agents/core/skills/web-accessibility/EXAMPLES.md +39 -0
- package/.agents/core/skills/web-accessibility/SKILL.md +170 -0
- package/.agents/core/skills/web-accessibility/TROUBLESHOOTING.md +19 -0
- package/.agents/core/skills/web-accessibility/VALIDATION.json +12 -0
- package/.agents/core/skills/web-accessibility/accessibility.md +63 -0
- package/.agents/core/skills/web-accessibility/skill.yaml +10 -0
- package/.agents/ctx.js +370 -0
- package/.agents/generated/claude/skills/adapters/SKILL.md +126 -0
- package/.agents/generated/claude/skills/architecture-diagrams/SKILL.md +101 -0
- package/.agents/generated/claude/skills/brutalist-design/SKILL.md +145 -0
- package/.agents/generated/claude/skills/context-manager/SKILL.md +147 -0
- package/.agents/generated/claude/skills/context-os/SKILL.md +191 -0
- package/.agents/generated/claude/skills/database/SKILL.md +191 -0
- package/.agents/generated/claude/skills/ddd/SKILL.md +305 -0
- package/.agents/generated/claude/skills/decisions/SKILL.md +134 -0
- package/.agents/generated/claude/skills/docker/SKILL.md +135 -0
- package/.agents/generated/claude/skills/engineering-workflow/SKILL.md +414 -0
- package/.agents/generated/claude/skills/fastapi/SKILL.md +200 -0
- package/.agents/generated/claude/skills/gemini-precision/SKILL.md +161 -0
- package/.agents/generated/claude/skills/generators/SKILL.md +133 -0
- package/.agents/generated/claude/skills/graphify/SKILL.md +198 -0
- package/.agents/generated/claude/skills/gstack-roles/SKILL.md +184 -0
- package/.agents/generated/claude/skills/impeccable-design/SKILL.md +241 -0
- package/.agents/generated/claude/skills/interview-me/SKILL.md +90 -0
- package/.agents/generated/claude/skills/microservices/SKILL.md +218 -0
- package/.agents/generated/claude/skills/minimalist-design/SKILL.md +108 -0
- package/.agents/generated/claude/skills/nestjs/SKILL.md +195 -0
- package/.agents/generated/claude/skills/nextjs/SKILL.md +219 -0
- package/.agents/generated/claude/skills/node/SKILL.md +224 -0
- package/.agents/generated/claude/skills/performance/SKILL.md +121 -0
- package/.agents/generated/claude/skills/ponytail-mindset/SKILL.md +252 -0
- package/.agents/generated/claude/skills/react/SKILL.md +227 -0
- package/.agents/generated/claude/skills/react-best-practices/SKILL.md +146 -0
- package/.agents/generated/claude/skills/redesign-audit/SKILL.md +112 -0
- package/.agents/generated/claude/skills/security/SKILL.md +237 -0
- package/.agents/generated/claude/skills/soft-design/SKILL.md +103 -0
- package/.agents/generated/claude/skills/state-management/SKILL.md +120 -0
- package/.agents/generated/claude/skills/subagent-orchestrator/SKILL.md +93 -0
- package/.agents/generated/claude/skills/system-design/SKILL.md +507 -0
- package/.agents/generated/claude/skills/testing/SKILL.md +157 -0
- package/.agents/generated/claude/skills/typescript/SKILL.md +192 -0
- package/.agents/generated/claude/skills/ui-design/SKILL.md +161 -0
- package/.agents/generated/claude/skills/ui-ux-pro/SKILL.md +451 -0
- package/.agents/generated/claude/skills/ux-design/SKILL.md +168 -0
- package/.agents/generated/claude/skills/vercel-optimize/SKILL.md +76 -0
- package/.agents/generated/claude/skills/web-accessibility/SKILL.md +225 -0
- package/.agents/generated/gemini/skills/adapters/SKILL.md +135 -0
- package/.agents/generated/gemini/skills/architecture-diagrams/SKILL.md +107 -0
- package/.agents/generated/gemini/skills/brutalist-design/SKILL.md +151 -0
- package/.agents/generated/gemini/skills/context-manager/SKILL.md +156 -0
- package/.agents/generated/gemini/skills/context-os/SKILL.md +200 -0
- package/.agents/generated/gemini/skills/database/SKILL.md +200 -0
- package/.agents/generated/gemini/skills/ddd/SKILL.md +314 -0
- package/.agents/generated/gemini/skills/decisions/SKILL.md +143 -0
- package/.agents/generated/gemini/skills/docker/SKILL.md +144 -0
- package/.agents/generated/gemini/skills/engineering-workflow/SKILL.md +423 -0
- package/.agents/generated/gemini/skills/fastapi/SKILL.md +209 -0
- package/.agents/generated/gemini/skills/gemini-precision/SKILL.md +167 -0
- package/.agents/generated/gemini/skills/generators/SKILL.md +142 -0
- package/.agents/generated/gemini/skills/graphify/SKILL.md +205 -0
- package/.agents/generated/gemini/skills/gstack-roles/SKILL.md +193 -0
- package/.agents/generated/gemini/skills/impeccable-design/SKILL.md +250 -0
- package/.agents/generated/gemini/skills/interview-me/SKILL.md +96 -0
- package/.agents/generated/gemini/skills/microservices/SKILL.md +227 -0
- package/.agents/generated/gemini/skills/minimalist-design/SKILL.md +114 -0
- package/.agents/generated/gemini/skills/nestjs/SKILL.md +204 -0
- package/.agents/generated/gemini/skills/nextjs/SKILL.md +298 -0
- package/.agents/generated/gemini/skills/node/SKILL.md +323 -0
- package/.agents/generated/gemini/skills/performance/SKILL.md +185 -0
- package/.agents/generated/gemini/skills/ponytail-mindset/SKILL.md +261 -0
- package/.agents/generated/gemini/skills/react/SKILL.md +332 -0
- package/.agents/generated/gemini/skills/react-best-practices/SKILL.md +152 -0
- package/.agents/generated/gemini/skills/redesign-audit/SKILL.md +118 -0
- package/.agents/generated/gemini/skills/security/SKILL.md +355 -0
- package/.agents/generated/gemini/skills/soft-design/SKILL.md +109 -0
- package/.agents/generated/gemini/skills/state-management/SKILL.md +129 -0
- package/.agents/generated/gemini/skills/subagent-orchestrator/SKILL.md +99 -0
- package/.agents/generated/gemini/skills/system-design/SKILL.md +631 -0
- package/.agents/generated/gemini/skills/testing/SKILL.md +166 -0
- package/.agents/generated/gemini/skills/typescript/SKILL.md +275 -0
- package/.agents/generated/gemini/skills/ui-design/SKILL.md +170 -0
- package/.agents/generated/gemini/skills/ui-ux-pro/SKILL.md +460 -0
- package/.agents/generated/gemini/skills/ux-design/SKILL.md +177 -0
- package/.agents/generated/gemini/skills/vercel-optimize/SKILL.md +82 -0
- package/.agents/generated/gemini/skills/web-accessibility/SKILL.md +300 -0
- package/.agents/mcp/runtime.py +454 -0
- package/.agents/mcp/server.mjs +189373 -0
- package/.agents/plugins.js +574 -0
- package/.agents/profiles.js +267 -0
- package/.agents/resolver.js +336 -0
- package/.agents/skills-index.json +200 -0
- package/.agents/skills.json +6 -0
- package/.agents/validate.js +500 -0
- package/LICENSE +21 -0
- package/README.md +415 -0
- package/benchmarks/gemini-issues.js +533 -0
- package/bin/index.js +458 -0
- package/package.json +70 -0
- package/registry.json +53 -0
- package/registry.schema.json +32 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: interview-me
|
|
3
|
+
description: >
|
|
4
|
+
Interactive requirements elicitation skill. Interrogates ambiguous, complex, or high-blast-radius
|
|
5
|
+
tasks one focused question at a time before any plan or code is written.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# interview-me
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
Structured requirements interrogation framework inspired by [addyosmani/agent-skills](https://github.com/addyosmani/agent-skills). Prevents wasted cycles by transforming vague user intents into crisp, unambiguous architectural constraints through single-question progressive interview loops.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
Activate whenever:
|
|
17
|
+
|
|
18
|
+
- User task has underspecified requirements, open UX decisions, or multiple viable architectural trade-offs.
|
|
19
|
+
- A high-blast-radius change (database migrations, auth refactor, API contract change) is requested.
|
|
20
|
+
- Explicitly triggered via `/spec`, `/interview`, or "ask me questions first".
|
|
21
|
+
|
|
22
|
+
## Rules & Patterns
|
|
23
|
+
|
|
24
|
+
### 1. The One-Question-At-A-Time Rule
|
|
25
|
+
|
|
26
|
+
**Never overwhelm the user with a 10-point interrogation form.**
|
|
27
|
+
|
|
28
|
+
- Ask **exactly ONE focused question** per turn (or at most two tightly-coupled binary options).
|
|
29
|
+
- Provide the recommended option first with clear rationale: `"(Recommended) Option A because..."`.
|
|
30
|
+
- Always allow write-in or clarification.
|
|
31
|
+
|
|
32
|
+
### 2. The 4 Interrogation Dimensions
|
|
33
|
+
|
|
34
|
+
Interrogate in this strict priority order:
|
|
35
|
+
|
|
36
|
+
1. **Business Outcome & Invariants**:
|
|
37
|
+
- What core problem does this solve?
|
|
38
|
+
- What behavior is strictly forbidden?
|
|
39
|
+
2. **Scope Boundaries (In vs Out)**:
|
|
40
|
+
- What must be delivered in this atomic slice?
|
|
41
|
+
- What is explicitly deferred to later?
|
|
42
|
+
3. **Technical Constraints**:
|
|
43
|
+
- Versions, libraries, database engines, backwards compatibility requirements.
|
|
44
|
+
4. **Edge Cases & Failure Modes**:
|
|
45
|
+
- What happens on network disconnect, empty response, or unauthorized token?
|
|
46
|
+
|
|
47
|
+
### 3. Progressive Synthesis
|
|
48
|
+
|
|
49
|
+
After each user answer:
|
|
50
|
+
|
|
51
|
+
- Acknowledge the decision and update the mental model.
|
|
52
|
+
- If more critical decisions remain, ask the next question.
|
|
53
|
+
- Once 2–4 key questions are resolved, synthesize the formal Feature Spec and transition to `engineering-workflow` (`[PHASE: Plan]`).
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Code Examples
|
|
58
|
+
|
|
59
|
+
### Interactive Interview Turn Example
|
|
60
|
+
|
|
61
|
+
```markdown
|
|
62
|
+
**Question 1 of 3 (Authentication Strategy)**
|
|
63
|
+
|
|
64
|
+
Before implementing the API authentication layer, we need to align on session storage:
|
|
65
|
+
|
|
66
|
+
1. **(Recommended) HTTP-only Secure Cookies with Refresh Tokens**:
|
|
67
|
+
- *Why*: Immune to XSS token theft, standard for web dashboards.
|
|
68
|
+
2. **Bearer Token in Authorization Header**:
|
|
69
|
+
- *Why*: Ideal if this API will also be consumed by mobile apps or third-party CLI tools.
|
|
70
|
+
|
|
71
|
+
Which model fits your architecture best?
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Validation Checklist
|
|
77
|
+
|
|
78
|
+
- [ ] Question addresses an actual ambiguity (never ask about obvious defaults).
|
|
79
|
+
- [ ] Exactly one question (or two tightly coupled choices) asked.
|
|
80
|
+
- [ ] Recommendation provided with clear engineering justification.
|
|
81
|
+
- [ ] User response incorporated into the final spec before coding.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Common Mistakes
|
|
86
|
+
|
|
87
|
+
- **Asking obvious questions**: Asking "Do you want error handling?" instead of making a sensible senior default.
|
|
88
|
+
- **Interrogation bombardment**: Dumping a list of 8 open-ended questions in a single wall of text.
|
|
89
|
+
- **Ignoring user answers**: Asking a question, receiving an answer, and then implementing something else.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Integration Notes
|
|
94
|
+
|
|
95
|
+
- Runs at the start of `engineering-workflow` Phase 1 (`/spec`).
|
|
96
|
+
- Interacts with `gstack-roles` (`[ROLE: Product Manager]` or `[ROLE: Architect]`).
|
|
97
|
+
- Hands off to `ponytail-mindset` once scope is defined.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
name: interview-me
|
|
2
|
+
description: Interactive requirements elicitation skill. Interrogates ambiguous, complex, or high-blast-radius tasks one focused question at a time before any plan or code is written.
|
|
3
|
+
tags:
|
|
4
|
+
- workflow
|
|
5
|
+
- requirements
|
|
6
|
+
- planning
|
|
7
|
+
- interview
|
|
8
|
+
version: 1.0.0
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# microservices Examples — Anti-patterns vs ContextOS Standard
|
|
2
|
+
|
|
3
|
+
## Example 1: Inter-service Communication
|
|
4
|
+
|
|
5
|
+
### Anti-pattern: Synchronous HTTP Call Chains (The Distributed Monolith)
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
User -> OrderService (HTTP) -> InventoryService (HTTP) -> PaymentService (HTTP) -> EmailService (HTTP)
|
|
9
|
+
Problem: High latency, 99.9% availability compounding to 96% overall availability, cascading failure.
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
### Best practice: ContextOS Standard (Asynchronous Event Choreography)
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
User -> OrderService (creates order with status 'PENDING')
|
|
16
|
+
OrderService publishes 'OrderPlaced' event to Event Broker (Kafka/RabbitMQ)
|
|
17
|
+
├── InventoryService consumes 'OrderPlaced' -> Reserves stock
|
|
18
|
+
├── PaymentService consumes 'OrderPlaced' -> Charges customer
|
|
19
|
+
└── NotificationService consumes 'PaymentProcessed' -> Sends confirmation email
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Example 2: Database Architecture
|
|
25
|
+
|
|
26
|
+
### Anti-pattern: Shared Database Across Multiple Microservices
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
BAD: OrderService and UserService both directly read and write to the same 'users' table.
|
|
30
|
+
Schema migrations in UserService immediately break OrderService.
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Best practice: ContextOS Standard (Database-per-Service)
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
GOOD: UserService owns user data. OrderService maintains a local read-model (denormalized user info)
|
|
37
|
+
synchronized via 'UserUpdated' events. Each service can migrate and scale independently.
|
|
38
|
+
```
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Microservices
|
|
3
|
+
description: >
|
|
4
|
+
ContextOS skill for Microservices
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Microservices
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
Distributed systems architecture standard. Enforces bounded context isolation, asynchronous event-driven messaging (Kafka, RabbitMQ), Saga distributed transactions, API gateways, and outbox patterns.
|
|
12
|
+
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
Activate when decomposing monoliths into independent services, designing inter-service communications, or building scalable distributed systems.
|
|
16
|
+
|
|
17
|
+
## Rules & Patterns
|
|
18
|
+
<!-- Source: microservices.md -->
|
|
19
|
+
|
|
20
|
+
## Microservices — Architecture Guide
|
|
21
|
+
|
|
22
|
+
## When to Use Microservices
|
|
23
|
+
|
|
24
|
+
**Use when:**
|
|
25
|
+
|
|
26
|
+
- Team > 10 engineers working on the same product
|
|
27
|
+
- Independent deployment of components is critical
|
|
28
|
+
- Different components have different scaling needs
|
|
29
|
+
- Different components need different tech stacks
|
|
30
|
+
|
|
31
|
+
**Don't use when:**
|
|
32
|
+
|
|
33
|
+
- Small team (< 5 engineers)
|
|
34
|
+
- MVP or prototype
|
|
35
|
+
- No operational expertise (monitoring, tracing, deployment)
|
|
36
|
+
- Tight coupling between components
|
|
37
|
+
|
|
38
|
+
## Core Principles
|
|
39
|
+
|
|
40
|
+
### 1. Single Responsibility
|
|
41
|
+
|
|
42
|
+
Each service does ONE thing well.
|
|
43
|
+
|
|
44
|
+
### 2. Own Your Data
|
|
45
|
+
|
|
46
|
+
Each service has its own database. No shared databases.
|
|
47
|
+
|
|
48
|
+
### 3. API Contracts
|
|
49
|
+
|
|
50
|
+
Services communicate through well-defined APIs. Internal implementation is hidden.
|
|
51
|
+
|
|
52
|
+
### 4. Autonomous Deployment
|
|
53
|
+
|
|
54
|
+
Each service can be deployed independently.
|
|
55
|
+
|
|
56
|
+
## Communication Patterns
|
|
57
|
+
|
|
58
|
+
### Synchronous (REST/gRPC)
|
|
59
|
+
|
|
60
|
+
- **When**: Request needs immediate response
|
|
61
|
+
- **Tools**: REST (HTTP), gRPC (high-performance)
|
|
62
|
+
- **Risk**: Cascading failures, latency accumulation
|
|
63
|
+
|
|
64
|
+
### Asynchronous (Events/Messages)
|
|
65
|
+
|
|
66
|
+
- **When**: Eventual consistency is acceptable
|
|
67
|
+
- **Tools**: Kafka, RabbitMQ, Redis Streams, AWS SQS
|
|
68
|
+
- **Benefit**: Loose coupling, resilience
|
|
69
|
+
|
|
70
|
+
### Saga Pattern (Distributed Transactions)
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
Order Service → Payment Service → Inventory Service → Shipping Service
|
|
74
|
+
↓ (failure)
|
|
75
|
+
Compensating transactions reverse each step
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
1. **Choreography (Event-Driven)**: Each service emits events, downstream services listen and react. Best for simple flows (≤ 3 steps) where a central coordinator adds unnecessary coupling.
|
|
79
|
+
2. **Orchestration (State Machine)**: A dedicated Saga Orchestrator controls the flow and explicitly triggers compensating transactions on failure (e.g., `RefundPayment`, `ReleaseInventoryReservation`). Mandatory for complex multi-step workflows.
|
|
80
|
+
|
|
81
|
+
### Dead Letter Queues (DLQ) & Poison Pill Handling
|
|
82
|
+
|
|
83
|
+
- **Never retry infinitely**: Set max retries (e.g. 3) with exponential backoff and jitter.
|
|
84
|
+
- After max retries, route failed messages to a **Dead Letter Queue (DLQ)** with error metadata.
|
|
85
|
+
- Provide alerting on DLQ depth and an admin CLI/script to replay DLQ messages.
|
|
86
|
+
|
|
87
|
+
## CQRS (Command Query Responsibility Segregation)
|
|
88
|
+
|
|
89
|
+
Separate read and write models:
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
Command (Write) → Write Model → Event Store → Projections → Read Model → Query (Read)
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**When**: Read patterns differ significantly from write patterns.
|
|
96
|
+
|
|
97
|
+
## Event Sourcing
|
|
98
|
+
|
|
99
|
+
Store events, not state:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
UserCreated → EmailUpdated → RoleChanged → PasswordReset
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Current state = replay all events. Full audit trail.
|
|
106
|
+
|
|
107
|
+
## Service Boundaries
|
|
108
|
+
|
|
109
|
+
### Bounded Contexts (from DDD)
|
|
110
|
+
|
|
111
|
+
- Identify domain boundaries
|
|
112
|
+
- Each service maps to a bounded context
|
|
113
|
+
- Shared language within the context, translation at boundaries
|
|
114
|
+
|
|
115
|
+
### Anti-Corruption Layer
|
|
116
|
+
|
|
117
|
+
When integrating with legacy or external systems, create an adapter that translates between models.
|
|
118
|
+
|
|
119
|
+
## Operational Concerns
|
|
120
|
+
|
|
121
|
+
### Observability (The Three Pillars)
|
|
122
|
+
|
|
123
|
+
1. **Logs** — structured JSON, correlated by request ID
|
|
124
|
+
2. **Metrics** — latency, error rate, throughput (RED)
|
|
125
|
+
3. **Traces** — distributed tracing across services (Jaeger, Zipkin)
|
|
126
|
+
|
|
127
|
+
### Resilience
|
|
128
|
+
|
|
129
|
+
- **Circuit Breaker** — stop calling failing services
|
|
130
|
+
- **Retry with Backoff** — exponential backoff + jitter
|
|
131
|
+
- **Timeout** — every call has a timeout
|
|
132
|
+
- **Bulkhead** — isolate failures
|
|
133
|
+
|
|
134
|
+
### Deployment
|
|
135
|
+
|
|
136
|
+
- **Containers** — Docker for consistency
|
|
137
|
+
- **Orchestration** — Kubernetes for production
|
|
138
|
+
- **CI/CD** — independent pipelines per service
|
|
139
|
+
- **Blue-Green / Canary** — safe rollouts
|
|
140
|
+
|
|
141
|
+
## Anti-Patterns
|
|
142
|
+
|
|
143
|
+
- [FAIL] Distributed monolith — services that can't deploy independently
|
|
144
|
+
- [FAIL] Shared database — defeats the purpose
|
|
145
|
+
- [FAIL] Synchronous chains — A calls B calls C calls D
|
|
146
|
+
- [FAIL] No versioning — breaking API changes
|
|
147
|
+
- [FAIL] Premature microservices — start with a modular monolith
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
## Code Examples
|
|
151
|
+
|
|
152
|
+
See `EXAMPLES.md` for detailed code examples.
|
|
153
|
+
|
|
154
|
+
## Validation Checklist
|
|
155
|
+
|
|
156
|
+
What to verify during the review phase before completing the task.
|
|
157
|
+
|
|
158
|
+
## Common Mistakes
|
|
159
|
+
|
|
160
|
+
Anti-patterns and things to explicitly avoid. See `TROUBLESHOOTING.md`.
|
|
161
|
+
|
|
162
|
+
## Integration Notes
|
|
163
|
+
|
|
164
|
+
How this skill interacts with other skills.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# microservices Troubleshooting & Common Mistakes
|
|
2
|
+
|
|
3
|
+
## 1. Missing Consumer Idempotency
|
|
4
|
+
|
|
5
|
+
- **Symptom**: Users charged twice or duplicate records created when events are re-delivered.
|
|
6
|
+
- **Root Cause**: Message brokers guarantee at-least-once delivery; network retries re-send events.
|
|
7
|
+
- **Fix**: Store processed message/event IDs in a deduplication table with unique constraint.
|
|
8
|
+
|
|
9
|
+
## 2. Circular Service Dependencies
|
|
10
|
+
|
|
11
|
+
- **Symptom**: Service A cannot boot or operate without Service B, and Service B depends on Service A.
|
|
12
|
+
- **Root Cause**: Improper domain boundaries and coupled synchronous dependencies.
|
|
13
|
+
- **Fix**: Invert dependency using domain events or introduce a composite BFF/Orchestrator.
|
|
14
|
+
|
|
15
|
+
## 3. Distributed Tracing Blindness
|
|
16
|
+
|
|
17
|
+
- **Symptom**: Impossible to diagnose which downstream microservice caused a 500 error or latency spike.
|
|
18
|
+
- **Root Cause**: HTTP headers and event messages do not propagate correlation IDs.
|
|
19
|
+
- **Fix**: Propagate X-Correlation-ID / traceparent across all HTTP requests and event headers.
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Microservices — Architecture Guide
|
|
2
|
+
|
|
3
|
+
## When to Use Microservices
|
|
4
|
+
|
|
5
|
+
**Use when:**
|
|
6
|
+
|
|
7
|
+
- Team > 10 engineers working on the same product
|
|
8
|
+
- Independent deployment of components is critical
|
|
9
|
+
- Different components have different scaling needs
|
|
10
|
+
- Different components need different tech stacks
|
|
11
|
+
|
|
12
|
+
**Don't use when:**
|
|
13
|
+
|
|
14
|
+
- Small team (< 5 engineers)
|
|
15
|
+
- MVP or prototype
|
|
16
|
+
- No operational expertise (monitoring, tracing, deployment)
|
|
17
|
+
- Tight coupling between components
|
|
18
|
+
|
|
19
|
+
## Core Principles
|
|
20
|
+
|
|
21
|
+
### 1. Single Responsibility
|
|
22
|
+
|
|
23
|
+
Each service does ONE thing well.
|
|
24
|
+
|
|
25
|
+
### 2. Own Your Data
|
|
26
|
+
|
|
27
|
+
Each service has its own database. No shared databases.
|
|
28
|
+
|
|
29
|
+
### 3. API Contracts
|
|
30
|
+
|
|
31
|
+
Services communicate through well-defined APIs. Internal implementation is hidden.
|
|
32
|
+
|
|
33
|
+
### 4. Autonomous Deployment
|
|
34
|
+
|
|
35
|
+
Each service can be deployed independently.
|
|
36
|
+
|
|
37
|
+
## Communication Patterns
|
|
38
|
+
|
|
39
|
+
### Synchronous (REST/gRPC)
|
|
40
|
+
|
|
41
|
+
- **When**: Request needs immediate response
|
|
42
|
+
- **Tools**: REST (HTTP), gRPC (high-performance)
|
|
43
|
+
- **Risk**: Cascading failures, latency accumulation
|
|
44
|
+
|
|
45
|
+
### Asynchronous (Events/Messages)
|
|
46
|
+
|
|
47
|
+
- **When**: Eventual consistency is acceptable
|
|
48
|
+
- **Tools**: Kafka, RabbitMQ, Redis Streams, AWS SQS
|
|
49
|
+
- **Benefit**: Loose coupling, resilience
|
|
50
|
+
|
|
51
|
+
### Saga Pattern (Distributed Transactions)
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
Order Service → Payment Service → Inventory Service → Shipping Service
|
|
55
|
+
↓ (failure)
|
|
56
|
+
Compensating transactions reverse each step
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## CQRS (Command Query Responsibility Segregation)
|
|
60
|
+
|
|
61
|
+
Separate read and write models:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
Command (Write) → Write Model → Event Store → Projections → Read Model → Query (Read)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**When**: Read patterns differ significantly from write patterns.
|
|
68
|
+
|
|
69
|
+
## Event Sourcing
|
|
70
|
+
|
|
71
|
+
Store events, not state:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
UserCreated → EmailUpdated → RoleChanged → PasswordReset
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Current state = replay all events. Full audit trail.
|
|
78
|
+
|
|
79
|
+
## Service Boundaries
|
|
80
|
+
|
|
81
|
+
### Bounded Contexts (from DDD)
|
|
82
|
+
|
|
83
|
+
- Identify domain boundaries
|
|
84
|
+
- Each service maps to a bounded context
|
|
85
|
+
- Shared language within the context, translation at boundaries
|
|
86
|
+
|
|
87
|
+
### Anti-Corruption Layer
|
|
88
|
+
|
|
89
|
+
When integrating with legacy or external systems, create an adapter that translates between models.
|
|
90
|
+
|
|
91
|
+
## Operational Concerns
|
|
92
|
+
|
|
93
|
+
### Observability (The Three Pillars)
|
|
94
|
+
|
|
95
|
+
1. **Logs** — structured JSON, correlated by request ID
|
|
96
|
+
2. **Metrics** — latency, error rate, throughput (RED)
|
|
97
|
+
3. **Traces** — distributed tracing across services (Jaeger, Zipkin)
|
|
98
|
+
|
|
99
|
+
### Resilience
|
|
100
|
+
|
|
101
|
+
- **Circuit Breaker** — stop calling failing services
|
|
102
|
+
- **Retry with Backoff** — exponential backoff + jitter
|
|
103
|
+
- **Timeout** — every call has a timeout
|
|
104
|
+
- **Bulkhead** — isolate failures
|
|
105
|
+
|
|
106
|
+
### Deployment
|
|
107
|
+
|
|
108
|
+
- **Containers** — Docker for consistency
|
|
109
|
+
- **Orchestration** — Kubernetes for production
|
|
110
|
+
- **CI/CD** — independent pipelines per service
|
|
111
|
+
- **Blue-Green / Canary** — safe rollouts
|
|
112
|
+
|
|
113
|
+
## Anti-Patterns
|
|
114
|
+
|
|
115
|
+
- [FAIL] Distributed monolith — services that can't deploy independently
|
|
116
|
+
- [FAIL] Shared database — defeats the purpose
|
|
117
|
+
- [FAIL] Synchronous chains — A calls B calls C calls D
|
|
118
|
+
- [FAIL] No versioning — breaking API changes
|
|
119
|
+
- [FAIL] Premature microservices — start with a modular monolith
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: minimalist-ui
|
|
3
|
+
description: Clean editorial-style interfaces. Warm monochrome palette, typographic contrast, flat bento grids, muted pastels. No gradients, no heavy shadows.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Protocol: Premium Utilitarian Minimalism UI Architect
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
An advanced frontend engineering directive for generating highly refined, ultra-minimalist, "document-style" web interfaces analogous to top-tier workspace platforms. This protocol strictly enforces a high-contrast warm monochrome palette, bespoke typographic hierarchies, meticulous structural macro-whitespace, bento-grid layouts, and an ultra-flat component architecture with deliberate muted pastel accents. It actively rejects standard generic SaaS design trends.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
- When designing clean, editorial, or Notion-like document interfaces, workspaces, or notes apps.
|
|
15
|
+
- When creating minimalist SaaS dashboards, personal essays, portfolios, or agency landing pages.
|
|
16
|
+
- When asked for a "clean", "minimalist", "warm monochrome", or "flat bento-box" layout.
|
|
17
|
+
|
|
18
|
+
## Rules & Patterns
|
|
19
|
+
|
|
20
|
+
### 1. Absolute Negative Constraints (Banned Elements)
|
|
21
|
+
|
|
22
|
+
The AI must strictly avoid the following generic web development defaults:
|
|
23
|
+
|
|
24
|
+
- DO NOT use the "Inter", "Roboto", or "Open Sans" typefaces.
|
|
25
|
+
- DO NOT use generic, thin-line icon libraries like "Lucide", "Feather", or standard "Heroicons".
|
|
26
|
+
- DO NOT use Tailwind's default heavy drop shadows (e.g., `shadow-md`, `shadow-lg`, `shadow-xl`). Shadows must be practically non-existent or heavily customized to be ultra-diffuse and low opacity (< 0.05).
|
|
27
|
+
- DO NOT use primary colored backgrounds for large elements or sections (e.g., no bright blue, green, or red hero sections).
|
|
28
|
+
- DO NOT use gradients, neon colors, or 3D glassmorphism (beyond subtle navbar blurs).
|
|
29
|
+
- DO NOT use `rounded-full` (pill shapes) for large containers, cards, or primary buttons.
|
|
30
|
+
- DO NOT use emojis anywhere in code, markup, text content, headings, or alt text. Replace with proper icons or clean SVG primitives.
|
|
31
|
+
- DO NOT use generic placeholder names like "John Doe", "Acme Corp", or "Lorem Ipsum". Use realistic, contextual content.
|
|
32
|
+
- DO NOT use AI copywriting clichés: "Elevate", "Seamless", "Unleash", "Next-Gen", "Game-changer", "Delve". Write plain, specific language.
|
|
33
|
+
|
|
34
|
+
### 2. Typographic Architecture
|
|
35
|
+
|
|
36
|
+
The interface must rely on extreme typographic contrast and premium font selection to establish an editorial feel.
|
|
37
|
+
|
|
38
|
+
- **Primary Sans-Serif (Body, UI, Buttons):** Use clean, geometric, or system-native fonts with character (`'SF Pro Display', 'Geist Sans', 'Helvetica Neue', 'Switzer', sans-serif`).
|
|
39
|
+
- **Editorial Serif (Hero Headings & Quotes):** (`'Lyon Text', 'Newsreader', 'Playfair Display', 'Instrument Serif', serif`). Apply tight tracking (`-0.02em` to `-0.04em`) and tight line-height (`1.1`).
|
|
40
|
+
- **Monospace (Code, Keystrokes, Meta-data):** (`'Geist Mono', 'SF Mono', 'JetBrains Mono', monospace`).
|
|
41
|
+
- **Text Colors:** Body text must never be absolute black (`#000000`). Use off-black/charcoal (`#111111` or `#2F3437`) with a generous line-height of `1.6` for legibility. Secondary text should be muted gray (`#787774`).
|
|
42
|
+
|
|
43
|
+
### 3. Color Palette (Warm Monochrome + Spot Pastels)
|
|
44
|
+
|
|
45
|
+
Color is a scarce resource, utilized only for semantic meaning or subtle accents.
|
|
46
|
+
|
|
47
|
+
- **Canvas / Background:** Pure White `#FFFFFF` or Warm Bone/Off-White `#F7F6F3` / `#FBFBFA`.
|
|
48
|
+
- **Primary Surface (Cards):** `#FFFFFF` or `#F9F9F8`.
|
|
49
|
+
- **Structural Borders / Dividers:** Ultra-light gray `#EAEAEA` or `rgba(0,0,0,0.06)`.
|
|
50
|
+
- **Accent Colors:** Exclusively use highly desaturated, washed-out pastels for tags, inline code backgrounds, or subtle icon backgrounds:
|
|
51
|
+
- Pale Red: `#FDEBEC` (Text: `#9F2F2D`)
|
|
52
|
+
- Pale Blue: `#E1F3FE` (Text: `#1F6C9F`)
|
|
53
|
+
- Pale Green: `#EDF3EC` (Text: `#346538`)
|
|
54
|
+
- Pale Yellow: `#FBF3DB` (Text: `#956400`)
|
|
55
|
+
|
|
56
|
+
### 4. Component Specifications
|
|
57
|
+
|
|
58
|
+
- **Bento Box Feature Grids:** Asymmetrical CSS Grid layouts. Cards have `border: 1px solid #EAEAEA`, crisp border-radius (`8px` to `12px` max), and generous internal padding (`24px` to `40px`).
|
|
59
|
+
- **Primary Call-To-Action (Buttons):** Solid `#111111`, text `#FFFFFF`, radius `4px` to `6px`, no box-shadow. Micro-scale `transform: scale(0.98)` on active.
|
|
60
|
+
- **Tags & Status Badges:** Pill-shaped (`rounded-full`), small typography (`text-xs`), uppercase with wide tracking (`0.05em`), pastel background.
|
|
61
|
+
- **Accordions (FAQ):** Separated by `border-bottom: 1px solid #EAEAEA` without card boxes. Crisp `+` / `-` toggle icons.
|
|
62
|
+
- **Keystroke Micro-UIs:** `<kbd className="border border-[#EAEAEA] rounded bg-[#F7F6F3] font-mono px-1.5 py-0.5 text-xs">`.
|
|
63
|
+
|
|
64
|
+
### 5. Iconography & Imagery
|
|
65
|
+
|
|
66
|
+
- **System Icons:** Phosphor Icons (Bold/Fill) or Radix UI Icons for crisp, technical strokes.
|
|
67
|
+
- **Photography:** Desaturated images with warm tint and subtle grain overlay (`opacity: 0.04`).
|
|
68
|
+
- **Depth:** Subtle ambient gradients (`radial-gradient` with warm tones at `opacity: 0.03`) or minimal geometric line patterns.
|
|
69
|
+
|
|
70
|
+
### 6. Subtle Motion & Micro-Animations
|
|
71
|
+
|
|
72
|
+
- **Scroll Entry:** Fade-in + `translateY(12px)` over 600ms via `IntersectionObserver`.
|
|
73
|
+
- **Hover States:** Subtle card lift with ultra-diffuse shadow (`0 2px 8px rgba(0,0,0,0.04)`).
|
|
74
|
+
- **Staggered Reveals:** Cascading delay (`calc(var(--index) * 80ms)`).
|
|
75
|
+
|
|
76
|
+
## Code Examples
|
|
77
|
+
|
|
78
|
+
```tsx
|
|
79
|
+
export function BentoFeatureCard({ title, description, badge, tagColor = "blue" }: { title: string; description: string; badge: string; tagColor?: string }) {
|
|
80
|
+
return (
|
|
81
|
+
<div className="bg-[#FFFFFF] border border-[#EAEAEA] rounded-xl p-8 hover:shadow-[0_2px_8px_rgba(0,0,0,0.04)] transition-all duration-200">
|
|
82
|
+
<div className="flex items-center justify-between mb-4">
|
|
83
|
+
<span className="text-xs uppercase tracking-wider font-mono font-medium px-2.5 py-0.5 rounded-full bg-[#E1F3FE] text-[#1F6C9F]">
|
|
84
|
+
{badge}
|
|
85
|
+
</span>
|
|
86
|
+
</div>
|
|
87
|
+
<h3 className="font-serif text-2xl tracking-tight text-[#111111] mb-2">{title}</h3>
|
|
88
|
+
<p className="text-sm text-[#787774] leading-relaxed">{description}</p>
|
|
89
|
+
</div>
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Validation Checklist
|
|
95
|
+
|
|
96
|
+
- [ ] Macro-whitespace established with generous vertical section padding (`py-24` to `py-32`).
|
|
97
|
+
- [ ] No pure black (`#000000`) for text or backgrounds.
|
|
98
|
+
- [ ] Borders use crisp `1px solid #EAEAEA` or `rgba(0,0,0,0.06)`.
|
|
99
|
+
- [ ] No generic AI buzzwords or emojis used in copy.
|
|
100
|
+
- [ ] Typography uses editorial serif headers paired with clean sans-serif body.
|
|
101
|
+
- [ ] Card corners constrained to crisp 8px-12px radius; no pill containers.
|
|
102
|
+
|
|
103
|
+
## Common Mistakes
|
|
104
|
+
|
|
105
|
+
- Using heavy saturated primary colors for hero backgrounds.
|
|
106
|
+
- Adding default Tailwind drop-shadows (`shadow-lg`).
|
|
107
|
+
- Cluttering interfaces with emojis instead of clean SVG icons.
|
|
108
|
+
- Using default Inter or Roboto fonts without editorial contrast.
|
|
109
|
+
|
|
110
|
+
## Integration Notes
|
|
111
|
+
|
|
112
|
+
- Complements `ui-ux-pro` for color tokens and accessibility.
|
|
113
|
+
- Integrates with `impeccable-design` for QA and anti-pattern enforcement.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# nestjs Examples — Anti-patterns vs ContextOS Standard
|
|
2
|
+
|
|
3
|
+
## Example 1: Input Validation and DTOs
|
|
4
|
+
|
|
5
|
+
### Anti-pattern: Untyped Body or Manual Validation in Controller
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
// BAD: No runtime validation, controller stuffed with business rules
|
|
9
|
+
@Post('users')
|
|
10
|
+
async create(@Body() body: any) {
|
|
11
|
+
if (!body.email || !body.email.includes('@')) {
|
|
12
|
+
throw new BadRequestException('Invalid email');
|
|
13
|
+
}
|
|
14
|
+
return this.usersService.create(body);
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Best practice: ContextOS Standard (Class-Validator DTO + ValidationPipe)
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
// GOOD: Declarative runtime validation with clean separation
|
|
22
|
+
export class CreateUserDto {
|
|
23
|
+
@IsEmail({}, { message: 'A valid email is required' })
|
|
24
|
+
email: string;
|
|
25
|
+
|
|
26
|
+
@IsString()
|
|
27
|
+
@MinLength(8, { message: 'Password must be at least 8 characters long' })
|
|
28
|
+
password: string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@Controller('users')
|
|
32
|
+
export class UsersController {
|
|
33
|
+
constructor(private readonly usersService: UsersService) {}
|
|
34
|
+
|
|
35
|
+
@Post()
|
|
36
|
+
async create(@Body() dto: CreateUserDto) {
|
|
37
|
+
return this.usersService.create(dto);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|