一键导入
build-fix
Run the build and intelligently fix TypeScript errors with guardrails. Stops if fixes introduce more errors or the same error persists after 3 attempts.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Run the build and intelligently fix TypeScript errors with guardrails. Stops if fixes introduce more errors or the same error persists after 3 attempts.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Scaffold a new dashboard chart component with registry, types, and proper theme integration.
Create a new customizable dashboard with its own chart registry, provider, and page. Use when adding dashboards like DRep or SPO dashboard.
Context window conservation rules. Invoke when approaching context limits or before large tasks.
Deep reflection on the skill learning system itself. Analyzes what's working, what's stale, and proposes structural improvements. The meta-skill.
End-of-session automation. Creates a journey and evolves skills based on session learnings.
Security and quality review of uncommitted changes. Checks for vulnerabilities, code smells, and best practice violations. Use before committing.
| name | build-fix |
| updated | "2026-02-20T00:00:00.000Z" |
| description | Run the build and intelligently fix TypeScript errors with guardrails. Stops if fixes introduce more errors or the same error persists after 3 attempts. |
| disable-model-invocation | true |
| allowed-tools | Bash, Read, Edit, Grep, Glob, TodoWrite |
Run the Next.js build, parse errors, and fix them incrementally with smart guardrails.
npm run build 2>&1
If build succeeds, report success and exit. Otherwise continue.
Parse TypeScript errors from build output. Group by file and sort by dependency order:
types/*.ts) first — fixing these often resolves downstream errorslib/*.ts, utils/*.ts) secondstore/*.ts, services/*.ts) thirdcomponents/**/*.tsx) fourthpages/**/*.tsx) lastCommon error patterns:
Type 'X' is not assignable to type 'Y'Property 'X' does not exist on type 'Y'Cannot find module 'X'Argument of type 'X' is not assignable to parameter of type 'Y'Object is possibly 'undefined'Use TodoWrite to track each error group (by file):
- Fix 3 type errors in src/types/governance.ts
- Fix 1 missing property in src/store/governanceSlice.ts
- Fix 2 import errors in src/pages/dashboard.tsx
For each error, follow this cycle:
| Guardrail | Condition | Action |
|---|---|---|
| Error loop | Same error in same file after 3 fix attempts | STOP. Report the error and suggest manual review. |
| Error explosion | Re-build shows MORE errors than before | REVERT last edit. Report what happened. |
| Architectural change needed | Fix requires changing interfaces used by 5+ files | STOP. Report as architectural issue needing manual decision. |
| Missing dependency | Error requires installing a new package | STOP. Report the missing package, do not auto-install. |
| 20 error limit | More than 20 individual errors | Fix the first 20, then re-build to see if downstream errors resolve. |
After fixing all parsed errors (or hitting a guardrail), re-run:
npm run build 2>&1
BUILD FIX REPORT
═══════════════════════════
Result: [SUCCESS / PARTIAL / BLOCKED]
Errors fixed: X
Files modified: Y
Build cycles: Z
═══════════════════════════
Fixed:
- src/types/governance.ts:42 — Added missing property 'votingPower'
- src/components/Foo.tsx:18 — Added null check for optional data
Remaining (if any):
- src/store/slice.ts:100 — Architectural: interface change affects 8 files
- src/pages/bar.tsx:5 — Missing dependency: @types/foo
Warnings (pre-existing, expected):
- [drepId].tsx uses <img> instead of <Image />
- / page data exceeds 128 kB threshold
// Before
const value = data.property;
// After
const value = data?.property;
// Check if the type definition needs updating, not the usage
// Prefer widening the type to adding `as X` casts
// Always use @/ path alias
import { Component } from "@/components/Component";
// Recharts data arrays need this
interface ChartData {
name: string;
value: number;
[key: string]: string | number; // Required for Recharts
}
@ts-ignore or as any as a fix — these hide real problemsnpm run lint as well