ui-style-guide
Frontend coding standards, component patterns, and design system for the Guessimate Angular UI. Reference when writing or reviewing frontend code.
Best use case
ui-style-guide is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Frontend coding standards, component patterns, and design system for the Guessimate Angular UI. Reference when writing or reviewing frontend code.
Frontend coding standards, component patterns, and design system for the Guessimate Angular UI. Reference when writing or reviewing frontend code.
Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.
Practical example
Example input
Use the "ui-style-guide" skill to help with this workflow task. Context: Frontend coding standards, component patterns, and design system for the Guessimate Angular UI. Reference when writing or reviewing frontend code.
Example output
A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.
When to use this skill
- Use this skill when you want a reusable workflow rather than writing the same prompt again and again.
When not to use this skill
- Do not use this when you only need a one-off answer and do not need a reusable workflow.
- Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ui-style-guide/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ui-style-guide Compares
| Feature / Agent | ui-style-guide | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Frontend coding standards, component patterns, and design system for the Guessimate Angular UI. Reference when writing or reviewing frontend code.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Cursor vs Codex for AI Workflows
Compare Cursor and Codex for AI coding workflows, repository assistance, debugging, refactoring, and reusable developer skills.
SKILL.md Source
# Frontend Style Guide & Coding Conventions
This document defines the coding standards, architectural patterns, and design system for the Guessimate Angular frontend.
## 1. Technology Stack
- **Framework:** Angular 20+
- **Styling:** Tailwind CSS 4
- **State Management:** Angular Signals & RxJS
- **Build System:** Angular CLI (Esbuild)
## 2. Project Structure
We follow a **Feature-Based** directory structure. Code is organized by domain feature rather than technical type.
```
src/app/
├── core/ # Global singletons (Guards, Interceptors, Global Services)
├── layout/ # Layout components (Navigation, Footer, Shell)
├── features/ # Feature modules (Domain logic)
│ ├── home/
│ ├── session/
│ │ ├── components/ # Dumb/Presentational components
│ │ ├── pages/ # Smart/Container components (Routed)
│ │ ├── services/ # Feature-specific state/logic
│ │ └── models/ # Feature-specific types
│ └── ...
├── websocket/ # WebSocket infrastructure
└── shared/ # Shared utilities (Pipes, Directives, Generic UI)
```
### Naming Conventions
- **Files:** Kebab-case (e.g., `session-page.component.ts`, `auth.service.ts`).
- **Classes:** PascalCase (e.g., `SessionPageComponent`, `AuthService`).
- **Selectors:** `app-` prefix, kebab-case (e.g., `app-user-profile`).
- **Signals:** No suffix, descriptive noun/verb (e.g., `user()`, `isLoading()`).
- **Observables:** `$` suffix (e.g., `user$`).
## 3. Component Standards
### Definition
- Use **Standalone Components** (`standalone: true` is default in v19+).
- Prefer **Inline Templates** for most components to keep logic and view co-located.
- Avoid external CSS files; use **Tailwind CSS** utility classes directly in the template.
```typescript
@Component({
selector: 'app-example',
imports: [CommonModule, RouterLink], // Explicit imports
template: `
<div class="p-4 bg-surface-100 rounded-lg">
<h1 class="text-2xl font-bold text-gray-900">{{ title() }}</h1>
</div>
`
})
export class ExampleComponent {
title = signal('Hello World');
}
```
### Control Flow
Use the new built-in Angular Control Flow syntax.
```html
<!-- Good -->
@if (isLoading()) {
<app-spinner/>
} @else {
@for (item of items(); track item.id) {
<app-item [data]="item"/>
}
}
```
### Dependency Injection
Prefer the `inject()` function over constructor injection for better type inference and cleaner code.
```typescript
// Good
private readonly
route = inject(ActivatedRoute);
private readonly
store = inject(SessionStore);
// Avoid if possible
constructor(private
route: ActivatedRoute
)
{
}
```
## 4. State Management
- **Local State:** Use `signal()` for primitive state.
- **Shared State:** Use **Signal Stores** (Services using Signals) provided at the appropriate level (Root or Component).
- **Reactive Data:** Use `computed()` for derived state and `effect()` sparingly for side effects.
```typescript
@Injectable()
export class SessionStore {
// State
private readonly _state = signal<SessionState>(initialState);
// Selectors
readonly lobby = computed(() => this._state().lobby);
readonly connection = computed(() => this._state().connection);
// Actions
setLobby(lobby: Lobby) {
this._state.update(s => ({...s, lobby}));
}
}
```
## 5. Styling & Design System
We use **Tailwind CSS 4** with a semantic color palette defined in `styles.css`.
### Usage Rules
1. **Utility-First:** Write classes directly in HTML.
2. **No Magic Numbers:** Use theme values (e.g., `p-4` not `p-[16px]`).
3. **Dark Mode:** Use the `dark:` modifier for all color-related classes.
### Color Palette
The application uses a semantic naming convention mapped to Tailwind colors.
#### Core Colors
| Category | Semantic Name | Light Mode | Dark Mode | Usage |
|:------------------|:----------------|:--------------|:-----------------|:-------------------------------------|
| **Background** | `background` | `gray-50` | `gray-950` | Main application background |
| **Surface** | `surface` | `white` | `gray-900` | Cards, modals, sections |
| **Surface Alt** | `surface-alt` | `gray-100` | `gray-800` | Secondary backgrounds, input fields |
| **Primary** | `brand` | `blue-600` | `blue-600` | Primary actions, buttons, highlights |
| **Primary Muted** | `brand-muted` | `blue-50` | `blue-900/30` | Selected states, light highlights |
| **Success** | `success` | `emerald-500` | `emerald-600` | Success states, confirmation |
| **Success Muted** | `success-muted` | `emerald-50` | `emerald-900/30` | Success backgrounds |
| **Danger** | `danger` | `red-600` | `red-600` | Errors, destructive actions |
| **Danger Muted** | `danger-muted` | `red-50` | `red-900/30` | Error backgrounds |
| **Warning** | `warning` | `amber-500` | `amber-600` | Warnings, pending states |
| **Warning Muted** | `warning-muted` | `amber-50` | `amber-900/30` | Warning backgrounds |
#### Typography & Borders
| Category | Light Mode | Dark Mode | Usage |
|:--------------|:-----------|:-----------|:-----------------------------------|
| **Primary** | `gray-900` | `white` | Main headings and body text |
| **Secondary** | `gray-500` | `gray-400` | Subtitles, labels, secondary info |
| **Muted** | `gray-400` | `gray-500` | Disabled text, placeholders |
| **Border** | `gray-200` | `gray-800` | Standard dividers and card borders |
### Implementation in `styles.css`
Colors are defined using CSS variables in the `@theme` block:
```css
@theme {
--color-brand-600: var(--color-blue-600);
--color-surface-100: var(--color-stone-100);
/* ... */
}
```
## 6. Common Component Patterns
### Cards & Containers
Standard styling for content containers (like estimation cards, lists):
```html
<div class="flex flex-col bg-surface-100/60 border border-surface-200 dark:bg-gray-900/40 dark:border-gray-800/60 rounded-md shadow-sm">
<!-- Content -->
</div>
```
- **Background:** `bg-surface-100/60` (Light) / `dark:bg-gray-900/40` (Dark)
- **Border:** `border border-surface-200` (Light) / `dark:border-gray-800/60` (Dark)
- **Rounding:** `rounded-md` (Standard)
- **Dividers:** `divide-y divide-surface-300 dark:divide-gray-800`
### Typography Headers
```html
<div class="flex flex-col gap-1">
<h2 class="text-2xl font-semibold leading-none text-gray-900 dark:text-white">Title</h2>
<span class="text-sm font-normal text-gray-600 dark:text-gray-400">Subtitle description</span>
</div>
```Related Skills
google-official-seo-guide
Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation
opensource-guide-coach
Use when a user wants guidance on starting, contributing to, growing, governing, funding, securing, or sustaining an open source project, or asks about contributor onboarding, community health, maintainer burnout, code of conduct, metrics, legal basics, or open source project adoption.
woocommerce-copy-guidelines
Guidelines for UI text and copy in WooCommerce. Use when writing user-facing text, labels, buttons, or messages.
vue-development-guides
A collection of best practices and tips for developing applications using Vue.js. This skill MUST be apply when developing, refactoring or reviewing Vue.js or Nuxt projects.
user-guide-writing
Write clear and helpful user guides and tutorials for end users. Use when creating onboarding docs, how-to guides, or FAQ pages. Handles user-focused documentation, screenshots, step-by-step instructions.
environment-setup-guide
Guide developers through setting up development environments with proper tools, dependencies, and configurations
cc-skill-project-guidelines-example
Project Guidelines Skill (Example)
brand-guidelines-community
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatt...
brand-guidelines-anthropic
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatt...
skill-creation-guide
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
design-style-skill
Select a consistent visual design system for PPT slides using radius/spacing style recipes. Use when users ask for overall style direction or component styling consistency. Includes Sharp/Soft/Rounded/Pill recipes, component mappings, typography/spacing rules, and mixing guidance. Triggers: 风格, style, radius, spacing, 圆角, 间距, PPT风格, 视觉风格, design style, component style.
video-prompting-guide
Best practices and techniques for writing effective AI video generation prompts. Covers: Veo, Seedance, Wan, Grok, Kling, Runway, Pika, Sora prompting strategies. Learn: shot types, camera movements, lighting, pacing, style keywords, negative prompts. Use for: improving video quality, getting consistent results, professional video prompts. Triggers: video prompt, how to prompt video, veo prompts, video generation tips, better ai video, video prompt engineering, video prompt guide, video prompt template, ai video tips, video prompt best practices, video prompt examples, cinematography prompts