uniapp-vue3-template: Skill for Claude Code

.agents/skills/uview-plus/SKILL.md

uview-plus is a skill for Claude Code, Codex from oyjt/uniapp-vue3-template. It costs 117 tokens per session (1,703 once invoked), scanned A, a copy of uview-plus, MIT.

Guidance for using the uview-plus component library in uni-app and Vue 3 projects. A component library is a collection of ready-made interface elements such as buttons, forms and icons.

In plain words
What is it for?
Adding or upgrading uview-plus, building pages with its components, configuring automatic component loading, and troubleshooting component or theme problems.
Why use it?
It helps avoid components that do not render, have missing styles, use invalid properties or show blank icons. It also explains differences between web, mini-program and app targets.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: installed under .agents/ (shared by several agents).

This is oyjt/uniapp-vue3-template's own configuration. It tells Claude Code and Codex how to work on uniapp-vue3-template 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 uniapp-vue3-template configures →

Reuse

Borrowing it

Nothing to install: this file belongs to oyjt/uniapp-vue3-template. 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/oyjt/uniapp-vue3-template/main/.agents/skills/uview-plus/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/oyjt/uniapp-vue3-template

Made for: Claude Code, Codex.

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 uview-plus

README.md
[![agentmods](https://agentmods.dev/badge/skills/oyjt/uniapp-vue3-template/uview-plus/github.svg)](https://agentmods.dev/skills/oyjt/uniapp-vue3-template/uview-plus)
Your own site
<a href="https://agentmods.dev/skills/oyjt/uniapp-vue3-template/uview-plus"><img src="https://agentmods.dev/badge/skills/oyjt/uniapp-vue3-template/uview-plus/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 uview-plus

Your own site · 80×15
<a href="https://agentmods.dev/skills/oyjt/uniapp-vue3-template/uview-plus"><img src="https://agentmods.dev/badge/skills/oyjt/uniapp-vue3-template/uview-plus.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 117 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,703 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.
Origin 100% copy Near-identical to another mod 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.00117 $0.01703
Opus 5.5 $0.00047 $0.00681
Sonnet 5.5 $0.00023 $0.00341
Haiku 4.5 $0.00012 $0.00170

Measured 10d ago against content hash 7653a2abd6b9, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

uview-plus 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 10d 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.

Origin

This is a copy

100% identical to uview-plus — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

.agents/skills/uview-plus/SKILL.md · 96 lines

How it starts

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

uview-plus

uni-app 生态的 Vue3 组件库(fork 自 uView2)。139 个组件加一套 JS 工具库(uni.$u),一套代码覆盖 H5、微信/支付宝/头条/QQ 小程序、Android/iOS App(vue 与 nvue)、鸿蒙。

包的位置:npm 装法在 node_modules/uview-plus/,HBuilderX 装法在项目里的 uni_modules/uview-plus/。下文的相对路径都以这个包根目录为准,遇到不确定的用法优先读包内源码而不是凭印象写。

先确认接入完整

写页面之前先确认宿主项目这 4 处都配好了。缺任意一处的典型症状就是"组件写了不渲染""样式全丢""属性不生效",这类问题九成不是组件 bug:

  1. pages.json 的 easycom.custom 里有 uview-plus 的三条规则
  2. main.js 里 app.use(uviewPlus)
  3. App.vue 首行 @import "uview-plus/index.scss";,且 <style lang="scss">
  4. uni.scss 里 @import "uview-plus/theme.scss";

新项目接入、或上面任意一条没配,读 references/setup.md(npm 与 uni_modules 两种装法都有,含 manifest、tsconfig、nvue 的额外要求)。

硬规则

  1. 不要 import 组件。easycom 会按规则自动引入,模板里直接写 <up-button text="按钮"></up-button>。手写 import 反而容易和 easycom 规则打架。
  2. 前缀用 up-。u-、u-- 仍然兼容(三条 easycom 规则都指向同一份 components/u-*),但 u- 会和 uni-app 官方组件抢名字(例如 u-slider),新代码统一用 up-,同一项目里不要混用。
  3. 组件名从 references/components.md 里挑,不要凭印象拼。清单里没有的名字就是不存在,结果是编译报错或者整块不渲染。
  4. 属性、事件、插槽不要猜。一手说明在包内:
    • components/u-<名字>/u-<名字>.vue 顶部 JSDoc 的 @property / @event
    • components/u-<名字>/props.js 是属性的真实默认值(约四分之一的组件没有这个文件,属性直接写在 .vue 里)
    • types/comps/<驼峰名>.d.ts 是 TS 类型(覆盖常用组件,不是全部)
  5. 图标名从 references/icons.md 里挑。<up-icon name="star-fill"></up-icon>,名字写错不会报错,只是渲染空白。要用清单外的图标,走 customIcon 配置自己的字体图标。
  6. 双向绑定分两类,搞反了就是"弹窗打不开"或"输入框不联动":
    • 值类组件(up-input、up-checkbox-group、up-rate、up-slider、up-datetime-picker …)内部是 modelValue,写 v-model="xxx"
    • 显隐类组件(up-popup、up-action-sheet、up-modal、up-picker、up-cascader、up-tooltip、up-guide、up-swipe-action-item)内部是 show + update:show,写 v-model:show="show"
    • 其余组件先看它的 emits 数组再决定,不要想当然。
  7. 数值型尺寸的单位取决于 config.unit(默认 px,项目可全局改成 rpx)。要确定的单位就把单位写全:width="80px"。
  8. 组件内部尽量不要依赖宿主全局 class。需要覆盖样式时优先用组件自身的 customStyle / 具体属性,小程序有样式隔离,全局类不一定命中。

一个可运行的样板

<template>
	<view>
		<up-navbar title="表单" :autoBack="true"></up-navbar>
		<up-form ref="formRef" :model="form" :rules="rules" labelWidth="80">
			<up-form-item label="手机号" prop="mobile" borderBottom>
				<up-input v-model="form.mobile" placeholder="请输入手机号" border="none"></up-input>
			</up-form-item>
		</up-form>
		<up-button type="primary" text="提交" @click="submit"></up-button>
		<up-popup v-model:show="show" mode="bottom">
			<view style="padding: 24px;">提交成功</view>
		</up-popup>
	</view>
</template>

<script setup>
import { reactive, ref } from 'vue'

const formRef = ref(null)
const show = ref(false)
const form = reactive({ mobile: '' })
const rules = {
	mobile: [{ required: true, message: '请输入手机号', trigger: ['blur', 'change'] }]
}

function submit() {
	formRef.value
		.validate()
		.then(() => {
			show.value = true
		})
		.catch(() => {
			uni.$u.toast('请检查表单')
		})
}
</script>

Read the full file on GitHub · 96 lines

Files

What ships with it

5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 10d ago First seen · 96 lines · 117 tokens per session scan A 7653a2abd6b9

Subscribe to this mod's changes

uview-plus is a skill published in the GitHub repository oyjt/uniapp-vue3-template (628 stars, last pushed 11d ago), licensed MIT. It adds 117 tokens to every session and 1,703 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 100% identical to uview-plus, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

slidev

Create and present web-based slidedecks for developers using Slidev with Markdown, Vue components, code highlighting, animations, and interactive features. Use when building technical presentations, conference talks, code walkthroughs, teaching materials, or developer decks.

slidevjs/slidev · 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

v3-use-composables

Documentation for reusable Vue functions in a project, covering device detection, asynchronous dropdown data, loading screens, pagination, routing, themes, page titles, and watermarks.

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

native-to-weapp-vite-wevu-migration

A step-by-step guide for gradually moving native WeChat, Alipay, or Douyin mini-programs to weapp-vite, with an optional later move to Vue single-file components.

weapp-vite/weapp-vite · 106 tokens

weapp-vite-vue-sfc-best-practices

A Chinese-language guide to writing Vue single-file components for weapp-vite mini-program projects. It covers templates, scripts, page metadata, component declarations, and platform differences.

weapp-vite/weapp-vite · 107 tokens