skills/orixakit-blocks/SKILL.md
--- name: orixakit-blocks description: Use this skill when the user wants to scaffold auth pages, dashboards, or sidebars using Orixakit blocks. Triggers on: orix-login-01, orix-dashboard-01, orix-sidebar-01, login block, dashboard block, @orixakit blocks. --- # Orixakit Blocks Full-page blocks. Each block installs as complete files into your app directory. ## Install ```bash npx shadcn@latest add @orixakit/orix-login-01 npx shadcn@latest add @orixakit/orix-dashboard-01 npx shadcn@latest add
npx skillsauth add freeonly789-maker/orixakit skills/orixakit-blocksInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Full-page blocks. Each block installs as complete files into your app directory.
npx shadcn@latest add @orixakit/orix-login-01
npx shadcn@latest add @orixakit/orix-dashboard-01
npx shadcn@latest add @orixakit/orix-sidebar-01
Or use direct URLs:
npx shadcn@latest add https://orixakit.dev/r/orix-login-01.json
npx shadcn@latest add https://orixakit.dev/r/orix-dashboard-01.json
npx shadcn@latest add https://orixakit.dev/r/orix-sidebar-01.json
Installs to: app/login/page.tsx + components/login-form.tsx
Includes:
Auto-installed dependencies: zod, react-hook-form, @hookform/resolvers
Customization:
// In components/login-form.tsx, modify the onSubmit handler:
async function onSubmit(values: LoginSchema) {
// Replace with your actual authentication logic
const response = await fetch("/api/auth/login", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(values),
})
if (!response.ok) {
// Handle error
console.error("Login failed")
}
}
Features:
Installs to: app/dashboard/page.tsx + components/stats-card.tsx
Includes:
Customization:
// In app/dashboard/page.tsx, replace placeholder data:
export default function DashboardPage() {
return (
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
<StatsCard
title="Total Revenue"
value="$45,231.89"
description="+20.1% from last month"
/>
{/* Add more StatsCard components */}
</div>
)
}
Features:
Installs to: components/sidebar.tsx
Includes:
Usage:
import { Sidebar } from "@/components/sidebar"
export default function Layout({ children }) {
const navItems = [
{ label: "Dashboard", href: "/dashboard", active: true },
{ label: "Analytics", href: "/analytics" },
{ label: "Reports", href: "/reports" },
{ label: "Settings", href: "/settings" },
]
return (
<div className="flex">
<Sidebar
items={navItems}
onNavigate={(href) => router.push(href)}
/>
<main className="flex-1">
{children}
</main>
</div>
)
}
Props:
items?: NavItem[] — Navigation items arrayonNavigate?: (href: string) => void — Callback when item clickedNavItem interface:
interface NavItem {
label: string
href: string
active?: boolean
}
Features:
import { Sidebar } from "@/components/sidebar"
import { useRouter } from "next/navigation"
export default function RootLayout({ children }) {
const router = useRouter()
const navItems = [
{ label: "Dashboard", href: "/dashboard", active: true },
{ label: "Analytics", href: "/analytics" },
{ label: "Reports", href: "/reports" },
{ label: "Settings", href: "/settings" },
]
return (
<html>
<body>
<Sidebar
items={navItems}
onNavigate={(href) => router.push(href)}
/>
{children}
</body>
</html>
)
}
// middleware.ts
import { NextRequest, NextResponse } from "next/server"
export function middleware(request: NextRequest) {
const token = request.cookies.get("auth_token")
if (!token && request.nextUrl.pathname !== "/login") {
return NextResponse.redirect(new URL("/login", request.url))
}
return NextResponse.next()
}
export const config = {
matcher: ["/dashboard/:path*", "/analytics/:path*"],
}
import { StatsCard } from "@/components/stats-card"
import { useEffect, useState } from "react"
export default function DashboardPage() {
const [stats, setStats] = useState(null)
useEffect(() => {
fetch("/api/stats")
.then((res) => res.json())
.then(setStats)
}, [])
if (!stats) return <div>Loading...</div>
return (
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
<StatsCard
title="Total Revenue"
value={`$${stats.revenue.toLocaleString()}`}
description={`+${stats.revenueGrowth}% from last month`}
/>
<StatsCard
title="Active Users"
value={stats.activeUsers.toLocaleString()}
description={`+${stats.userGrowth}% from last month`}
/>
{/* Add more cards */}
</div>
)
}
tools
--- name: orixakit-hooks description: Use this skill when the user needs React utility hooks from Orixakit: useLocalStorage, useDebounce, useMediaQuery. Trigger on any mention of @orixakit hooks or these hook names. --- # Orixakit Hooks Utility hooks for common React patterns. ## Install ```bash npx shadcn@latest add @orixakit/use-local-storage npx shadcn@latest add @orixakit/use-debounce npx shadcn@latest add @orixakit/use-media-query ``` Or use direct URLs: ```bash npx shadcn@latest add
development
--- name: orixakit-components description: Use this skill whenever the user wants to use, install, or learn about Orixakit UI primitive components: OrixButton, OrixInput, OrixCard. Trigger on any mention of @orixakit primitives, installing orix-button, orix-input, or orix-card, or building UI with Orixakit. --- # Orixakit UI Components ## Install ```bash # Namespace method (requires components.json setup — see below) npx shadcn@latest add @orixakit/orix-button npx shadcn@latest add @orixakit/
testing
--- name: orixakit-ai description: Use this skill when the user needs AI-specific UI components from Orixakit: OrixChatInput or OrixAiCard. Trigger on chat UI, AI response display, streaming UI, @orixakit ai components, orix-chat-input, orix-ai-card. --- # Orixakit AI Components UI components designed for AI-powered applications. ## Install ```bash npx shadcn@latest add @orixakit/orix-chat-input npx shadcn@latest add @orixakit/orix-ai-card ``` Or use direct URLs: ```bash npx shadcn@latest
testing
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".