Agent Skills › trycompai/comp › audit-hooks

audit-hooks

GitHub

审计并修复前端代码中的 Hook 和 API 使用违规,将 server actions、raw fetch 等旧模式替换为 SWR 和 apiClient,确保数据获取与缓存失效合规。

.agents/skills/audit-hooks/SKILL.md trycompai/comp

Trigger Scenarios

代码审查发现 hook 或 API 使用不规范 需要重构客户端数据获取和突变逻辑

Install

npx skills add trycompai/comp --skill audit-hooks -g -y
More Options

Non-standard path

npx skills add https://github.com/trycompai/comp/tree/main/.agents/skills/audit-hooks -g -y

Use without installing

npx skills use trycompai/comp@audit-hooks

指定 Agent (Claude Code)

npx skills add trycompai/comp --skill audit-hooks -a claude-code -g -y

安装 repo 全部 skill

npx skills add trycompai/comp --all -g -y

预览 repo 内 skill

npx skills add trycompai/comp --list

SKILL.md

Frontmatter
{
    "name": "audit-hooks",
    "description": "Audit & fix hooks and API usage patterns — eliminate server actions, raw fetch, and stale patterns"
}

Audit the specified files for hook and API usage compliance. Fix every issue found immediately.

Forbidden Patterns (fix immediately)

  1. useAction from next-safe-action → replace with SWR hook or custom mutation hook
  2. Server actions mutating via @db → delete and use API hook instead
  3. Direct @db in client components → replace with apiClient via hook
  4. Direct @db in Next.js pages for mutations → replace with serverApi
  5. Raw fetch() without credentials: 'include' → use apiClient
  6. window.location.reload() after mutations → use SWR mutate()
  7. router.refresh() after mutations → use SWR mutate()
  8. useEffect + apiClient.get for data fetching → replace with useSWR
  9. Callback props for data refresh (onXxxAdded, onSuccess) → remove, rely on SWR cache sharing

Required Patterns

  • Client data fetching: useSWR with apiClient or custom hook
  • Client mutations: custom hooks wrapping apiClient with mutate() for cache invalidation
  • Server components: serverApi from apps/app/src/lib/api-server.ts
  • SWR: fallbackData for SSR data, revalidateOnMount: !initialData
  • API response: lists = response.data.data, single = response.data
  • mutate() safety: guard against undefined in optimistic update functions
  • Array.isArray() checks: when consuming SWR data that could be stale

Process

  1. Read files specified in $ARGUMENTS
  2. Find forbidden patterns and fix them
  3. Ensure all data fetching uses SWR hooks
  4. Run typecheck to verify: bunx turbo run typecheck --filter=@trycompai/app

Version History

  • 0ccfcc2 Current 2026-09-27 10:22

Same Skill Collection

.agents/skills/audit-design-system/SKILL.md
.agents/skills/audit-rbac/SKILL.md
.agents/skills/audit-tests/SKILL.md
.agents/skills/better-auth-best-practices/SKILL.md
.agents/skills/billing/SKILL.md
.agents/skills/code/SKILL.md
.agents/skills/cursor-usage/SKILL.md
.agents/skills/data/SKILL.md
.agents/skills/diagnose-generation-failure/SKILL.md
.agents/skills/forms/SKILL.md
.agents/skills/generate-mcp-server/SKILL.md
.agents/skills/infra/SKILL.md
.agents/skills/manage-openapi-overlays/SKILL.md
.agents/skills/new-feature-setup/SKILL.md
.agents/skills/production-readiness/SKILL.md
.agents/skills/prompt-engineering/SKILL.md
.agents/skills/speakeasy-context/SKILL.md
.agents/skills/stale-worktree-cleanup/SKILL.md
.agents/skills/trigger-advanced-tasks/SKILL.md
.agents/skills/trigger-basic/SKILL.md
.agents/skills/trigger-config/SKILL.md
.agents/skills/trigger-realtime/SKILL.md
.agents/skills/ui/SKILL.md
.claude/skills/api-endpoint-contract/SKILL.md
.claude/skills/audit-design-system/SKILL.md
.claude/skills/audit-hooks/SKILL.md
.claude/skills/audit-rbac/SKILL.md
.claude/skills/audit-tests/SKILL.md
.claude/skills/check-results-service/SKILL.md
.claude/skills/cleanup/SKILL.md
.claude/skills/code/SKILL.md
.claude/skills/cursor-usage/SKILL.md
.claude/skills/data/SKILL.md
.claude/skills/forms/SKILL.md
.claude/skills/infra/SKILL.md
.claude/skills/new-feature-setup/SKILL.md
.claude/skills/production-readiness/SKILL.md
.claude/skills/prompt-engineering/SKILL.md
.claude/skills/security-review/SKILL.md
.claude/skills/stale-worktree-cleanup/SKILL.md
.claude/skills/trigger-advanced-tasks/SKILL.md
.claude/skills/trigger-basic/SKILL.md
.claude/skills/trigger-config/SKILL.md
.claude/skills/trigger-realtime/SKILL.md
.claude/skills/ui/SKILL.md
.agents/skills/essentials/SKILL.md
.agents/skills/prisma/SKILL.md
.agents/skills/trigger-scheduled-tasks/SKILL.md
.claude/skills/essentials/SKILL.md

Metadata

Files
0
Version
0ccfcc2
Hash
198416e8
Indexed
2026-09-27 10:22

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-28 00:18
浙ICP备14020137号-1