Generate Release Notes
teambit/bit
Generate comprehensive release notes for Bit from git commits and pull requests.
在摸鱼低代码自助大屏中新增自定义组件,包括创建组件 Vue 文件、数据定义文件、配置面板文件,并在 ComUtils.ts 中注册枚举、在 index.ts 中注册导出。当用户提到"大屏新增组件"、"自助大屏添加组件"、"screen 新增组件"、"添加大屏自定义组件"时使用此 skill。
$ npx skills add mfish-qf/mfish-nocode-view --skill add-screen-component -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mfish-qf/mfish-nocode-view add-screen-component --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/mfish-qf/mfish-nocode-view.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/add-screen-component .claude/skills/add-screen-component && rm -rf skills-srcUse ~/.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/
Install the "add-screen-component" agent skill from https://github.com/mfish-qf/mfish-nocode-view/tree/main/.codex/skills/add-screen-component into .claude/skills/add-screen-component/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-screen-component", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mfish-qf/mfish-nocode-view/tree/main/.codex/skills/add-screen-componentType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mfish-qf/mfish-nocode-view --skill add-screen-component -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mfish-qf/mfish-nocode-view add-screen-component --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mfish-qf/mfish-nocode-view.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.codex/skills/add-screen-component .agents/skills/add-screen-component && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-screen-component" agent skill from https://github.com/mfish-qf/mfish-nocode-view/tree/main/.codex/skills/add-screen-component into .agents/skills/add-screen-component/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-screen-component", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mfish-qf/mfish-nocode-view --skill add-screen-component -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mfish-qf/mfish-nocode-view add-screen-component --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mfish-qf/mfish-nocode-view.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.codex/skills/add-screen-component .cursor/skills/add-screen-component && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "add-screen-component" agent skill from https://github.com/mfish-qf/mfish-nocode-view/tree/main/.codex/skills/add-screen-component into .cursor/skills/add-screen-component/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-screen-component", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mfish-qf/mfish-nocode-view.git --path .codex/skills/add-screen-component--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mfish-qf/mfish-nocode-view --skill add-screen-component -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mfish-qf/mfish-nocode-view add-screen-component --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mfish-qf/mfish-nocode-view.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.codex/skills/add-screen-component .gemini/skills/add-screen-component && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "add-screen-component" agent skill from https://github.com/mfish-qf/mfish-nocode-view/tree/main/.codex/skills/add-screen-component into .gemini/skills/add-screen-component/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-screen-component", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mfish-qf/mfish-nocode-view add-screen-componentInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mfish-qf/mfish-nocode-view --skill add-screen-component -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mfish-qf/mfish-nocode-view.git skills-src && mkdir -p .github/skills && cp -r skills-src/.codex/skills/add-screen-component .github/skills/add-screen-component && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "add-screen-component" agent skill from https://github.com/mfish-qf/mfish-nocode-view/tree/main/.codex/skills/add-screen-component into .github/skills/add-screen-component/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-screen-component", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mfish-qf/mfish-nocode-view --skill add-screen-component -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mfish-qf/mfish-nocode-view add-screen-component --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mfish-qf/mfish-nocode-view.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.codex/skills/add-screen-component .opencode/skills/add-screen-component && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "add-screen-component" agent skill from https://github.com/mfish-qf/mfish-nocode-view/tree/main/.codex/skills/add-screen-component into .opencode/skills/add-screen-component/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-screen-component", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
add-screen-component在摸鱼低代码自助大屏中新增自定义组件,包括创建组件 Vue 文件、数据定义文件、配置面板文件,并在 ComUtils.ts 中注册枚举、在 index.ts 中注册导出。当用户提到"大屏新增组件"、"自助大屏添加组件"、"screen 新增组件"、"添加大屏自定义组件"时使用此 skill。
Add Screen Component is an agent skill from mfish-qf/mfish-nocode-view. 在摸鱼低代码自助大屏中新增自定义组件,包括创建组件 Vue 文件、数据定义文件、配置面板文件,并在 ComUtils.ts 中注册枚举、在 index.ts 中注册导出。当用户提到"大屏新增组件"、"自助大屏添加组件"、"screen 新增组件"、"添加大屏自定义组件"时使用此 skill。
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Vue.js and TypeScript. The repository describes itself as: 摸鱼低代码前端采用 Vue3.x、Vite8.x、 Ant-Design-Vue4.x、TypeScript 等新技术方案,结合后端使用. The licence is Apache-2.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 18356a3. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript and vue).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Add Screen Component loads about 2.7k tokens when it runs. Until then it costs about 42 tokens; SKILL.md has 293 words of instructions outside code blocks.
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.
The automated check found no risky patterns in SKILL.md.
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.
The full file from mfish-qf/mfish-nocode-view at commit 18356a3, republished under its Apache-2.0 licence (© mfish-qf). 293 words, ~2,727 tokens.
.claude/skills/add-screen-component/SKILL.md (or your agent's skills folder).组件位于:packages/nocode/src/screen/charts/coms/
每个组件对应一个子目录,包含:
MfXxx/
├── index.vue # 组件展示逻辑
├── MfXxxConfig.vue # 样式/配置面板(可选)
├── MfXxxDataConfig.vue # 数据配置面板(可选)
└── mfXxx.data.ts # 组件数据定义(必须)新增文件约束:
SKILL.md、.vue、.ts 文件时统一保存为 UTF-8 without BOM文件:packages/nocode/src/screen/charts/coms/ComUtils.ts
在 ComType 枚举末尾追加新类型:
MfXxx = "MfXxx",先检查再追加:
ComType 里是否已经存在该枚举,避免重复定义MfXxx/,不要假设组件已实现,要继续检查其中是否真的有 index.vue、mfXxx.data.ts 等源文件<!--
@description: [组件描述]
@author: mfish
@date: [日期]
-->
<template>
<div :style="containerStyle" v-on="commonEvents">
<!-- 组件内容 -->
</div>
</template>
<script setup lang="ts">
import { PropType } from "vue";
import { Chart, ChartContain } from "../../../common/Constants.ts";
import { useChartEventHandle } from "../../../common/ChartEventUtils.ts";
defineOptions({ name: "MfXxx" });
const props = defineProps({
chart: { type: Object as PropType<Chart>, required: true },
chartContain: { type: Object as PropType<ChartContain>, required: true }
});
const { commonEvents } = useChartEventHandle(props.chart);
</script>
<style scoped lang="less"></style>关键约定:
defineOptions({ name: "MfXxx" }) name 必须与组件目录名一致chart: Chart 和 chartContain: ChartContainemit("eventHandler", e) 并在 useChartEventHandle 第三参数传入事件名数组getFontStyle(props.chart) 获取计算样式<!--
@description: [组件]配置
@author: mfish
@date: [日期]
-->
<template>
<StyleConfig :class="prefixCls">
<slot></slot>
<!-- 配置项 -->
</StyleConfig>
</template>
<script setup lang="ts">
import { useDesign } from "@mfish/core/hooks";
import { useScreenEditStore } from "@nocode/stores";
import StyleConfig from "../../../frame/FrameConfig/BaseConfig/StyleConfig.vue";
const screenEditStore = useScreenEditStore();
const { prefixCls } = useDesign("xxx-config");
</script>
<style scoped lang="less">
@prefix-cls: ~"@{namespace}-xxx-config";
@import "../../../common/index";
</style>常用配置子组件:
<TitleConfig /> — 文字样式(字体/大小/颜色/对齐)<MfishColorPicker /> — 颜色选择器(见下方详细说明)<IconPicker /> — 图标选择<AInput /> — 文本输入<ACheckbox /> — 复选框<ARadioGroup /> + <ARadioButton /> — 单选组通过 screenEditStore.getCurConfigComponent.chart.options.xxx 读写配置,通过 screenEditStore.getCurConfigComponent.chart.data.dataSet.xxx 读写数据。
大屏组件中所有涉及颜色配置的地方,统一使用 MfishColorPicker 组件,不要使用 AInput 等文本输入来代替。
引入方式:
import { MfishColorPicker } from "../../../../common";type 属性规则:
type 不设置(默认 3):同时支持单色和渐变色type 设置为 1:仅支持单色选择,适用于背景色、边框色、图标色等无需渐变的场景type 设置为 2:仅支持渐变色模板用法:
<!-- 仅单色 -->
<MfishColorPicker
placeholder="设置背景色,格式#FFFFFF"
:type="1"
:value="bgColor"
@confirm-change="bgColorChange"
@input-change="bgColorChange"
/>
<!-- 支持单色和渐变色 -->
<MfishColorPicker
placeholder="设置颜色,格式#FFFFFF"
:value="color"
@confirm-change="colorChange"
@input-change="colorChange"
/>事件处理:
MfishColorPicker 通过 confirmChange 和 inputChange 两个事件向外传递颜色值,回调函数签名为 (displayedColor: string, hex: string)。displayedColor 为 rgba 格式的完整颜色值(含透明度),hex 为十六进制颜色值。通常只需使用第一个参数。
function bgColorChange(val: string) {
bgColor.value = val;
updateOption("bgColor", val);
}完整示例(参考 MfTag、MfCarousel):
<template>
<StyleConfig :class="prefixCls">
<div class="title">
背景色
<div>
<MfishColorPicker
placeholder="设置背景色,格式#FFFFFF"
:type="1"
:value="bgColor"
@confirm-change="bgColorChange"
@input-change="bgColorChange"
/>
</div>
</div>
</StyleConfig>
</template>
<script setup lang="ts">
import { ref, watch } from "vue";
import { useDesign } from "@mfish/core/hooks";
import { useScreenEditStore } from "@nocode/stores";
import StyleConfig from "../../../frame/FrameConfig/BaseConfig/StyleConfig.vue";
import { MfishColorPicker } from "../../../../common";
const screenEditStore = useScreenEditStore();
const { prefixCls } = useDesign("xxx-config");
const bgColor = ref("");
watch(
() => screenEditStore.getCurConfigComponent,
(val) => {
if (!val) return;
const options = val.chart.options || {};
bgColor.value = options.bgColor || "";
},
{ immediate: true }
);
function updateOption(key: string, value: any) {
screenEditStore.getCurConfigComponent.chart.options[key] = value;
}
function bgColorChange(val: string) {
bgColor.value = val;
updateOption("bgColor", val);
}
</script>数据驱动组件(需要绑定 API 数据)才需要此文件。可参考 MfDataTag/MfDataTagDataConfig.vue。
MfInput/MfInputDataConfig.vueMfSelect/MfSelectDataConfig.vue、MfSegmented/MfSegmentedDataConfig.vueMfTable/MfTableDataConfig.vueMfPicture 当前不支持动态绑定,不能把它当成动态数据组件模板如果组件本质上是“多张图片 + 可选文案”的数组数据,优先按数组模式设计:
defaultData: [
{ key: "", title: "", link: "" }
]推荐字段含义:
key: 本地文件 key 或直接图片 URLtitle: 图片标题link: 点击跳转链接(可选)推荐 defaultHeaders:
{
key: { colName: "key", dataType: "string", rename: "Image key/url" },
title: { colName: "title", dataType: "string", rename: "Image title" },
link: { colName: "link", dataType: "string", rename: "Link" }
}initData / setDynamicData 要求:
result.list 遍历生成数组,而不是只取第一条chart.data.fields?.xxx 读取defaultData这是最核心的注册文件:
import { createAsyncComponent } from "@mfish/core/utils/factory/CreateAsyncComponent";
import { cloneDeep } from "lodash-es";
import { Chart, MfComponent } from "../../../common/Constants.ts";
import { comConfigDisplay, ComponentData, ComType, DisplayConfig } from "../ComUtils.ts";
import { shallowRef } from "vue";
/**
* @description: [组件描述]
* @author: mfish
* @date: [日期]
*/
function mfXxxCreate(chart: MfComponent) {
chart.chart.data.dataSet = cloneDeep(mfXxxData.defaultData);
chart.chart.data.headers = mfXxxData.defaultHeaders && mfXxxData.defaultHeaders();
chart.chart.data.limit = 1;
chart.chart.data.maxLimit = 1;
chart.chartContain.dropInfo.width = 200; // 初始宽度(像素)
chart.chartContain.dropInfo.height = 100; // 初始高度(像素)
return chart;
}
const getConfig = () => {
const config = cloneDeep(comConfigDisplay) as DisplayConfig;
// 不需要数据配置时:config.data.show = false;
config.style.payload.component = shallowRef(
createAsyncComponent(() => import("./MfXxxConfig.vue"), {
loading: true,
size: "large"
})
);
// 有数据配置时:
// config.data.payload.component = shallowRef(
// createAsyncComponent(() => import("./MfXxxDataConfig.vue"), { loading: true, size: "large" })
// );
return config;
};
const mfXxxData: ComponentData = {
type: ComType.MfXxx,
component: createAsyncComponent(() => import("./index.vue"), { loading: true }),
create: mfXxxCreate,
config: getConfig(),
defaultData: { /* 静态默认数据 */ },
defaultHeaders: () => {
return cloneDeep({
fieldName: { colName: "fieldName", dataType: "string", rename: "字段名" }
});
},
initData: (chart: Chart, data?: any) => {
// 处理动态数据加载逻辑,静态组件直接留空 () => {}
},
// 可选:自定义事件
customEvents: [{ name: "事件名", value: "eventKey" }]
};
export default mfXxxData;关键说明:
type 必须与 ComType 枚举值匹配create 中设置组件初始宽高和默认数据config.data.show = false 表示不显示数据配置 TabinitData: () => {} 即可initData 中解析 API 返回数据并写入 chart.data.dataSet新增组件如果需要支持大屏事件联动,按 MfSelect 的 selectChange 模式实现。
index.vue 中注册自定义事件 key:const { commonEvents, emitEvent } = useChartEventHandle(props.chart, undefined, ["eventKey"]);多个事件时传入多个 key:
const { commonEvents, emitEvent } = useChartEventHandle(props.chart, undefined, ["cardChange", "cardClick"]);function eventHandler(payload: any) {
emitEvent("eventKey", payload);
}数组/选项类组件应优先按索引返回原始数据项,参考 MfSelect:
import { getChartData } from "../../../common/ScreenUtils.ts";
function getItemData(index: number) {
const data = getChartData(props.chart);
return data?.length > index ? data[index] : props.chart.data?.dataSet?.[index];
}
function itemClick(index: number) {
emitEvent("itemClick", getItemData(index));
}mfXxx.data.ts 中声明可配置事件:customEvents: [
{ name: "事件显示名称", value: "eventKey" }
]约定:
value 必须和 useChartEventHandle、emitEvent 使用的事件 key 完全一致。name 是配置面板展示名称,使用清晰中文,例如 卡片点击、卡片切换、行点击。v-on="commonEvents",自定义点击事件可以并存;需要阻止冒泡时在模板上显式使用 .stop。如果组件需要被其他地方直接 import 使用(如 MfCombine、MfTag),在 index.ts 中添加:
export { default as MfXxx } from "../../charts/coms/MfXxx/index.vue";注意:
.data.ts文件通过import.meta.glob("./**/*.data.ts")自动扫描注册,无需手动在index.ts中添加。
很重要:
mfXxx.data.ts,会被 import.meta.glob("./**/*.data.ts", { eager: true }) 自动注册packages/nocode/src/screen/charts/coms/index.tsMfCombine、MfTag 那样被其他源码直接 import 时,才额外加 export| 模式 | 参考组件 | 特征 |
|---|---|---|
| 纯静态文本/标签 | MfTag | data.show=false,initData: ()=>{} |
| 静态+可交互按钮 | MfButton | data.show=false,含 customEvents |
| 动态数据驱动 | MfDataTag、MfScrollTable | 有 DataConfig.vue,initData 解析数据 |
| 选项/数组驱动 | MfSelect、MfSegmented | dataSet 为数组,字段拖拽绑定多个属性 |
| ECharts 图表 | MfBar、MfLine | 使用 useEchartsData(),含 series/grid 配置 |
| DataV 装饰 | MfBorder*、MfDecoration* | 无数据,样式配置简单 |
- [ ] Step 1: ComUtils.ts 枚举中添加 MfXxx = "MfXxx"
- [ ] Step 2: 创建 MfXxx/index.vue
- [ ] Step 3: 创建 MfXxx/MfXxxConfig.vue(如有样式配置)
- [ ] Step 4: 创建 MfXxx/MfXxxDataConfig.vue(如有数据配置)
- [ ] Step 5: 创建 MfXxx/mfXxx.data.ts
- [ ] Step 6: index.ts 添加导出(如需全局引用)
- [ ] 验证:ComType.MfXxx 枚举值与 mfXxx.data.ts 中 type 一致
- [ ] 验证:组件 defineOptions.name 与目录名一致
- [ ] 验证:如果只是普通组件,是否已避免无意义修改 `charts/coms/index.ts`
- [ ] 验证:动态组件的 `initData` 是否真的按 `result.list` 做了字段映射
- [ ] 验证:图片类组件是否兼容 fileKey 和外部 URL
- [ ] 验证:新增文件是否为 UTF-8 without BOM© mfish-qf, 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
Just SKILL.md in .codex/skills/add-screen-component of mfish-qf/mfish-nocode-view.
Open the folder on GitHubat commit 18356a3
Add Screen Component 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Add Screen Component this skillmfish-qf/mfish-nocode-view | 205 | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| Generate Release Notesteambit/bit | 18k | — | ~2.2k | Automated safety check: Pass | Custom licence | |
| Wagmi Feature Developmentwevm/wagmi | 6.8k | — | ~3.8k | Automated safety check: Pass | MIT | |
| OpenObserve ESLint and TypeScript Fixesopenobserve/openobserve | 22k | — | ~5.1k | Automated safety check: Pass | AGPL-3.0 | |
| Pnpm Engineteambit/bit | 18k | — | ~1.9k | Automated safety check: Pass | Custom licence | |
| Create Docsvictorgarciaesgi/nuxt-typed-router | 413 | 2 repos | ~2.8k | Automated safety check: Pass | MIT |
teambit/bit
Generate comprehensive release notes for Bit from git commits and pull requests.
wevm/wagmi
Walks through adding a Wagmi feature across its layers: a Viem-based core action, TanStack Query options, and React and Vue bindings.
openobserve/openobserve
A playbook for fixing ESLint and TypeScript errors in the OpenObserve web frontend, with rule-by-rule guidance and typing conventions.
teambit/bit
Work on the pnpm Rust engine (@pnpm/napi, the pacquet crates) that bit install runs through.
victorgarciaesgi/nuxt-typed-router
Create complete documentation sites for projects. An agent skill from victorgarciaesgi/nuxt-typed-router.
sonofmagic/uni-app-tailwindcss-template
Comprehensive skill reference for uni-app cross-platform development framework
Works with
在摸鱼低代码自助大屏中新增自定义组件,包括创建组件 Vue 文件、数据定义文件、配置面板文件,并在 ComUtils.ts 中注册枚举、在 index.ts 中注册导出。当用户提到"大屏新增组件"、"自助大屏添加组件"、"screen 新增组件"、"添加大屏自定义组件"时使用此 skill。. Add Screen Component is an agent skill from mfish-qf/mfish-nocode-view.
Run `npx skills add mfish-qf/mfish-nocode-view --skill add-screen-component -a claude-code`. Or copy the skill folder (.codex/skills/add-screen-component in mfish-qf/mfish-nocode-view) into .claude/skills/add-screen-component in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mfish-qf/mfish-nocode-view --skill add-screen-component -a codex`. Or copy the skill folder (.codex/skills/add-screen-component in mfish-qf/mfish-nocode-view) into .agents/skills/add-screen-component in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mfish-qf/mfish-nocode-view --skill add-screen-component -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-screen-component, .gemini/skills/add-screen-component, .github/skills/add-screen-component and .opencode/skills/add-screen-component in your project.
SKILL.md names no scripts, command-line tools or credentials: Add Screen Component is instructions for the agent only.
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.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Add Screen Component 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.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Add Screen Component: Generate Release Notes (teambit/bit, 18k stars), Wagmi Feature Development (wevm/wagmi, 6.8k stars), OpenObserve ESLint and TypeScript Fixes (openobserve/openobserve, 22k stars) and Pnpm Engine (teambit/bit, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mfish-qf (a GitHub user) maintains it in mfish-qf/mfish-nocode-view, which has 205 GitHub stars. The repository was last updated on July 31, 2026.
Source: mfish-qf/mfish-nocode-view on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.