Install any skill in seconds. Free to start, no credit card required.
Get Started Free →- 修改后台管理页表格外框、表头、列对齐或通用表格容器样式时使用。
.claude/skills/ai-shifu-admin-table-visual-system/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 118% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -9% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 10% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 8% | 0% |
src/app/admin/components/AdminTableShell.tsx 和 src/app/admin/components/adminTableStyles.ts,不要在单个页面重复写表格外框、表头 token 和 sticky 列样式。--base-border,表头背景统一使用 --base-muted,表头文字统一使用 --base-foreground 与 text-sm/medium/20px line-height token。40px、最小宽度为 85px、左右内边距为 8px、文字左对齐;不要为了模拟设计稿额外添加拖拽列或 checkbox 选择列。53px、最小宽度为 85px、内边距为 8px、文字左对齐、垂直居中,并使用 --base-foreground 与 text-sm/normal/20px line-height token;不要在 td 上强制 flex,避免破坏表格列布局。border-r、text-center 应由共享表格样式覆盖,避免逐页重复清理。16px,避免表格左边缘过挤;整行 hover 背景必须覆盖 sticky 操作列,不要让固定列保持白底。AdminTooltipText 暴露完整文本;多行信息单元格需要分别给各行补 tooltip,避免只处理外层单元格导致具体文本仍不可见。AdminTableShell,标题区域用 header 配置,统计范围说明用 footnote 配置,分页用 pagination 配置;需要 loading 时仍展示分页和说明时传入 showFooterWhenLoading。header;课程总数和统计范围说明合并到同一条 footnote 中,优先使用“课程数:{count}(统计范围说明...)”这类单行文案。h-dvh 搭配 overflow-hidden,垂直滚动交给右侧主内容容器或明确的表格滚动容器,避免页面滚动和内容滚动同时出现导致底部大块空白。getAdminStickyRightHeaderClass,单元格使用 getAdminStickyRightCellClass,不要只把操作列放在最后但随横向滚动移出视口。AdminTableShell 的 pagination 配置统一渲染在表格底部右侧;除非产品明确要求隐藏,否则单页也展示分页器,不要在页面里用 pageCount > 1 或 hideWhenSinglePage 隐藏。AdminPagination 包装层处理最后一个分页按钮的右侧内边距,不要在单个页面里用 margin 偏移。36px 宽高、8px 16px padding 和 8px gap;优先改共享 PaginationLink 的 icon 尺寸,不要在单个 admin 页面覆盖页码按钮。ghost 按钮默认 hover 底色形成块状高亮。ADMIN_TABLE_RESIZE_HANDLE_CLASS 作为交互热区,视觉分隔仍由共享表头与边框样式控制。npm run type-check,无法运行时在最终说明中明确原因。| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 21,326 | 6,405 | -70% | 1 | 1 | 0% | 4,607 | 1,424 | -69% | 0 | 0 | — |
case-02 | fail→pass | 11,952 | 18,554 | +55% | 1 | 1 | 0% | 2,345 | 5,108 | +118% | 0 | 0 | — |
case-03 | fail→fail | 16,309 | 7,291 | -55% | 1 | 1 | 0% | 3,218 | 1,598 | -50% | 0 | 0 | — |
case-04 | fail→pass | 10,098 | 3,952 | -61% | 1 | 1 | 0% | 1,766 | 1,882 | +7% | 0 | 0 | — |
case-05 | fail→pass | 14,525 | 5,486 | -62% | 1 | 1 | 0% | 2,443 | 2,213 | -9% | 0 | 0 | — |
case-06 | fail→pass | 10,539 | 3,978 | -62% | 1 | 1 | 0% | 1,736 | 1,907 | +10% | 0 | 0 | — |
case-07 | fail→pass | 13,914 | 7,748 | -44% | 1 | 1 | 0% | 2,240 | 2,421 | +8% | 0 | 0 | — |
case-08 | fail→pass | 9,953 | 9,017 | -9% | 1 | 1 | 0% | 1,804 | 2,758 | +53% | 0 | 0 | — |
case-09 | fail→pass | 13,688 | 10,678 | -22% | 1 | 1 | 0% | 2,296 | 3,172 | +38% | 0 | 0 | — |
case-10 | fail→pass | 12,052 | 4,893 | -59% | 1 | 1 | 0% | 2,030 | 1,942 | -4% | 0 | 0 | — |
case-11 | pass→pass | 13,267 | 5,399 | -59% | 1 | 1 | 0% | 2,007 | 2,092 | +4% | 0 | 0 | — |
case-12 | fail→pass | 16,074 | 6,453 | -60% | 1 | 1 | 0% | 2,522 | 2,223 | -12% | 0 | 0 | — |
case-13 | fail→pass | 14,297 | 7,054 | -51% | 1 | 1 | 0% | 2,198 | 2,470 | +12% | 0 | 0 | — |
case-14 | fail→pass | 15,226 | 5,459 | -64% | 1 | 1 | 0% | 2,312 | 2,128 | -8% | 0 | 0 | — |
case-15 | fail→pass | 11,314 | 6,251 | -45% | 1 | 1 | 0% | 1,821 | 2,232 | +23% | 0 | 0 | — |
case-16 | fail→pass | 13,634 | 3,782 | -72% | 1 | 1 | 0% | 2,372 | 1,889 | -20% | 0 | 0 | — |
case-17 | fail→pass | 16,373 | 4,697 | -71% | 1 | 1 | 0% | 2,591 | 2,013 | -22% | 0 | 0 | — |
case-18 | pass→pass | 9,381 | 2,940 | -69% | 1 | 1 | 0% | 1,462 | 1,629 | +11% | 0 | 0 | — |
case-19 | fail→pass | 13,469 | 3,141 | -77% | 1 | 1 | 0% | 2,355 | 1,745 | -26% | 0 | 0 | — |
case-20 | pass→pass | 13,008 | 12,972 | -0% | 1 | 1 | 0% | 2,693 | 4,054 | +51% | 0 | 0 | — |
case-21 | pass→pass | 10,968 | 10,883 | -1% | 1 | 1 | 0% | 2,209 | 3,351 | +52% | 0 | 0 | — |
case-22 | pass→pass | 16,773 | 18,697 | +11% | 1 | 1 | 0% | 3,400 | 4,221 | +24% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 20 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +68 percentage points is the difference between those two pass rates over the 20 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.