本文へ移動
cccskills
無料GitHub で公開

blade-ui

Use when the project's frontend stack is Blade — dispatched by `directives/ui/{apply,review,polish}.ts`. Covers views, components, partials, layouts, and view logic.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md6.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

blade-ui

Grounded stack guidance: pull idiomatic Do/Don't + docs URLs from the adopted stack corpus before improvising — ./scripts-run <skills-root>/corpus-grounding/scripts/ground search --manifest <skills-root>/design-intelligence/data/manifest.json --stack laravel "<topic>" (the laravel stack file is Blade/UI-scoped, not general Laravel). See design-intelligence.

Positioning — dispatched, not standalone

blade-ui is the apply-step executor for the Blade stack. It is invoked by directives/ui/apply.ts once the design brief is locked, and revisited by review.ts / polish.ts during the design-review loop. It does not own the flow, does not drive the audit, and does not lock the design.

ConcernOwner
Audit + token inventory (mandatory pre-step)existing-ui-audit
Design brief (layout / states / microcopy)directives/ui/design.ts
Universal design heuristicsfe-design
Review + polish loopdirectives/ui/review.ts + polish.ts

When to use

Cite this skill when:

  • state.stack.frontend == "blade" (or the project is clearly Blade-only without Livewire / Flux) and directives/ui/apply.ts dispatches to this skill
  • Editing or creating Blade views, components, partials, layouts, or forms

Do NOT use when:

  • API-only endpoints (use api-endpoint skill)
  • Livewire components (use livewire skill — it composes Blade views internally)
  • Flux UI components (use flux skill)
  • Driving the full UI flow yourself — that is the directives/ui/ orchestrator

Procedure: Create Blade view or component

Step 0: Inspect

  1. Confirm Blade is used — check resources/views, components, layouts.
  2. Inspect existing UI patterns — layouts, partials, component naming, CSS conventions.
  3. Check form handling style — old input, validation errors, session flashes, reusable field partials.
  4. Inspect neighboring templates — match indentation, directives, slot usage, classes.
  5. Determine data flow — what belongs in controller/view model vs. template.

Step 1: Create the template

  1. Use the project's existing layout system.
  2. Keep template presentation-focused — no business logic, no DB queries.
  3. Extract repeated sections into partials or components.

Step 2: Handle forms (if applicable)

  1. Follow project's form style for labels, inputs, validation messages.
  2. Use CSRF protection correctly.
  3. Render validation errors consistently.
  4. Preserve user input with old() or project conventions.
  5. Reuse existing field components — don't duplicate.

Step 3: Validate

  1. Check escaping — {{ }} by default, {!! !!} only when explicitly safe.
  2. Check styling — Tailwind utility classes, not inline styles.
  3. Check accessibility — labels for form fields, semantic HTML.

Conventions

→ See guideline php/blade-ui.md for full conventions.

Output format

  1. Blade view or component file(s) following project conventions
  2. Component class (if applicable) with typed props

Review pass — a11y findings + preview envelope

When this skill is dispatched by directives/ui/review.ts (test slot) or directives/ui/polish.ts (verify slot) — i.e. a review/polish run, not the initial apply — it also emits:

  • state.ui_review.a11y — {violations: [{rule, selector, severity}, ...], severity_floor?, accepted_violations?}. Use the same (rule, selector) shape as state.ui_audit.a11y_baseline so the engine's de-dup matches pre-existing entries on replay. Omit the envelope on apply passes; the engine's _apply_a11y_gate only fires when a baseline is present.
  • state.ui_review.preview — {render_ok: bool, screenshot_path?, dom_dump_path?, error?, skipped?, skip_reason?}. Render evidence is required, not optional on a review/polish pass: you MUST drive the headless browser (Playwright + axe-core) against the rendered output and write render_ok. Omitting it now triggers the preview_render_required halt — a render-capable stack can no longer claim success without rendering. render_ok: false with error populated triggers the preview_render_failed halt; render_ok: true with screenshot_path threads the screenshot into the delivery report's artifacts list. The only no-render path is an explicit, reasoned skip: set skipped: true plus a skip_reason (e.g. no Playwright runner in this env). Browser tooling (Playwright/Cypress/…) is a consumer-project dependency — this package does not ship one.

Polish dispatch: when the dispatcher skips review because a previous review pass already returned SUCCESS, this skill MUST itself synthesise the updated state.ui_review.findings (including any remaining a11y_violation entries) so the engine's gate sees the current state on the next polish round.

Gotcha

  • @include shares parent scope — components don't. Know the difference.
  • Always use Tailwind utility classes — not inline styles.
  • Don't put business logic in templates — use view composers or Livewire.

Taste Dials

When DESIGN.md declares ## Taste Dials, honour them: Variance → layout-family spread + asymmetry tolerance; Motion → animation budget + reduced-motion posture; Density → spacing scale + information-per-viewport. Absent → follow the design brief's inferred dials.

Do NOT

  • Do NOT use {!! !!} with user input — XSS risk.
  • Do NOT put business logic in Blade templates — use Livewire or view composers.
  • Do NOT use inline styles — use Tailwind utility classes.

Anti-slop

Before shipping a Blade view, pull docs/guidelines/design-antipatterns.md and scan Visual / Typography / Layout — the Blade markup is where side-stripe accents (V1), icon-tile feature cards (T3), and the centered-hero + 3-column template (L1/L2) concretely land. Stack-specific Tailwind class/hex bans live in tailwind-engineer.

Auto-trigger keywords

  • Blade template
  • Blade component
  • Laravel view
  • partial
  • view logic

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月13日 更新

Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月13日 更新

Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月13日 更新

Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月13日 更新

Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月13日 更新

Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月13日 更新

event4u-app のスキルをすべて見る

このスキルの問題を報告する