Agent skill

Project

by lin-97 in lin-97/gi-demo

后台管理模板的项目总览与前端强制规范。涵盖 Vue 3 + Arco Design + Gi 组件库、目录结构、自动导入、CRUD/API 约定与代码风格。在当前仓库内开发、新增页面、查阅架构或不确定项目规范时使用。

Apache-2.0Auto-check: notesBackend & APIs

Install Project

skills CLI
$ npx skills add lin-97/gi-demo --skill project -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install lin-97/gi-demo project --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/lin-97/gi-demo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/project .claude/skills/project && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
project
GitHub stars
188
Token cost
~1.4k tokens
SKILL.md length
307 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
Apache-2.0

At a glance

后台管理模板的项目总览与前端强制规范。涵盖 Vue 3 + Arco Design + Gi 组件库、目录结构、自动导入、CRUD/API 约定与代码风格。在当前仓库内开发、新增页面、查阅架构或不确定项目规范时使用。

  • Works in 5 steps: GiPageLayout 布局(可选 #left 树/分类) → queryParams(reactive)+ 搜索区 +… → tableColumns(TableColumnData[],复杂列用… → …
  • Tasks that involve REST APIs
  • SKILL.md covers 通用要求, 本项目 Agent 约定, 技术栈 and 路径别名, plus 12 more sections
  • Calls pnpm

What it does

Project is an agent skill from lin-97/gi-demo. 后台管理模板的项目总览与前端强制规范。涵盖 Vue 3 + Arco Design + Gi 组件库、目录结构、自动导入、CRUD/API 约定与代码风格。在当前仓库内开发、新增页面、查阅架构或不确定项目规范时使用。

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering REST APIs. It works with Vue.js, Vite and pnpm. The repository describes itself as: A Vue3 Admin Template. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve REST APIs

Example prompts

  • “/project”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. GiPageLayout 布局(可选 #left 树/分类)
  2. queryParams(reactive)+ 搜索区 + GiButton(search/reset)
  3. tableColumns(TableColumnData[],复杂列用 lang="tsx" + render)
  4. useTable 绑定 listAPI 与 deleteAPI
  5. XxxFormModal ref,defineExpose({ add, edit }),@save-success="search"

What it can do on your machine

Read from SKILL.md and the folder at commit d1e310a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Project loads about 1.4k tokens when it runs. Until then it costs about 29 tokens; SKILL.md has 307 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~29
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:115
    - 开发环境 `VITE_API_PREFIX = '/mock'`(`.env.development`)

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from lin-97/gi-demo at commit d1e310a, republished under its Apache-2.0 licence (© lin-97). 307 words, ~1,406 tokens.

Download SKILL.mdSave it as .claude/skills/project/SKILL.md (or your agent's skills folder).
name
project
description
后台管理模板的项目总览与前端强制规范。涵盖 Vue 3 + Arco Design + Gi 组件库、目录结构、自动导入、CRUD/API 约定与代码风格。在当前仓库内开发、新增页面、查阅架构或不确定项目规范时使用。

项目开发指南

适用范围:本仓库 src/**、mock/**
规范来源:.agents/rules/(常驻)与本 skill(任务细节)

通用要求

详见 .agents/rules/agent-behavior.md;本项目补充见下文「本项目 Agent 约定」。

本项目 Agent 约定

  • 与用户沟通使用简体中文。
  • 优先复用 Gi*、hooks、getBaseApi、现有 mock 工具;新增页面/接口对齐参考页与 getBaseApi 约定。
  • API / Mock 以 src/apis、mock 与类型定义为准,不要猜测路径。
  • 涉及 CRUD、API、Mock 时按需读取 .agents/skills/ 对应 skill。
  • 改动后视情况运行 pnpm typecheck、pnpm lint、pnpm lint:style。

技术栈

类别选型
框架Vue 3.5 + TypeScript + <script setup lang="ts">
构建Vite 7
UIArco Design Vue(按需自动导入)+ 本地 Gi* 组件
状态Pinia + pinia-plugin-persistedstate
路由Vue Router 4(Hash 模式)
HTTP@/utils/http,统一响应类型 ApiRes<T>、PageRes<T>
工具@vueuse/core、lodash-es、dayjs、xe-utils
Mockvite-plugin-mock + mockjs(开发默认启用)

每个 SFC 必须 defineOptions({ name: 'XxxYyy' });通用 Vue 规范见 .agents/rules/vue.md,本项目约定见下文「本项目 Vue 约定」。

路径别名

  • @ → src/
  • ~ → 项目根目录

目录约定

src/
├── apis/          # 接口(按业务模块分文件,标准 CRUD 用 getBaseApi)
├── components/    # Gi* 业务组件 + 部分通用组件
├── hooks/         # 组合式函数(useTable、useDict 等)
├── hooks/app/     # 业务域 hooks(useDept、useRole)
├── stores/        # Pinia
├── views/         # 页面(按模块分子目录)
├── router/        # 路由与守卫
├── utils/         # http、auth、regexp、deepClone 等
├── types/         # 全局类型(global.d.ts、api.d.ts)
mock/              # vite-plugin-mock 模拟数据

页面文件命名:

src/views/{module}/index.vue           # 列表页
src/views/{module}/XxxFormModal.vue    # 新增/编辑弹窗(有表单时必建)
src/apis/{module}/{name}.ts            # 类型定义 + CRUD API(或 apis/system/user.ts)
mock/{module}/{name}.ts                # 与 API 路径一致的 Mock

全局类型(src/types/)

  • Status:'0' | '1'(禁用/启用,与字典 STATUS 一致)
  • Gender:'1' | '2' | '3'
  • Pagination:{ page, size }
  • ApiRes<T>、PageRes<T>:统一接口响应(分页 data 为 { records, total })

CRUD 列表页(强制遵循)

新建/修改表格页时,必须参考并遵循:

  • 参考实现:src/views/system/user/index.vue、UserFormModal.vue
  • Hook:@/hooks/useTable
  • API 模板:src/apis/system/user.ts + getBaseApi
  • 详细步骤:读取并遵循 crud-page

核心结构:

  1. GiPageLayout 布局(可选 #left 树/分类)
  2. queryParams(reactive)+ 搜索区 + GiButton(search/reset)
  3. tableColumns(TableColumnData[],复杂列用 lang="tsx" + render)
  4. useTable 绑定 listAPI 与 deleteAPI
  5. XxxFormModal ref,defineExpose({ add, edit }),@save-success="search"

分页类型:PageRes<T>(records + total)。Mock 与接口详见 api-mock。

API 层模板

typescript
import { getBaseApi } from '@/apis/base'
import http from '@/utils/http'

export interface ListItem {
  id: string
  name: string
  status: Status
}

/** 标准 CRUD */
export const baseAPI = getBaseApi<ListItem>({ baseUrl: '/system/xxx' })

/** 非标准接口 */
export function customAction(params: Pagination) {
  return http.get<PageRes<Item[]>>('/system/xxx/customAction', params)
}
  • 开发环境 VITE_API_PREFIX = '/mock'(.env.development)
  • 禁止绕过 @/utils/http 裸用 axios

代码风格

  • 遵循 @antfu/eslint-config(eslint.config.js):箭头参数括号、1TBS、无尾随逗号;Vue block 顺序 [['script', 'template'], 'style'];宏顺序 defineOptions/defineModel/defineProps/defineEmits/defineSlots,defineExpose 最后。
  • 布局放 src/layout/,Gi 组件放 src/components/Gi*,业务 Hook 放 hooks/ 或 hooks/app/。
  • 空字符串查询条件传 API 前建议转为 undefined。
  • 通用规范见 .agents/rules/coding-standards.md、vue.md、css.md;本项目补充见下文。

本项目编码约定

  • 路径别名:@ → src/,~ → 项目根;禁止 ../../../ 穿越。
  • 组件全局前缀 Gi 仅用于 src/components/Gi* 全局组件。
  • 目录:src/views 页面、src/components 组件、src/apis/<domain>/ + type.ts 接口类型、src/types 公共类型、src/hooks composables。
  • API 统一 @/utils/http;状态 Pinia + pinia-plugin-persistedstate。
  • 图标 @iconify/vue;样式从 scss/less 导入,避免内联。
  • 业务注释中文,标识符英文。
  • 检查:pnpm lint、pnpm lint:style、pnpm typecheck。

本项目 Vue 约定

  • 每个 SFC 必须 defineOptions({ name: 'XxxYyy' }),名称与路由/模块对应,并与路由表 name 一致以支持缓存。
  • 自动导入(vite.config.ts,勿重复 import):
    • Vue API:ref、reactive、computed、watch、useTemplateRef 等
    • Gi 组件:src/components/Gi*(如 GiPageLayout、GiButton、GiForm)
    • Arco 组件:a-table、a-modal、a-select 等
    • 图标:icon-*(Iconify icon-park-outline)
  • Gi 组件模板用 PascalCase;Arco 用 a-* 前缀;禁止手动 import Gi/Arco(类型除外)。
  • 表格列复杂时用 lang="tsx" + TableColumnData[] 的 render;字典字段用 useDict(['STATUS']) 等。
  • dayjs 默认导入变量名必须为 Dayjs(大写),禁止小写 dayjs。
  • 深拷贝使用 @/utils 的 deepClone,禁止 JSON.parse(JSON.stringify())。
  • Vue 参考页:src/views/system/user/index.vue、UserFormModal.vue、src/views/table/custom3/index.vue

本项目样式

  • 全局样式:src/styles/index.scss(变量 var.scss、混入 mixin.scss、Arco 主题 arco-ui/)
  • Stylelint:pnpm lint:style
  • 列表页常用工具类:g-row-tool(工具栏行)、g-table(表格)、g-full-column(左栏撑满)、g-mb(下边距)
  • BEM 示例:src/views/login/LoginLeft.vue

子技能(按需阅读)

场景技能
新建 CRUD 列表页、表格、弹窗表单crud-page
新增接口、Mock、baseAPIapi-mock

参考页面

  • 标准 CRUD + 左树:src/views/system/user/index.vue
  • 左右分栏 + 字典:src/views/system/dict/index.vue
  • GiTableSetting + a-table:src/views/table/custom3/index.vue
  • 表单弹窗:src/views/system/user/UserFormModal.vue

通用 Agent / 编码规范见 .agents/rules/;本项目参考页见上文。

开发命令

bash
pnpm dev          # 开发(Mock 已启用)
pnpm build        # 构建
pnpm typecheck    # 类型检查
pnpm lint         # ESLint
pnpm lint:style   # Stylelint

禁止事项

  • ❌ 绕过 @/utils/http 直接裸用 axios
  • ❌ 表格页自行实现分页/删除逻辑,而不使用 useTable
  • ❌ 新建列表页不参考 system/user 与 crud-page 约定

© lin-97, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/project of lin-97/gi-demo.

Open the folder on GitHubat commit d1e310a

Compare with similar skills

Project next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Project compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Project this skilllin-97/gi-demo188—~1.4kAutomated safety check: NotesApache-2.0
Bun Webview Testpa001024/dna-builder134—~1.2kAutomated safety check: PassMIT
Devinggo Project Inithuagelong/devinggo122—~1.1kAutomated safety check: NotesApache-2.0
Vuetify Playgroundvuetifyjs/vuetify41k—~730Automated safety check: PassCustom licence
Databuddydatabuddy-analytics/Databuddy1.2k—~2.1kAutomated safety check: PassAGPL-3.0
Medialibrary Developmentgdarko/laravel-vue-starter1453 repos~880Automated safety check: PassMIT

Similar skills

  • Bun Webview Test

    pa001024/dna-builder

    使用 Bun 1.4 内置的 Bun.WebView 无头浏览器对前端页面(Vue/Vite 等)做端到端冒烟与交互测试。当需要加载页面、真实点击、读取 DOM/应用状态、做断言、截图归档,或对本地开发服务器/静态站点做零依赖的浏览器级验证、可视化巡检、交互回归测试时,应使用本技能。

    134 GitHub stars~1.2k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Devinggo Project Init

    huagelong/devinggo

    DevingGo 项目初始化与本地开发环境配置流程。用于用户询问项目初始化、开发环境搭建、依赖检查、配置文件生成、数据库迁移、本地启动后端/前端/Worker 服务、或希望 AI 大模型一步步把 DevingGo 跑起来时。适用于基于本项目 CLI、Makefile、manifest/config、hack/config、admin-ui 前端工作区的初始化排障与启动验证。

    122 GitHub stars~1.1k tokensUpdated 3 mo ago
    DatabasesAuto-check: notes
  • Vuetify Playground

    vuetifyjs/vuetify

    Maintains the Vuetify repo's local Playground.vue so contributors get a realistic reproduction and a short demo they can paste into a pull request description.

    41k GitHub stars~730 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Databuddy

    databuddy-analytics/Databuddy

    Integrate Databuddy analytics using the SDK, REST API, or MCP.

    1.2k GitHub stars~2.1k tokensUpdated today
    Backend & APIsAuto-check passed
  • Medialibrary Development

    gdarko/laravel-vue-starter

    Build and work with spatie/laravel-medialibrary features including associating files with Eloquent models, defining media collections and conversions, generating responsive images, and retrieving…

    145 GitHub starsUsed in 3 repos~880 tokens
    Backend & APIsAuto-check passed
  • Wayfinder Development

    slimani-dev/muraqib

    A skill your agent uses for Laravel Wayfinder which auto-generates typed functions for Laravel controllers and routes.

    128 GitHub starsUsed in 1 repo~622 tokens
    Backend & APIsAuto-check passed

More from lin-97/gi-demo

  • API Mock

    lin-97/gi-demo

    在本模板项目中新增或修改 API 接口、类型定义与 vite-plugin-mock 模拟数据。涉及 getBaseApi、http、baseAPI、mock 目录、分页响应格式时使用。

    188 GitHub stars~824 tokensUpdated 3 mo ago
    Auto-check: notes
  • Crud Page

    lin-97/gi-demo

    在本模板项目中创建或修改 CRUD 列表页、表格列、搜索区、表单弹窗。使用 GiPageLayout、useTable、GiButton、a-table、GiForm、useDict 时加载本技能。

    188 GitHub stars~1.3k tokensUpdated 3 mo ago
    Auto-check passed

Works with

Categories

Questions about Project

What does Project do?

后台管理模板的项目总览与前端强制规范。涵盖 Vue 3 + Arco Design + Gi 组件库、目录结构、自动导入、CRUD/API 约定与代码风格。在当前仓库内开发、新增页面、查阅架构或不确定项目规范时使用。. Project is an agent skill from lin-97/gi-demo.

When should I use Project?

Project fits situations like: tasks that involve REST APIs.

How do I install Project in Claude Code?

Run `npx skills add lin-97/gi-demo --skill project -a claude-code`. Or copy the skill folder (.agents/skills/project in lin-97/gi-demo) into .claude/skills/project in your project. Claude Code loads it when a task matches its description.

How do I install Project in Codex?

Run `npx skills add lin-97/gi-demo --skill project -a codex`. Or copy the skill folder (.agents/skills/project in lin-97/gi-demo) into .agents/skills/project in your project. Codex loads it when a task matches its description.

Can I use Project in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add lin-97/gi-demo --skill project -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/project, .gemini/skills/project, .github/skills/project and .opencode/skills/project in your project.

What does Project need to run?

Going by SKILL.md and its folder, Project needs the command-line tools its instructions call (pnpm).

Does Project access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Project safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Project use?

Project is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Project use?

About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Project?

Skills that share tags, products or a category with Project: Bun Webview Test (pa001024/dna-builder, 134 stars), Devinggo Project Init (huagelong/devinggo, 122 stars), Vuetify Playground (vuetifyjs/vuetify, 41k stars) and Databuddy (databuddy-analytics/Databuddy, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Project?

lin-97 (a GitHub user) maintains it in lin-97/gi-demo, which has 188 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on June 12, 2026.

Source: lin-97/gi-demo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.