{"id":"1bc23802-b8c1-405a-9156-5822007d063b","slug":"clawhub-skills-1kalin-afrexai-nextjs-production","name":"afrexai-nextjs-production","description":"Next.js Production Engineering","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-1kalin-afrexai-nextjs-production","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/1kalin/afrexai-nextjs-production","homepage":null,"source":"CLAWHUB","vendor":{"slug":"openclaw","label":"Openclaw","url":"https://github.com/openclaw/skills/tree/main/skills/1kalin/afrexai-nextjs-production"},"protocols":["OPENCLEW"],"capabilities":["only","be","this"],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-02-25T06:17:45.310Z","freshnessLabel":"Feb 25, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Feb 25, 2026"},{"label":"Vendor","value":"Openclaw"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"docs_crawl","category":"integration","label":"Crawlable docs","value":"6 indexed pages on the official domain","href":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceUrl":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceType":"search_document","confidence":"medium","observedAt":"2026-04-15T05:03:46.393Z","isPublic":true},{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Openclaw","href":"https://github.com/openclaw/skills/tree/main/skills/1kalin/afrexai-nextjs-production","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/1kalin/afrexai-nextjs-production","sourceType":"profile","confidence":"medium","observedAt":"2026-04-15T00:45:39.800Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://www.xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-nextjs-production/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-nextjs-production/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-04-15T00:45:39.800Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-nextjs-production/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-nextjs-production/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["Trust evidence available"],"agentCard":{"name":"afrexai-nextjs-production","description":"Next.js Production Engineering","source":"CLAWHUB","sourceId":"clawhub:skills:1kalin:afrexai-nextjs-production","repository":"https://github.com/openclaw/skills/tree/main/skills/1kalin/afrexai-nextjs-production","documentation":"https://www.xpersona.co/agent/clawhub-skills-1kalin-afrexai-nextjs-production","protocols":["OPENCLEW"],"capabilities":["only","be","this"],"languages":["typescript"],"examples":[{"kind":"example","language":"text","snippet":"src/\n├── app/                    # App Router — routes only\n│   ├── (auth)/             # Route group — shared auth layout\n│   │   ├── login/page.tsx\n│   │   └── register/page.tsx\n│   ├── (dashboard)/        # Route group — shared dashboard layout\n│   │   ├── layout.tsx\n│   │   ├── page.tsx\n│   │   └── settings/page.tsx\n│   ├── api/                # Route Handlers (use sparingly)\n│   │   └── webhooks/\n│   │       └── stripe/route.ts\n│   ├── layout.tsx          # Root layout\n│   ├── loading.tsx         # Root loading\n│   ├── error.tsx           # Root error boundary\n│   ├── not-found.tsx       # 404 page\n│   └── global-error.tsx    # Global error boundary\n├── components/             # Shared components\n│   ├── ui/                 # Design system primitives\n│   ├── forms/              # Form components\n│   └── layouts/            # Layout components\n├── lib/                    # Shared utilities\n│   ├── db/                 # Database client & queries\n│   ├── auth/               # Auth utilities\n│   ├── api/                # External API clients\n│   └── utils/              # Pure utility functions\n├── hooks/                  # Custom React hooks (client-only)\n├── actions/                # Server Actions\n├── types/                  # TypeScript types\n├── styles/                 # Global styles\n└── config/                 # App configuration"},{"kind":"example","language":"text","snippet":"DEFAULT: Server Component (every .tsx is server by default)\n\nAdd \"use client\" ONLY when you need:\n✅ useState, useEffect, useRef, useContext\n✅ Browser APIs (window, document, localStorage)\n✅ Event handlers (onClick, onChange, onSubmit)\n✅ Third-party client libraries (framer-motion, react-hook-form)\n\nNEVER add \"use client\" because:\n❌ You want to use async/await (Server Components support this natively)\n❌ You're fetching data (fetch in Server Components, not useEffect)\n❌ You're importing a server-only library\n❌ \"It's not working\" — debug the actual issue first"}]}}