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.
curl -O https://raw.githubusercontent.com/JaguarJack/catch-admin/v5/.claude/skills/03-model/SKILL.mdgit clone --depth 1 https://github.com/JaguarJack/catch-adminWrote 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.
[](https://agentmods.dev/skills/jaguarjack/catch-admin/03-model)<a href="https://agentmods.dev/skills/jaguarjack/catch-admin/03-model"><img src="https://agentmods.dev/badge/skills/jaguarjack/catch-admin/03-model/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.
<a href="https://agentmods.dev/skills/jaguarjack/catch-admin/03-model"><img src="https://agentmods.dev/badge/skills/jaguarjack/catch-admin/03-model.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00016 | $0.02084 |
| Opus 5.5 | $0.00006 | $0.00834 |
| Sonnet 5.5 | $0.00003 | $0.00417 |
| Haiku 4.5 | $0.00002 | $0.00208 |
Grade A, and why
model 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 2mo 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.
How it starts
The opening of the file, as written. The whole thing — 406 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Step 3: Generate Model
创建 Eloquent 模型,继承 Catch\Base\CatchModel。
File Location
modules/{Module}/Models/{Model}.php
Complete Template
<?php
namespace Modules\{Module}\Models;
use Catch\Base\CatchModel as Model;
use Catch\Enums\Status;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
class {Model} extends Model
{
protected $table = '{table}';
protected $fillable = [
'id',
// business fields
'creator_id',
'created_at',
'updated_at',
'deleted_at',
];
/**
* 搜索字段配置
* Operators: like, =, in, between
*/
public array $searchable = [
'name' => 'like',
'status' => '=',
'category_id' => '=',
];
/**
* 列表查询字段
*/
protected array $fields = [
'id', 'name', 'status', 'created_at'
];
/**
* 表单提交字段
*/
protected array $form = [
'name', 'status'
];
/**
* 表单关联同步 (多对多)
*/
protected array $formRelations = ['roles', 'tags'];
/**
* 排序字段
*/
protected string $sortField = 'sort';
/**
* 降序排序
*/
protected bool $sortDesc = true;
/**
* 树形结构 (parent_id)
*/
protected string $parentIdColumn = 'parent_id';
/**
* 是否返回树形结构
*/
protected bool $asTree = false;
// Relationships
public function category(): BelongsTo
{
return $this->belongsTo(Category::class, 'category_id');
}
}
CatchModel 核心属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
$fillable |
array | [] | 可填充字段 |
$searchable |
array | [] | 搜索字段及操作符 |
$fields |
array | ['*'] | 列表查询字段 |
$form |
array | [] | 表单提交字段 |
$formRelations |
array | [] | 表单关联同步 |
$sortField |
string | '' | 排序字段 |
$sortDesc |
bool | true | 是否降序 |
$parentIdColumn |
string | 'parent_id' | 父级字段 |
$asTree |
bool | false | 返回树形结构 |
$isPaginate |
bool | true | 是否分页 |
$dataRange |
bool | false | 数据权限 |
$isFillCreatorId |
bool | true | 自动填充创建人 |
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.
- 2mo ago First seen · 406 lines · 16 tokens per session scan A d77ebee50ebf
model is a skill published in the GitHub repository JaguarJack/catch-admin (940 stars, last pushed 10d ago), licensed Apache-2.0. It adds 16 tokens to every session and 2,084 once invoked, about $0.0001 per session on Opus 5.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.
model compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| modelJaguarJack/catch-admin | Skill | 940 | 10d ago | Apache-2.0 | A | 16 | Claude Code |
| owl-admin-app-devslowlyo/owl-admin | Skill | 620 | 3d ago | MIT | A | 114 | Claude Code, Codex |
| owl-admin-devtools-generatorslowlyo/owl-admin | Skill | 620 | 3d ago | MIT | A | 82 | Claude Code, Codex |
| owl-admin-ops-commandsslowlyo/owl-admin | Skill | 620 | 3d ago | MIT | A | 71 | Claude Code, Codex |
| owl-admin-extension-moduleslowlyo/owl-admin | Skill | 620 | 3d ago | MIT | A | 75 | Claude Code, Codex |
| owl-admin-frontend-assetsslowlyo/owl-admin | Skill | 620 | 3d ago | MIT | A | 80 | Claude Code, Codex |
| owl-admin-amis-pageslowlyo/owl-admin | Skill | 620 | 3d ago | MIT | A | 84 | Claude Code, Codex |