frontend-react-d3121b — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited frontend-react-d3121b (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
现代 React 开发的综合技能,专注于 Next.js、TypeScript、Tailwind CSS 和广泛的 React 生态系统。
#### React 基础
useState, useEffect, useContext)#### Next.js 特性 (App Router)
app/ 目录下基于文件系统的路由route.ts 文件中的 API 端点 (GET, POST 等)#### Tailwind CSS
md:, lg:)tailwind.config.ts 进行自定义配置#### shadcn/ui
useState, useReducersrc/
├── app/
│ ├── layout.tsx # 根布局
│ ├── page.tsx # 首页
│ ├── globals.css # 全局样式
│ ├── (auth)/ # 路由组 (不影响 URL 路径)
│ │ ├── login/
│ │ │ └── page.tsx
│ │ └── register/
│ │ └── page.tsx
│ └── api/ # API 路由
├── components/
│ ├── ui/ # shadcn/ui 组件
│ │ ├── button.tsx
│ │ └── ...
│ ├── Navbar.tsx
│ └── Footer.tsx
├── lib/
│ ├── utils.ts # 工具函数 (cn 等)
│ └── db.ts # 数据库连接
└── hooks/ # 自定义 React hooks
└── use-toast.ts'use client' 指令。children 属性以避免属性钻取 (prop drilling)。next/image 进行自动优化。next/font 以防止布局偏移。next/dynamic 或 React.lazy。<main>, <article>, <nav>)。import { db } from "@/lib/db"
export default async function DashboardPage() {
const data = await db.user.findMany()
return (
<main className="p-6">
<h1 className="text-2xl font-bold">仪表板</h1>
<ul>
{data.map(user => (
<li key={user.id}>{user.name}</li>
))}
</ul>
</main>
)
}"use client"
import { useState } from "react"
import { Button } from "@/components/ui/button"
export function Counter() {
const [count, setCount] = useState(0)
return (
<div className="flex gap-4 items-center">
<span>计数: {count}</span>
<Button onClick={() => setCount(c => c + 1)}>增加</Button>
</div>
)
}~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.