catch-admin: Skill for Claude Code

.claude/skills/09-vue-pages/SKILL.md

vue-pages is a skill for Claude Code from JaguarJack/catch-admin. It costs 19 tokens per session (3,264 once invoked), scanned A, original, Apache-2.0.

A Vue page generator for CatchAdmin modules, using a reusable table component to display and manage records. Vue is a JavaScript framework for building interactive web pages.

In plain words
What is it for?
Use it to create a module's list page and create form. It helps connect the page to an API and configure table columns, search fields, buttons, pagination, and record actions.
Why use it?
It avoids building list and form screens from scratch and provides settings for searching, paging, importing, exporting, permissions, and a recycle bin.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

This is JaguarJack/catch-admin's own configuration. It tells Claude Code how to work on catch-admin itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything catch-admin configures →

Reuse

Borrowing it

Nothing to install: this file belongs to JaguarJack/catch-admin. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/JaguarJack/catch-admin/v5/.claude/skills/09-vue-pages/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/JaguarJack/catch-admin

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for vue-pages

README.md
[![agentmods](https://agentmods.dev/badge/skills/jaguarjack/catch-admin/09-vue-pages/github.svg)](https://agentmods.dev/skills/jaguarjack/catch-admin/09-vue-pages)
Your own site
<a href="https://agentmods.dev/skills/jaguarjack/catch-admin/09-vue-pages"><img src="https://agentmods.dev/badge/skills/jaguarjack/catch-admin/09-vue-pages/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for vue-pages

Your own site · 80×15
<a href="https://agentmods.dev/skills/jaguarjack/catch-admin/09-vue-pages"><img src="https://agentmods.dev/badge/skills/jaguarjack/catch-admin/09-vue-pages.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 19 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,264 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00019 $0.03264
Opus 5 $0.00010 $0.01632
Sonnet 5 $0.00004 $0.00653
Haiku 4.5 $0.00002 $0.00326

Measured 9d ago against content hash cc7685923ca5, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

vue-pages scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/09-vue-pages/SKILL.md · 451 lines

How it starts

The opening of the file, as written. The whole thing — 451 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Step 9: Generate Vue Pages

创建前端页面,使用 catch-table 组件。

File Locations

web/src/views/{module}/
├── index.vue    # List page
└── create.vue   # Form component

catch-table 完整 Props

Prop 类型 默认值 说明
api string null API 接口路径
columns Column[] [] 表格列配置
search-form SItem[] [] 搜索表单配置
permission string null 权限前缀
height string/number 'auto' 表格高度
border boolean true 是否显示边框
size string 'default' 尺寸: large/default/small
row-key string '' 行数据 Key (树形必填)
empty-text string '暂无数据' 空数据文本
pagination boolean true 是否显示分页
limit number 10 每页数量
limits number[] [10,20,30,40,50] 可选每页数量
operation boolean true 是否显示新增按钮
show-tools boolean true 是否显示工具栏
show-header boolean true 是否显示表头工具
exports boolean false 是否显示导出
export-url string '' 导出接口
import-url string '' 导入接口
trash boolean false 是否启用回收站
multi-del-show boolean true 是否显示批量删除
primary-name string 'id' 主键字段名
default-params object {} 默认查询参数
destroy-confirm string '确定删除吗' 删除确认文本
dialog-width string '' 弹窗宽度
dialog-height string '' 弹窗高度
searchable boolean true 是否显示搜索

Column 配置详解

interface Column {
  // 基础配置
  type?: 'selection' | 'expand' | 'index' | 'operate'
  label?: string           // 列标题
  prop?: string            // 字段名 (支持 'category.name' 嵌套)
  width?: number | string  // 列宽
  'min-width'?: number     // 最小宽度
  align?: string           // 对齐: left/center/right
  fixed?: 'left' | 'right' // 固定列
  
  // 显示控制
  show?: boolean           // 是否显示 (默认 true)
  sortable?: boolean       // 是否可排序
  
  // 特殊列类型
  slot?: string            // 自定义插槽名
  header?: string          // 自定义表头插槽
  ellipsis?: boolean | number  // 文本溢出 (true=20字符)
  switch?: boolean         // 状态开关
  switchRefresh?: Function // 开关后回调
  image?: boolean          // 图片显示
  preview?: boolean        // 图片预览 (默认 false)
  link?: boolean           // 链接
  link_text?: string       // 链接文本
  route?: string           // Vue 路由 (支持 :id 参数)
  tags?: boolean | number[]  // 标签显示
  mask?: boolean           // 脱敏显示 (****)
  filter?: Function        // 数据过滤函数
  class?: string           // 自定义 CSS 类
  
  // 操作列配置 (type='operate')
  update?: boolean         // 显示编辑按钮 (默认 true)
  destroy?: boolean        // 显示删除按钮 (默认 true)
  
  // 多级表头
  children?: Column[]      // 子列配置
}

Read the full file on GitHub · 451 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 451 lines · 19 tokens per session scan A cc7685923ca5

Subscribe to this mod's changes

vue-pages is a skill published in the GitHub repository JaguarJack/catch-admin (930 stars, last pushed 9d ago), licensed Apache-2.0. It adds 19 tokens to every session and 3,264 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

owl-admin-amis-page

A reference skill for building Owl Admin pages with amis, a system for defining admin interfaces such as forms, tables, filters, and actions through schemas.

slowlyo/owl-admin · 84 tokens

owl-admin-frontend-assets

A development guide for the browser-side files and published assets used by Owl Admin, a Laravel-based administration system. It covers admin views, themes, layouts, React work, and asset publishing.

slowlyo/owl-admin · 80 tokens

vue-component-development

Activate when creating or modifying Vue 3 components, pages, layouts, stores, or services in the frontend. Covers component patterns, DaisyUI usage, icon system, toast notifications, drawer patterns, form handling, and the SPA routing/auth flow. Use when working in resources/app/.

gdarko/laravel-vue-starter · 60 tokens

spa-auth-development

Activate when working on SPA authentication flow, Sanctum cookie-based auth, Vue Router guards, auth store, login/register/password reset pages, or CORS/session configuration. Covers the full auth lifecycle from CSRF cookie to protected API calls.

gdarko/laravel-vue-starter · 51 tokens

v3-create-crud

A page generator for standard create, read, update, and delete screens, commonly called CRUD screens. It uses Element Plus, a Vue user-interface library, to build tables, searches, pagination, forms, and delete confirmations.

un-pany/v3-admin-vite · 108 tokens

v3-upsert-store

A workflow for creating or updating Pinia stores, which are shared state modules in Vue applications. It requires the store name, state fields, types, initial values, persistence choices, and actions.

un-pany/v3-admin-vite · 83 tokens