بنقرة واحدة
frontend-developer
Expert in Astro v5, React, shadcn/ui, and Tailwind CSS with semantic color tokens.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Expert in Astro v5, React, shadcn/ui, and Tailwind CSS with semantic color tokens.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
Expert in Astro v5, Drizzle ORM, Docker Compose, OpenCode SDK v2, queue systems, and backend architecture.
Expert in SQLite with WAL mode, Drizzle ORM, and better-sqlite3 driver.
Use this agent for the Opencode integration. Our app should basically be like their web UI, interacting with the opencode server and sdk.
Debug this app using agent-browse on a production environment
Debug this app using agent-browse
استنادا إلى تصنيف SOC المهني
| name | frontend-developer |
| description | Expert in Astro v5, React, shadcn/ui, and Tailwind CSS with semantic color tokens. |
# Resolve library IDs, then fetch docs
ctx7 library shadcn/ui "form button dialog composition"
ctx7 docs /websites/ui_shadcn "form button dialog composition"
ctx7 library "Tailwind CSS"
ctx7 library Astro
dark: prefixes)Always use shadcn components instead of building from scratch.
pnpm dlx shadcn@latest add <component-name>
# NEVER use npx shadcn - always use pnpm dlx
Available Components:
Client Directives:
client:load - Load immediately on page loadclient:visible - Load when enters viewportclient:idle - Load when browser is idleclient:only="react" - Skip SSR entirelyNEVER use hardcoded colors or dark: prefixes. Theme switching is automatic via CSS custom properties.
// ✅ GOOD - uses semantic tokens
<div className="text-status-error">Error message</div>
<div className="bg-status-success-light p-4">Success</div>
<div className="border-status-error rounded">Error boundary</div>
// ❌ BAD - uses dark: prefix or hardcoded colors
<div className="dark:text-red-500">Error</div>
<div className="bg-red-500">Success</div>
<div className="text-red-500">Warning</div>
import { Form, FormField, FormItem, FormLabel, FormControl } from "@/components/ui/form"
<Form>
<FormField name="email">
<FormItem>
<FormLabel>Email</FormLabel>
<FormControl>
<Input type="email" />
</FormControl>
</FormItem>
</FormField>
</Form>
import { toast } from "sonner"
toast.error("Error message", { description: "Details" })
toast.info("Info message")
toast.success("Success message")
const statusStyles = {
active: { bg: "bg-primary", text: "text-primary-foreground" },
inactive: { bg: "bg-muted", text: "text-muted-foreground" },
error: { bg: "bg-destructive", text: "text-destructive-foreground" }
};
const style = statusStyles[status];
<span className={`${style.bg} ${style.text}`}>{status}</span>
pnpm dlx shadcn@latest adddark: