forgecommandline 0.8.0__py3-none-any.whl

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.
Files changed (113) hide show
  1. forgecli/__init__.py +2 -0
  2. forgecli/ads.py +322 -0
  3. forgecli/agent.py +1093 -0
  4. forgecli/art.py +574 -0
  5. forgecli/attach.py +246 -0
  6. forgecli/brief.py +215 -0
  7. forgecli/browsercheck.py +99 -0
  8. forgecli/checkpoints.py +81 -0
  9. forgecli/city.py +833 -0
  10. forgecli/cli.py +1668 -0
  11. forgecli/config.py +194 -0
  12. forgecli/courier.py +177 -0
  13. forgecli/courier_data.py +164 -0
  14. forgecli/courier_hd.py +431 -0
  15. forgecli/courier_hd_data.bin +0 -0
  16. forgecli/courier_hd_data.py +19 -0
  17. forgecli/ghlogin.py +76 -0
  18. forgecli/github.py +54 -0
  19. forgecli/guards.py +403 -0
  20. forgecli/hooks.py +50 -0
  21. forgecli/httpapi.py +434 -0
  22. forgecli/images.py +110 -0
  23. forgecli/keys.py +152 -0
  24. forgecli/keyvault.py +320 -0
  25. forgecli/mcp.py +674 -0
  26. forgecli/memory.py +42 -0
  27. forgecli/openapi.py +331 -0
  28. forgecli/parallel.py +308 -0
  29. forgecli/prices.py +72 -0
  30. forgecli/procs.py +144 -0
  31. forgecli/providers.py +758 -0
  32. forgecli/quality.py +192 -0
  33. forgecli/repomap.py +78 -0
  34. forgecli/roster.py +227 -0
  35. forgecli/safety.py +93 -0
  36. forgecli/sandbox.py +83 -0
  37. forgecli/sessions.py +97 -0
  38. forgecli/skills.py +446 -0
  39. forgecli/tools.py +1184 -0
  40. forgecli/ui.py +860 -0
  41. forgecli/worktrees.py +79 -0
  42. forgecommandline-0.8.0.data/data/skills/commit/SKILL.md +14 -0
  43. forgecommandline-0.8.0.data/data/skills/debug/SKILL.md +17 -0
  44. forgecommandline-0.8.0.data/data/skills/explain/SKILL.md +14 -0
  45. forgecommandline-0.8.0.data/data/skills/init/SKILL.md +19 -0
  46. forgecommandline-0.8.0.data/data/skills/library/LICENSES/agent-skills-MIT.txt +21 -0
  47. forgecommandline-0.8.0.data/data/skills/library/LICENSES/wondelai-MIT.txt +23 -0
  48. forgecommandline-0.8.0.data/data/skills/library/README.md +9 -0
  49. forgecommandline-0.8.0.data/data/skills/library/_references/accessibility-checklist.md +160 -0
  50. forgecommandline-0.8.0.data/data/skills/library/_references/definition-of-done.md +67 -0
  51. forgecommandline-0.8.0.data/data/skills/library/_references/observability-checklist.md +92 -0
  52. forgecommandline-0.8.0.data/data/skills/library/_references/orchestration-patterns.md +370 -0
  53. forgecommandline-0.8.0.data/data/skills/library/_references/performance-checklist.md +238 -0
  54. forgecommandline-0.8.0.data/data/skills/library/_references/security-checklist.md +248 -0
  55. forgecommandline-0.8.0.data/data/skills/library/_references/testing-patterns.md +235 -0
  56. forgecommandline-0.8.0.data/data/skills/library/api-and-interface-design/SKILL.md +367 -0
  57. forgecommandline-0.8.0.data/data/skills/library/architecture-optimization/SKILL.md +279 -0
  58. forgecommandline-0.8.0.data/data/skills/library/architecture-optimization/references/artifact-templates.md +157 -0
  59. forgecommandline-0.8.0.data/data/skills/library/architecture-optimization/references/methods.md +87 -0
  60. forgecommandline-0.8.0.data/data/skills/library/awwwards-tier-web-application/SKILL.md +877 -0
  61. forgecommandline-0.8.0.data/data/skills/library/browser-testing-with-devtools/SKILL.md +317 -0
  62. forgecommandline-0.8.0.data/data/skills/library/ci-cd-and-automation/SKILL.md +390 -0
  63. forgecommandline-0.8.0.data/data/skills/library/code-review-and-quality/SKILL.md +398 -0
  64. forgecommandline-0.8.0.data/data/skills/library/code-simplification/SKILL.md +331 -0
  65. forgecommandline-0.8.0.data/data/skills/library/constraint-driven-development/SKILL.md +311 -0
  66. forgecommandline-0.8.0.data/data/skills/library/constraint-driven-development/references/floor-guard.md +182 -0
  67. forgecommandline-0.8.0.data/data/skills/library/context-engineering/SKILL.md +353 -0
  68. forgecommandline-0.8.0.data/data/skills/library/debugging-and-error-recovery/SKILL.md +300 -0
  69. forgecommandline-0.8.0.data/data/skills/library/deprecation-and-migration/SKILL.md +247 -0
  70. forgecommandline-0.8.0.data/data/skills/library/documentation-and-adrs/SKILL.md +297 -0
  71. forgecommandline-0.8.0.data/data/skills/library/doubt-driven-development/SKILL.md +243 -0
  72. forgecommandline-0.8.0.data/data/skills/library/frontend-ui-engineering/SKILL.md +340 -0
  73. forgecommandline-0.8.0.data/data/skills/library/git-workflow-and-versioning/SKILL.md +355 -0
  74. forgecommandline-0.8.0.data/data/skills/library/idea-refine/SKILL.md +193 -0
  75. forgecommandline-0.8.0.data/data/skills/library/idea-refine/examples.md +238 -0
  76. forgecommandline-0.8.0.data/data/skills/library/idea-refine/frameworks.md +99 -0
  77. forgecommandline-0.8.0.data/data/skills/library/idea-refine/refinement-criteria.md +113 -0
  78. forgecommandline-0.8.0.data/data/skills/library/idea-refine/scripts/idea-refine.sh +15 -0
  79. forgecommandline-0.8.0.data/data/skills/library/improve-code-quality/SKILL.md +275 -0
  80. forgecommandline-0.8.0.data/data/skills/library/improve-code-quality/references/artifact-templates.md +101 -0
  81. forgecommandline-0.8.0.data/data/skills/library/incremental-implementation/SKILL.md +249 -0
  82. forgecommandline-0.8.0.data/data/skills/library/interview-me/SKILL.md +235 -0
  83. forgecommandline-0.8.0.data/data/skills/library/observability-and-instrumentation/SKILL.md +238 -0
  84. forgecommandline-0.8.0.data/data/skills/library/performance-optimization/SKILL.md +267 -0
  85. forgecommandline-0.8.0.data/data/skills/library/performance-optimization/references/optimization-patterns.md +250 -0
  86. forgecommandline-0.8.0.data/data/skills/library/planning-and-task-breakdown/SKILL.md +257 -0
  87. forgecommandline-0.8.0.data/data/skills/library/remove-technical-debt/SKILL.md +203 -0
  88. forgecommandline-0.8.0.data/data/skills/library/remove-technical-debt/references/artifact-templates.md +79 -0
  89. forgecommandline-0.8.0.data/data/skills/library/security-and-hardening/SKILL.md +216 -0
  90. forgecommandline-0.8.0.data/data/skills/library/security-and-hardening/references/hardening-patterns.md +324 -0
  91. forgecommandline-0.8.0.data/data/skills/library/shipping-and-launch/SKILL.md +336 -0
  92. forgecommandline-0.8.0.data/data/skills/library/source-driven-development/SKILL.md +216 -0
  93. forgecommandline-0.8.0.data/data/skills/library/spec-driven-development/SKILL.md +259 -0
  94. forgecommandline-0.8.0.data/data/skills/library/system-design/SKILL.md +207 -0
  95. forgecommandline-0.8.0.data/data/skills/library/system-design/references/building-blocks.md +272 -0
  96. forgecommandline-0.8.0.data/data/skills/library/system-design/references/common-designs.md +257 -0
  97. forgecommandline-0.8.0.data/data/skills/library/system-design/references/database-scaling.md +295 -0
  98. forgecommandline-0.8.0.data/data/skills/library/system-design/references/estimation-numbers.md +250 -0
  99. forgecommandline-0.8.0.data/data/skills/library/system-design/references/four-step-process.md +286 -0
  100. forgecommandline-0.8.0.data/data/skills/library/system-design/references/reliability-operations.md +373 -0
  101. forgecommandline-0.8.0.data/data/skills/library/test-driven-development/SKILL.md +398 -0
  102. forgecommandline-0.8.0.data/data/skills/library/using-agent-skills/SKILL.md +192 -0
  103. forgecommandline-0.8.0.data/data/skills/review/SKILL.md +16 -0
  104. forgecommandline-0.8.0.data/data/skills/run/SKILL.md +17 -0
  105. forgecommandline-0.8.0.data/data/skills/security-review/SKILL.md +20 -0
  106. forgecommandline-0.8.0.data/data/skills/simplify/SKILL.md +18 -0
  107. forgecommandline-0.8.0.data/data/skills/test/SKILL.md +16 -0
  108. forgecommandline-0.8.0.data/data/skills/web-build/SKILL.md +25 -0
  109. forgecommandline-0.8.0.dist-info/METADATA +357 -0
  110. forgecommandline-0.8.0.dist-info/RECORD +113 -0
  111. forgecommandline-0.8.0.dist-info/WHEEL +5 -0
  112. forgecommandline-0.8.0.dist-info/entry_points.txt +2 -0
  113. forgecommandline-0.8.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,877 @@
1
+ ---
2
+ description: Builds production-minded, full-featured web applications
3
+ with high-end, concept-led visual design. Use when creating or
4
+ upgrading SaaS products, dashboards, admin systems, marketplaces,
5
+ collaboration platforms, portals, data tools, interactive learning
6
+ products, or any browser-based software where users must complete real
7
+ workflows. Combines product discovery, application architecture,
8
+ frontend craft, backend integration, security, accessibility, testing,
9
+ and premium visual direction. Do not treat an application as a
10
+ marketing website or stop at attractive static screens.
11
+ name: awwwards-tier-web-application
12
+ ---
13
+
14
+ # Awwwards-Tier Web Application Engineering
15
+
16
+ A product-building skill for applications that feel exceptionally
17
+ designed and work reliably. It preserves the visual ambition of high-end
18
+ creative websites while changing the unit of design from a page to a
19
+ complete product: user goals, workflows, data, permissions, states, and
20
+ dependable behavior.
21
+
22
+ ## 0. North star
23
+
24
+ **Build software people can use, not screens people can admire.**
25
+
26
+ Every implementation must satisfy two independent standards:
27
+
28
+ 1. **Product integrity:** the core workflows function end-to-end; data,
29
+ permissions, errors, and edge cases are handled honestly.
30
+ 2. **Design integrity:** the interface has a clear concept, a
31
+ distinctive visual system, excellent hierarchy, considered motion,
32
+ and production-level finish.
33
+
34
+ A beautiful interface with dead buttons fails. A functional interface
35
+ that looks like a generic admin template also fails. Aim for both, in
36
+ that order: establish correctness and product coherence, then refine the
37
+ visual expression without compromising usability.
38
+
39
+ ## 1. Execution protocol
40
+
41
+ Follow these phases in order. For an existing project, inspect before
42
+ changing anything.
43
+
44
+ ### Phase 1 --- Understand the product
45
+
46
+ Establish: - **Audience:** who uses the product, their experience level,
47
+ devices, and context. - **Jobs to be done:** what each user comes to
48
+ accomplish. - **Roles and permissions:** what each role can view,
49
+ create, edit, delete, approve, export, or administer. - **Primary
50
+ workflows:** the start, meaningful steps, success state, and
51
+ failure/recovery path for each important task. - **Domain objects:** the
52
+ real entities the product manages and how they relate. -
53
+ **Constraints:** existing stack, codebase conventions, integrations,
54
+ performance, compliance, budget, and deployment environment.
55
+
56
+ Do not invent a large product from a vague brief. Make reasonable,
57
+ reversible assumptions; state only the assumptions that materially
58
+ affect implementation. Ask a focused question only when a missing
59
+ decision blocks a safe or coherent build.
60
+
61
+ ### Phase 2 --- Product concept gate
62
+
63
+ Before designing components, define: - **Product promise:** one sentence
64
+ describing the useful outcome. - **Primary user journey:** the most
65
+ important task the application must make easy. - **Signature
66
+ interaction:** one distinctive interaction that improves understanding
67
+ or use; two maximum. - **Visual idea:** a clear metaphor, material,
68
+ spatial system, or editorial principle that suits the product. -
69
+ **Design archetype:** choose one primary direction from Section 4. -
70
+ **Quality bar:** define what must work before the app can be called
71
+ complete.
72
+
73
+ The visual concept must support the product, not compete with it. An
74
+ event operations dashboard should prioritize speed and legibility; a
75
+ creative collaboration product can support richer expression. Do not
76
+ force cinematic motion, 3D, or dramatic loaders onto utilitarian
77
+ workflows.
78
+
79
+ ### Phase 3 --- Audit the codebase
80
+
81
+ For existing repositories: 1. Inspect project structure, package
82
+ scripts, framework versions, routing, styling, data access,
83
+ authentication, and tests. 2. Read the relevant files before editing
84
+ them. 3. Identify working behavior that must be preserved. 4. Check for
85
+ existing components, tokens, utilities, and established conventions
86
+ before adding replacements. 5. Run the current app or tests when
87
+ practical to establish a baseline. 6. Record actual blockers and
88
+ distinguish them from assumptions.
89
+
90
+ Do not replace a functioning architecture merely to match a preferred
91
+ stack. Avoid broad rewrites when a targeted change is safer.
92
+
93
+ ### Phase 4 --- Plan the system
94
+
95
+ Create a concise implementation plan covering: - Routes and
96
+ navigation. - Screens and reusable components. - Data entities and
97
+ relationships. - Authentication and authorization. - Server actions/API
98
+ endpoints and validation. - Loading, empty, success, error, offline, and
99
+ permission-denied states. - Integrations and environment variables. -
100
+ Tests for the core workflows.
101
+
102
+ For substantial products, define a small domain model and a workflow map
103
+ before building the interface. Keep planning proportional to project
104
+ size; do not bury a small app in paperwork.
105
+
106
+ ### Phase 5 --- Build a vertical slice
107
+
108
+ Implement one complete, representative user journey from UI to
109
+ persistence before duplicating patterns across the application. For
110
+ example: sign in → create a record → validate → save → show confirmation
111
+ → retrieve the saved record.
112
+
113
+ This proves the architecture early and exposes missing data or
114
+ permission decisions before they spread through the project.
115
+
116
+ ### Phase 6 --- Expand by workflow
117
+
118
+ Build related capabilities in coherent increments. Each increment must
119
+ include: - Interface and interaction. - Real business logic. -
120
+ Server-side validation where appropriate. - Persistence or a clearly
121
+ declared temporary/mock boundary. - Access control. - User feedback and
122
+ recoverable errors. - Tests for the behavior introduced.
123
+
124
+ Do not mark a feature complete because its page exists.
125
+
126
+ ### Phase 7 --- Design refinement
127
+
128
+ Once the main workflows are sound, apply the design system, typography,
129
+ spatial rhythm, interaction details, and purposeful motion in Sections
130
+ 4--8. Refine the real interface and realistic data rather than a
131
+ disconnected showcase mockup.
132
+
133
+ ### Phase 8 --- Verify and deliver
134
+
135
+ Run the app, lint/type-check/test commands available in the repository,
136
+ and test important flows in a browser when browser tooling is available.
137
+ Fix failures rather than hiding them. Report what was implemented, what
138
+ was tested, and any remaining limitations accurately.
139
+
140
+ ------------------------------------------------------------------------
141
+
142
+ ## 2. Product architecture and workflow integrity
143
+
144
+ ### 2.1 Think in workflows, not isolated pages
145
+
146
+ For every major feature, answer:
147
+
148
+ 1. What triggers the workflow?
149
+ 2. What information does the user need?
150
+ 3. What can they do next?
151
+ 4. What validation applies?
152
+ 5. What changes in the system?
153
+ 6. What confirms success?
154
+ 7. What happens if the request fails, is repeated, or the user lacks
155
+ permission?
156
+
157
+ Represent meaningful states explicitly. Avoid interfaces that only look
158
+ complete in their initial state.
159
+
160
+ ### 2.2 Data and persistence
161
+
162
+ - Model real entities and relationships rather than storing unrelated
163
+ fields in oversized objects.
164
+ - Use the existing database and ORM conventions unless there is a
165
+ strong reason to change.
166
+ - Validate data at trust boundaries, especially on the server.
167
+ - Handle duplicate submissions and race conditions where they matter.
168
+ - Use transactions for multi-step writes that must succeed or fail
169
+ together.
170
+ - Include timestamps, ownership, status, and audit history when the
171
+ domain requires them.
172
+ - Add pagination or sensible limits to potentially large collections.
173
+ - Use migrations or repeatable schema setup; do not rely on
174
+ undocumented manual database edits.
175
+ - Never imply that data is saved when it exists only in component
176
+ state or local mock data.
177
+ - If a backend or external service is unavailable, isolate the mock
178
+ behind a clear adapter and label it as a development limitation.
179
+
180
+ ### 2.3 Authentication and authorization
181
+
182
+ - Authentication answers **who is signed in**; authorization answers
183
+ **what that person may do**.
184
+ - Enforce permissions on the server or trusted data layer, not only by
185
+ hiding buttons in the UI.
186
+ - Protect private routes and resources, verify ownership, and scope
187
+ queries by the authenticated user or organization.
188
+ - Use established authentication libraries and secure session
189
+ practices appropriate to the stack.
190
+ - Never store passwords in plaintext, hardcode secrets, or expose
191
+ server credentials in client bundles.
192
+ - Include meaningful unauthorized, expired-session, and forbidden
193
+ states.
194
+ - For multi-tenant apps, test that one organization cannot access
195
+ another organization's data.
196
+
197
+ ### 2.4 API and integration quality
198
+
199
+ - Use clear request/response contracts and consistent error formats.
200
+ - Validate inputs and normalize data at boundaries.
201
+ - Keep secrets server-side and use environment variables with
202
+ documented examples.
203
+ - Handle timeouts, rate limits, retries, and provider failures where
204
+ relevant.
205
+ - Avoid duplicate side effects on retries; use idempotency for
206
+ sensitive operations such as payments or order creation.
207
+ - Keep integrations behind small service modules so they can be tested
208
+ and replaced.
209
+ - Do not fabricate successful responses from payments, emails,
210
+ uploads, or external APIs.
211
+
212
+ ### 2.5 Maintainable code
213
+
214
+ - Use components for meaningful reusable behavior, not for every
215
+ trivial line.
216
+ - Separate UI, domain rules, data access, and integration logic at a
217
+ scale appropriate to the project.
218
+ - Give variables, components, routes, and database fields
219
+ domain-specific names.
220
+ - Keep state as close as practical to where it is used; avoid
221
+ unnecessary global state.
222
+ - Avoid giant components, duplicated validation, hidden side effects,
223
+ and speculative abstractions.
224
+ - Follow the repository's conventions and framework version; verify
225
+ APIs rather than guessing.
226
+ - Keep dependencies purposeful and compatible. Do not install a
227
+ library for a behavior that a small native implementation can safely
228
+ handle.
229
+
230
+ ------------------------------------------------------------------------
231
+
232
+ ## 3. Application interface states
233
+
234
+ Every meaningful interactive feature must consider the states that real
235
+ users encounter.
236
+
237
+ ### Required state checklist
238
+
239
+ - **Initial:** clear default view and useful next action.
240
+ - **Loading:** indicate progress without shifting the whole layout
241
+ unnecessarily.
242
+ - **Empty:** explain why nothing appears and how to create or discover
243
+ content.
244
+ - **Success:** confirm the result in context.
245
+ - **Validation:** show the issue next to the relevant field and
246
+ explain how to correct it.
247
+ - **Failure:** use plain language, preserve user input where possible,
248
+ and offer a safe recovery path.
249
+ - **Disabled:** explain why an action is unavailable when the reason
250
+ is not obvious.
251
+ - **Permission denied:** do not reveal protected information; explain
252
+ access limits appropriately.
253
+ - **Long-running:** show progress or status and avoid duplicate
254
+ submissions.
255
+ - **Partial:** communicate what succeeded and what did not when a
256
+ multi-part operation partially completes.
257
+ - **Destructive:** clarify consequences and request confirmation when
258
+ the action is consequential.
259
+ - **Offline or stale:** when relevant, communicate connection or data
260
+ freshness and protect unsaved work.
261
+
262
+ Use skeletons when the eventual layout is known and loading lasts long
263
+ enough to benefit. Use spinners for localized actions. Avoid decorative
264
+ loading screens that delay access to a working application.
265
+
266
+ ### Forms
267
+
268
+ - Use labels that remain visible; placeholders are examples, not
269
+ labels.
270
+ - Mark required fields and explain constraints before or at the point
271
+ of entry.
272
+ - Validate on the server even when client-side validation improves
273
+ feedback.
274
+ - Preserve values after recoverable errors.
275
+ - Prevent accidental double submits and communicate pending state.
276
+ - Use correct input types, autocomplete attributes, and
277
+ mobile-friendly controls.
278
+ - For complex forms, group fields by task and provide a clear
279
+ progression.
280
+ - Show actionable error messages rather than raw stack traces or vague
281
+ "Something went wrong" messages.
282
+ - Confirm destructive or irreversible actions; do not add confirmation
283
+ dialogs to every harmless action.
284
+
285
+ ### Tables and data-heavy interfaces
286
+
287
+ - Optimize for scanning, comparison, and task completion.
288
+ - Use clear column labels, sensible alignment, stable row actions, and
289
+ meaningful empty states.
290
+ - Provide search, filtering, sorting, and pagination when the amount
291
+ of data warrants them.
292
+ - Keep selected filters and pagination consistent with the visible
293
+ result set.
294
+ - Support keyboard access and small screens; use responsive layouts or
295
+ intentional horizontal scrolling rather than shrinking text until it
296
+ becomes unreadable.
297
+ - Use bulk actions only when selection behavior and consequences are
298
+ clear.
299
+ - Distinguish statuses with text as well as color.
300
+ - Never invent analytics, counts, ratings, or activity to make a
301
+ dashboard feel populated.
302
+
303
+ ### Navigation and information architecture
304
+
305
+ - Organize navigation around user tasks and domain concepts.
306
+ - Make the current location and active section obvious.
307
+ - Use consistent naming for the same destination across menus,
308
+ buttons, breadcrumbs, and page headings.
309
+ - Support deep links and browser back/forward behavior.
310
+ - Preserve context when opening details, editing records, or returning
311
+ from a workflow.
312
+ - Keep global navigation distinct from page-level actions.
313
+ - For role-specific navigation, show relevant destinations without
314
+ treating hidden navigation as security.
315
+
316
+ ------------------------------------------------------------------------
317
+
318
+ ## 4. High-end visual direction for software
319
+
320
+ Choose one primary archetype based on the product. The goal is a
321
+ distinctive, coherent interface, not the same dark glass dashboard for
322
+ every project.
323
+
324
+ -----------------------------------------------------------------------
325
+ Archetype Best suited to Visual language
326
+ ----------------------- ----------------------- -----------------------
327
+ **Quiet Precision** Operations tools, Restrained palette,
328
+ finance, analytics, excellent typography,
329
+ admin systems dense but calm layouts,
330
+ fine separators,
331
+ precise alignment
332
+
333
+ **Editorial Workspace** Learning products, Strong typographic
334
+ knowledge tools, hierarchy, generous
335
+ research, publishing reading width,
336
+ annotated metadata,
337
+ purposeful page rhythm
338
+
339
+ **Warm Utility** Community, education, Approachable color,
340
+ wellness, collaboration human copy, clear
341
+ affordances, softer
342
+ surfaces without
343
+ childish styling
344
+
345
+ **Technical Console** Developer tools, Monospaced metadata,
346
+ infrastructure, dark or neutral
347
+ security, observability surfaces, clear status
348
+ signals, data-rich
349
+ layouts
350
+
351
+ **Creative Studio** Design tools, Expressive type,
352
+ portfolios inside apps, flexible canvases,
353
+ media production visual previews,
354
+ restrained motion,
355
+ strong content
356
+ presentation
357
+
358
+ **Spatial Product** Mapping, property, 3D Spatial navigation,
359
+ editors, visual canvas-based
360
+ exploration interaction, clear DOM
361
+ controls, progressive
362
+ disclosure
363
+ -----------------------------------------------------------------------
364
+
365
+ One primary archetype is the foundation. A second may provide a limited
366
+ accent. Do not mix unrelated visual languages without a reason rooted in
367
+ the product.
368
+
369
+ ### 4.1 Concept before components
370
+
371
+ Define: - One-sentence visual concept. - One signature interaction at
372
+ most, unless the product genuinely benefits from two. - One reusable
373
+ visual motif, applied consistently across selected controls,
374
+ transitions, and feedback. - One hierarchy rule that makes important
375
+ information immediately apparent.
376
+
377
+ The product's content and task flow remain the main event. Effects are
378
+ there to clarify, reward, or orient the user.
379
+
380
+ ### 4.2 Design tokens
381
+
382
+ Establish reusable tokens before styling many screens:
383
+
384
+ - Semantic colors: background, surface, elevated surface, text, muted
385
+ text, border, primary, accent, success, warning, danger, focus.
386
+ - Light and dark themes if both are required.
387
+ - Type families, sizes, weights, line heights, and tracking.
388
+ - Spacing scale and layout widths.
389
+ - Radii, border treatment, elevation, and overlays.
390
+ - Motion durations and easing curves.
391
+ - Layering and z-index conventions.
392
+ - Focus-ring and interactive-state styles.
393
+
394
+ Use semantic tokens instead of scattered one-off values. Color must
395
+ carry meaning consistently. Maintain sufficient contrast and never
396
+ communicate state through color alone.
397
+
398
+ ### 4.3 Typography and hierarchy
399
+
400
+ - Choose typefaces that fit the product's personality and remain
401
+ legible at working sizes.
402
+ - Use expressive display typography selectively; dense operational
403
+ interfaces need efficient scanning more than oversized headlines.
404
+ - Establish a clear hierarchy for page title, section title, field
405
+ label, body text, helper text, and metadata.
406
+ - Use tabular numerals for changing metrics when useful.
407
+ - Keep line lengths comfortable for reading and avoid low-contrast
408
+ tiny labels.
409
+ - Load fonts efficiently, provide fallbacks, and avoid layout shifts.
410
+
411
+ Do not automatically use Inter, gradients, glass, rounded cards, or
412
+ oversized headings. These are choices, not a design system.
413
+
414
+ ### 4.4 Surface, spacing, and composition
415
+
416
+ - Use whitespace to separate priorities, not merely to make the page
417
+ sparse.
418
+ - Align elements to a consistent grid and baseline.
419
+ - Create hierarchy with spacing, type, and surface contrast before
420
+ adding borders and shadows.
421
+ - Reserve strong accent colors for important actions and meaningful
422
+ states.
423
+ - Use hairline borders, restrained elevation, and surface variation
424
+ only where they help grouping.
425
+ - Let the density match the job: an analytics console may be dense; an
426
+ onboarding flow should be calm.
427
+ - Use realistic domain content and believable record lengths to test
428
+ the layout.
429
+ - Design responsive behavior intentionally, not as a final shrinking
430
+ pass.
431
+
432
+ ### 4.5 Ban the generic AI-default look
433
+
434
+ Avoid: - The same sidebar + topbar + four gradient metric cards for
435
+ every product. - A landing-page hero pasted inside an authenticated
436
+ dashboard. - Glassmorphism, glow, blur, gradients, and oversized rounded
437
+ cards without a product-specific reason. - Decorative charts that
438
+ communicate no real information. - Fake user names, random percentages,
439
+ fabricated activity, and lorem ipsum in final interfaces. - Emoji in
440
+ place of purposeful interface icons. - Tiny low-contrast text, ambiguous
441
+ icon-only controls, and unlabeled form fields. - Motion on every
442
+ element, parallax throughout the app, and gratuitous 3D. - A different
443
+ radius, shadow, spacing, or button style on every screen. - An imitation
444
+ of a known product that copies its identity rather than learning from
445
+ its interaction principles.
446
+
447
+ The interface should feel authored because its decisions are coherent,
448
+ not because every element has an effect.
449
+
450
+ ------------------------------------------------------------------------
451
+
452
+ ## 5. Interaction and motion
453
+
454
+ Motion is part of usability. It should explain cause and effect,
455
+ preserve context, and provide feedback.
456
+
457
+ ### 5.1 Motion budget
458
+
459
+ Use motion for: - State transitions and feedback. - Opening or closing
460
+ menus, dialogs, drawers, and command palettes. - Showing relationships
461
+ between list items and detail views. - Meaningful progress and
462
+ completion. - A single signature interaction where it improves the
463
+ product experience.
464
+
465
+ Keep routine actions fast. Avoid slowing repeated tasks for spectacle.
466
+ Do not force a cinematic loader between ordinary app routes.
467
+
468
+ ### 5.2 Timing tokens
469
+
470
+ Example starting point; tune to the product:
471
+
472
+ ``` css
473
+ :root {
474
+ --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
475
+ --ease-in-out-expo: cubic-bezier(0.87, 0, 0.13, 1);
476
+ --ease-ui: cubic-bezier(0.32, 0.72, 0, 1);
477
+ --duration-micro: 120ms;
478
+ --duration-ui: 200ms;
479
+ --duration-panel: 280ms;
480
+ --duration-scene: 500ms;
481
+ }
482
+ ```
483
+
484
+ Use consistent easing tokens instead of arbitrary timings. Most feedback
485
+ should be subtle and brief. Longer transitions belong to meaningful
486
+ context changes, not every hover.
487
+
488
+ ### 5.3 Input and motion rules
489
+
490
+ - Every interactive element needs hover, focus-visible, pressed,
491
+ disabled, and pending states where applicable.
492
+ - Never make essential information available only on hover.
493
+ - Support keyboard, touch, and coarse-pointer devices.
494
+ - Respect `prefers-reduced-motion`; reduce or remove nonessential
495
+ movement.
496
+ - Avoid animating layout-heavy properties when transform and opacity
497
+ will work.
498
+ - Avoid scroll hijacking in task-oriented software.
499
+ - Use a single source of truth for state; do not let animation state
500
+ drift from application state.
501
+ - Avoid optimistic UI for sensitive operations unless rollback and
502
+ error recovery are designed.
503
+ - Keep focus predictable when dialogs, menus, and route transitions
504
+ open or close.
505
+ - Use transitions to clarify state, not conceal latency or errors.
506
+
507
+ ### 5.4 High-end interaction details
508
+
509
+ Small, consistent details often make software feel premium: - A button
510
+ responds immediately and shows a clear pending state. - A row selection,
511
+ saved filter, or active tab is unmistakable. - A command palette
512
+ supports keyboard navigation and sensible empty results. - A drawer
513
+ retains context and closes predictably. - A successful save confirms the
514
+ change without interrupting the next task. - An undo action is offered
515
+ when it is safer than a confirmation dialog. - Motion uses the same
516
+ visual grammar across related components. - Empty states explain the
517
+ next useful action in the user's language.
518
+
519
+ Do not add custom cursors, sounds, or magnetic buttons to ordinary
520
+ business software unless they serve a clear purpose.
521
+
522
+ ------------------------------------------------------------------------
523
+
524
+ ## 6. Accessibility and responsive behavior
525
+
526
+ Accessibility is part of correctness, not a finishing touch.
527
+
528
+ - Use semantic HTML and native controls when possible.
529
+ - Make every workflow operable by keyboard.
530
+ - Provide visible focus indicators and logical focus order.
531
+ - Associate form labels, descriptions, and errors programmatically.
532
+ - Give meaningful accessible names to icon-only buttons.
533
+ - Use appropriate headings, landmarks, and dialog semantics.
534
+ - Announce asynchronous success and error feedback when needed.
535
+ - Ensure color contrast and non-color status indicators.
536
+ - Avoid focus traps except inside modal contexts, and restore focus
537
+ when a dialog closes.
538
+ - Respect reduced motion and avoid flashing content.
539
+ - Ensure touch targets are comfortably usable.
540
+ - Test at narrow widths and zoomed text sizes.
541
+ - Provide alternatives for canvas/WebGL interactions; essential
542
+ actions and content must remain accessible in the DOM.
543
+ - Do not assume that an accessibility overlay makes an inaccessible
544
+ implementation compliant.
545
+
546
+ Responsive behavior must reflect the actual task. Tables can become
547
+ stacked records, compact views, or controlled horizontal scroll. Complex
548
+ navigation should become an accessible menu or drawer. Preserve
549
+ important actions rather than simply hiding them.
550
+
551
+ ------------------------------------------------------------------------
552
+
553
+ ## 7. Technical implementation tiers
554
+
555
+ Choose the simplest architecture that satisfies real product
556
+ requirements. Use the existing stack when it is sound.
557
+
558
+ ### Tier 1 --- Interactive frontend prototype
559
+
560
+ Suitable for concept validation or a small local tool: - Componentized
561
+ UI. - Real local interaction and validation. - Clearly labeled sample
562
+ data. - A defined boundary between prototype state and persistence.
563
+
564
+ Do not describe this as production-ready if it has no real
565
+ authentication, persistence, server validation, or deployment hardening.
566
+
567
+ ### Tier 2 --- Full-stack application
568
+
569
+ For most real products: - Frontend routes and reusable components. -
570
+ Backend endpoints, server actions, or equivalent application services. -
571
+ Persistent database with migrations. - Authentication and
572
+ server-enforced authorization. - Input validation and consistent error
573
+ handling. - Environment configuration. - Automated tests for domain
574
+ rules and critical workflows. - Logging appropriate to the deployment
575
+ environment.
576
+
577
+ ### Tier 3 --- Complex or real-time product
578
+
579
+ Use only when requirements justify it: - Queues and background jobs. -
580
+ Realtime subscriptions or WebSockets. - File processing and object
581
+ storage. - Search indexing. - Audit logs and advanced permissions. -
582
+ Payment integrations and webhook verification. - Observability, rate
583
+ limiting, and operational controls. - Specialized rendering such as
584
+ WebGL for a genuinely spatial or visual product.
585
+
586
+ Do not introduce microservices, complex state machines, a queue, or
587
+ WebGL because they sound advanced. Prefer a modular monolith until real
588
+ requirements justify more complexity.
589
+
590
+ ### Framework-specific discipline
591
+
592
+ For Next.js: - Confirm the installed Next.js version before using
593
+ APIs. - Respect the App Router or Pages Router already in use. - Keep
594
+ server-only code and secrets out of client components. - Use client
595
+ components only where browser interaction or client state requires
596
+ them. - Validate mutations on the server and revalidate or update
597
+ affected data deliberately. - Handle loading and error boundaries where
598
+ appropriate. - Do not mix incompatible routing patterns or guess at
599
+ library APIs.
600
+
601
+ For any stack: - Inspect `package.json`, lockfiles, scripts, and
602
+ existing architecture before adding dependencies. - Use the project's
603
+ package manager consistently. - Do not silently change frameworks or
604
+ major versions. - Keep configuration reproducible and document required
605
+ environment variables.
606
+
607
+ ------------------------------------------------------------------------
608
+
609
+ ## 8. Security, privacy, and reliability
610
+
611
+ Use secure defaults and tailor safeguards to the data and risk level.
612
+
613
+ - Validate and authorize every sensitive server-side operation.
614
+ - Use parameterized database queries or safe ORM APIs.
615
+ - Protect against injection, cross-site scripting, cross-site request
616
+ forgery where applicable, insecure direct object references, and
617
+ unsafe file uploads.
618
+ - Enforce file type, size, ownership, and storage rules on the server.
619
+ - Rate-limit sensitive or abuse-prone endpoints where appropriate.
620
+ - Verify payment and integration webhooks using the provider's
621
+ signature mechanism.
622
+ - Never trust client-supplied prices, roles, ownership, or permission
623
+ claims.
624
+ - Do not expose stack traces, secrets, tokens, or personal data in
625
+ errors and logs.
626
+ - Minimize collection and retention of personal data.
627
+ - Avoid logging sensitive payloads.
628
+ - Use safe redirect handling and secure cookie settings.
629
+ - Keep dependencies updated within the project's compatibility
630
+ constraints.
631
+ - Add destructive-action protections and audit trails where the domain
632
+ warrants them.
633
+ - Treat privacy and security as product requirements, not optional
634
+ polish.
635
+
636
+ Do not claim a security audit has passed without performing one.
637
+ Identify unverified assumptions and residual risks honestly.
638
+
639
+ ------------------------------------------------------------------------
640
+
641
+ ## 9. Performance and perceived quality
642
+
643
+ A premium interface must remain responsive on realistic devices and
644
+ networks.
645
+
646
+ - Set performance budgets appropriate to the product and audience.
647
+ - Load only the code and data needed for the current view.
648
+ - Paginate or virtualize large collections when justified.
649
+ - Use optimized images and responsive image sizes.
650
+ - Lazy-load noncritical media and defer optional visual effects.
651
+ - Avoid unnecessary client-side JavaScript and excessive state
652
+ updates.
653
+ - Prevent layout shifts from fonts, images, and asynchronous content.
654
+ - Avoid repeated network requests caused by component lifecycle
655
+ mistakes.
656
+ - Cache only when invalidation and user-specific data boundaries are
657
+ understood.
658
+ - Profile actual bottlenecks before optimizing.
659
+ - Provide useful feedback during slow operations instead of freezing
660
+ the interface.
661
+ - Keep motion smooth, but prioritize correctness and responsiveness
662
+ over elaborate animation.
663
+
664
+ ### 3D, canvas, and immersive features
665
+
666
+ Use them only when they are central to the product concept. - Keep
667
+ navigation, forms, text, and critical controls in semantic DOM. -
668
+ Provide static or lightweight alternatives for unsupported devices. -
669
+ Respect reduced motion and data-saving preferences where practical. -
670
+ Pause nonessential rendering when hidden or off-screen. - Compress
671
+ assets, warm up expensive rendering only when justified, and measure
672
+ startup cost. - Set mobile quality limits early. - Do not let a canvas
673
+ obscure keyboard focus or intercept unrelated input.
674
+
675
+ ------------------------------------------------------------------------
676
+
677
+ ## 10. Testing and verification
678
+
679
+ A product is not complete until its core behaviors have been checked.
680
+
681
+ ### 10.1 Test layers
682
+
683
+ - **Static checks:** lint, type-check, formatting checks where
684
+ configured.
685
+ - **Unit tests:** domain rules, validation, transformations,
686
+ permission helpers.
687
+ - **Integration tests:** database operations, service boundaries, API
688
+ contracts.
689
+ - **End-to-end tests:** primary user journeys in a browser.
690
+ - **Manual exploratory checks:** responsive layouts, keyboard use,
691
+ error states, visual consistency, and realistic data volume.
692
+
693
+ Do not add a test framework blindly. Inspect existing tooling and use
694
+ the smallest suitable setup.
695
+
696
+ ### 10.2 Critical workflow test
697
+
698
+ For each core journey, verify: 1. The user can reach the feature. 2. The
699
+ correct inputs and choices are available. 3. Invalid input is rejected
700
+ with useful feedback. 4. Valid input produces the intended server-side
701
+ change. 5. The resulting data persists after refresh or navigation. 6.
702
+ The user sees the correct success or updated state. 7. Unauthorized
703
+ users cannot perform the operation or retrieve protected data. 8.
704
+ Failure does not silently lose work or falsely report success. 9.
705
+ Repeated submission does not create harmful duplicates. 10. The layout
706
+ remains usable on mobile and by keyboard.
707
+
708
+ ### 10.3 Browser verification
709
+
710
+ When browser automation is available: - Start the app using the
711
+ documented command. - Inspect the real rendered page, not only the
712
+ source code. - Exercise real interactions and capture console/network
713
+ failures. - Test success, empty, loading, validation, and error
714
+ states. - Verify responsive behavior at representative widths. - Check
715
+ focus behavior in dialogs and menus. - Fix discovered issues and rerun
716
+ affected tests.
717
+
718
+ If browser tooling is unavailable, run all available checks and state
719
+ that visual end-to-end verification was not performed. Never claim tests
720
+ were run when they were not.
721
+
722
+ ### 10.4 Definition of done
723
+
724
+ A feature is done only when: - The workflow is connected end-to-end. -
725
+ Data and permission rules are correct. - Important states and errors are
726
+ handled. - The UI matches the established design system. - Accessibility
727
+ and responsive behavior have been considered. - Relevant checks pass, or
728
+ remaining failures are explicitly documented.
729
+
730
+ ------------------------------------------------------------------------
731
+
732
+ ## 11. Content and product psychology
733
+
734
+ Use behavioral principles to reduce confusion and help people make
735
+ informed decisions, not to manipulate them.
736
+
737
+ - Make the next useful action clear.
738
+ - Reduce unnecessary choices and repeated data entry.
739
+ - Keep terminology consistent with the user's mental model.
740
+ - Use progressive disclosure for advanced controls.
741
+ - Preserve context and user input across recoverable errors.
742
+ - Make progress and consequences visible.
743
+ - Prefer clear defaults while keeping meaningful choices reversible.
744
+ - Use confirmation for high-impact decisions, not routine actions.
745
+ - Avoid dark patterns, false urgency, hidden fees, misleading status,
746
+ or coercive notification prompts.
747
+ - Use realistic copy. Every message should help the user understand
748
+ what happened or what to do next.
749
+
750
+ For educational, community, or decision-support products, distinguish
751
+ evidence from opinion and uncertainty. Do not present persuasive writing
752
+ or confident visual design as a substitute for factual reliability.
753
+
754
+ ------------------------------------------------------------------------
755
+
756
+ ## 12. Output and collaboration contract
757
+
758
+ When implementing a project, keep communication concise and useful.
759
+
760
+ Before work, provide a short plan when the task is substantial. Do not
761
+ narrate every internal step.
762
+
763
+ During implementation: - Make coherent, reviewable changes. - Preserve
764
+ existing behavior unless a change is requested or necessary. - Flag
765
+ blockers that genuinely need user input. - Do not replace real
766
+ functionality with placeholders to make progress appear faster. - Do not
767
+ silently omit requested requirements. - Do not invent credentials, API
768
+ responses, test results, or deployment success.
769
+
770
+ At delivery, summarize: 1. What was built or changed. 2. Which core
771
+ workflows now function. 3. The checks actually run and their results. 4.
772
+ Any setup steps or environment variables required. 5. Known limitations
773
+ or work that remains.
774
+
775
+ Do not claim "production-ready" merely because the app compiles. Use
776
+ precise descriptions such as "prototype," "locally tested," "end-to-end
777
+ tested for the listed flows," or "deployed," according to evidence.
778
+
779
+ ------------------------------------------------------------------------
780
+
781
+ ## 13. Pre-output checklist
782
+
783
+ ### Product
784
+
785
+ - [ ] Audience, roles, and primary jobs are understood.
786
+ - [ ] Core workflows have clear success and failure paths.
787
+ - [ ] The data model and persistence boundary are explicit.
788
+ - [ ] Permissions are enforced beyond the UI.
789
+ - [ ] No essential feature is represented by a dead button or fake
790
+ success.
791
+
792
+ ### Interface
793
+
794
+ - [ ] One coherent product concept and visual direction are present.
795
+ - [ ] Typography, color, spacing, surfaces, and states use shared
796
+ tokens.
797
+ - [ ] The interface is tailored to its actual workflow, not a generic
798
+ dashboard template.
799
+ - [ ] Loading, empty, validation, success, and error states are
800
+ designed.
801
+ - [ ] Copy and sample data are specific, realistic, and honest.
802
+ - [ ] Mobile layouts and keyboard use have been considered.
803
+
804
+ ### Craft
805
+
806
+ - [ ] Motion has a clear purpose and respects reduced-motion settings.
807
+ - [ ] Signature interactions do not obstruct everyday work.
808
+ - [ ] Performance and asset cost are reasonable for target devices.
809
+ - [ ] Canvas or 3D experiences have accessible fallbacks where needed.
810
+ - [ ] Focus, contrast, labels, and touch targets are checked.
811
+
812
+ ### Engineering
813
+
814
+ - [ ] Existing code and framework version were inspected.
815
+ - [ ] Server-side validation and authorization are implemented where
816
+ needed.
817
+ - [ ] Secrets and sensitive data are protected.
818
+ - [ ] Relevant lint, type-check, tests, and browser checks were
819
+ actually run.
820
+ - [ ] Remaining failures and limitations are disclosed accurately.
821
+
822
+ **Final standard:** the application should feel deliberately designed,
823
+ behave consistently, protect its data, and help users complete real
824
+ work. Visual polish is mandatory; functional integrity is
825
+ non-negotiable.
826
+
827
+ ------------------------------------------------------------------------
828
+
829
+ ## 14. Working with the agent-skills engineering plugin
830
+
831
+ This skill owns **what** to build and **how it should look and feel**.
832
+ The `agent-skills` plugin (addyosmani/agent-skills, installed globally)
833
+ owns **how the engineering is done**. Use them together, phase by phase:
834
+
835
+ Phase (this skill) Pair with agent-skills
836
+ ----------------------------- -----------------------------------------------
837
+ 1 Understand the product `interview-me` only if the brief is truly vague
838
+ 2 Product concept gate `idea-refine`, then `spec-driven-development`
839
+ (write the spec: concept + workflows + quality bar)
840
+ Quality bar `constraint-driven-development` (definition of
841
+ done, performance and accessibility budgets)
842
+ 3 Audit the codebase `context-engineering`, `doubt-driven-development`
843
+ for unfamiliar or high-stakes code
844
+ 4 Plan the system `planning-and-task-breakdown`,
845
+ `api-and-interface-design`, `documentation-and-adrs`
846
+ (record stack and boundary decisions as ADRs)
847
+ 5 Vertical slice `incremental-implementation` +
848
+ `test-driven-development`
849
+ 6 Expand by workflow same pair, one workflow per increment;
850
+ `source-driven-development` for framework APIs
851
+ 7 Design refinement `frontend-ui-engineering` (tokens, states,
852
+ accessibility) under Sections 4-6 of this skill
853
+ 8 Verify and deliver `browser-testing-with-devtools` when a browser
854
+ is available, `code-review-and-quality`,
855
+ `security-and-hardening`, `performance-optimization`,
856
+ `code-simplification`, then `shipping-and-launch`
857
+ Anything breaks `debugging-and-error-recovery`
858
+ Logging, metrics `observability-and-instrumentation`
859
+ Commits `git-workflow-and-versioning` (only when asked)
860
+
861
+ Rules when both are active:
862
+
863
+ - agent-skills' operating behaviours (surface assumptions, push back,
864
+ simplicity, scope discipline, verify-don't-assume) apply throughout.
865
+ - When the two disagree, product integrity and security win over
866
+ visual ambition; the simpler engineering option wins over the more
867
+ impressive one unless the product concept needs it.
868
+ - The spec written under `spec-driven-development` must contain this
869
+ skill's Phase 2 outputs (promise, journey, signature interaction,
870
+ visual idea, archetype, quality bar).
871
+ - "Done" means both this skill's Section 10.4 and agent-skills'
872
+ Definition of Done: tests pass, behaviour verified at runtime, docs
873
+ updated, limitations reported honestly.
874
+ - The slash commands map to phases: `/agent-skills:spec` (Phase 2),
875
+ `/agent-skills:plan` (4), `/agent-skills:build` (5-6),
876
+ `/agent-skills:test` (5-8), `/agent-skills:review` and
877
+ `/agent-skills:ship` (8).