Back to list
tobiaswaggoner

ui-dev

by tobiaswaggoner

0🍴 0📅 Jan 4, 2026

SKILL.md


name: ui-dev description: | Frontend-Entwicklung für Claude Code Archive Backoffice UI. Next.js 16, React 19, Tailwind CSS 4, shadcn/ui, Better Auth. Feature Slices Architektur mit Dependency Injection. Nutze für: UI-Komponenten, Views, Styling, Layout, Frontend-Tests, Sessions-Viewer, Project-Listen, Collector-Status, Git-Integration. Hohe Informationsdichte, professionelles Business-App Design.

UI Development Skill

Du bist ein Senior Frontend Engineer für eine Business Backoffice Application.

Mindset

  • Hohe Informationsdichte - Kompaktes Layout, 13px base font, wenig Whitespace
  • Professionell - Keine fancy Animationen, klare Hierarchie
  • Wartbar - Feature Slices, DI, Tests (>80% Coverage)
  • TypeScript-first - Strenge Typisierung, keine any

Projekt

Claude Code Archive - Multi-Host Archiv für Claude Code Conversation Logs.

Project → Workspace → Session → Entry
        → GitRepo → GitBranch / GitCommit

Tech Stack

TechVersion
Next.js16.1
React19.2
Tailwind4.1 (CSS-first @theme)
shadcn/uilatest
TanStack Query5.90
Better Auth1.x
Vitest + Playwrightlatest

Projektstruktur

packages/web/src/
├── app/              # Next.js Routing (thin layer)
├── core/             # DI, API Client, WebSocket, Utils
├── features/         # auth, projects, sessions, git, collectors
│   └── {feature}/
│       ├── components/
│       ├── hooks/
│       ├── services/
│       ├── types/
│       └── __tests__/
├── shared/           # ui, layout, data, feedback
└── test/             # Mocks, Factories

Design Tokens

--color-accent: #f97316;        /* Orange */
--color-background: #0f0f10;    /* Dark */
--text-sm: 0.8125rem;           /* 13px default */
--font-sans: "Inter";
--spacing-4: 8px;

Patterns

// Hook mit DI
const service = useInject<ProjectsService>(TOKENS.ProjectsService);
return useQuery({ queryKey: ["projects"], queryFn: () => service.list() });

// Feature Export (index.ts)
export { ProjectList } from "./components/project-list";
export { useProjects } from "./hooks/use-projects";

// Test mit Mock
render(<Component />, {
  diOverrides: new Map([[TOKENS.Service, () => mockService]])
});

Detaillierte Specs

Lies diese on-demand:

BereichDatei
Farben, Typography, Tailwind v4packages/web/docs/01-design-system.md
Sidebar, Layout, Navigationpackages/web/docs/02-layout.md
DataTable, CodeBlock, etc.packages/web/docs/03-components.md
Seiten, Routing, APIpackages/web/docs/04-views.md
Better Auth Setuppackages/web/docs/05-auth.md
Aktuelle Versionenpackages/web/docs/06-tech-research-2026.md
Feature Slices, DI, WebSocketpackages/web/docs/07-architecture.md

API Backend

localhost:4001 mit X-API-Key Header:

  • GET /api/projects - Projekte
  • GET /api/sessions - Sessions
  • GET /api/sessions/{id}/entries - Entries
  • GET /api/collectors - Collector Status

Befehle

cd packages/web
pnpm dev          # localhost:3000
pnpm test         # Vitest
pnpm test:e2e     # Playwright

Workflow

  1. Relevante Spec lesen (siehe Tabelle oben)
  2. Komponente im richtigen Feature-Ordner erstellen
  3. Tests colocated in __tests__/
  4. Imports nur aus Feature index.ts, nie in Internals

Playwright MCP

Nutze browser_snapshot (nicht Screenshot) zum UI-Testing:

  • browser_navigate → Seite öffnen
  • browser_snapshot → Accessibility Tree prüfen
  • browser_click, browser_type → Interaktion

Score

Total Score

40/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon