Tailwindcss Development
anonaddy/anonaddy
Always invoke when the user's message includes 'tailwind' in any form.
NaiveTab 浏览器扩展的 Widget 开发指南。当用户要在 newtab-naivetab 项目中新增 Widget 组件、添加新功能组件时使用。涵盖需要修改的完整文件清单、配置规范、类型注册等,防止遗漏关键步骤。
$ npx skills add GXFG/newtab-naivetab --skill add-widget -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install GXFG/newtab-naivetab add-widget --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/GXFG/newtab-naivetab.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/add-widget .claude/skills/add-widget && 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-widget" agent skill from https://github.com/GXFG/newtab-naivetab/tree/main/.claude/skills/add-widget into .claude/skills/add-widget/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-widget", 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/GXFG/newtab-naivetab/tree/main/.claude/skills/add-widgetType 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 GXFG/newtab-naivetab --skill add-widget -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install GXFG/newtab-naivetab add-widget --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GXFG/newtab-naivetab.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/add-widget .agents/skills/add-widget && 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-widget" agent skill from https://github.com/GXFG/newtab-naivetab/tree/main/.claude/skills/add-widget into .agents/skills/add-widget/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-widget", 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 GXFG/newtab-naivetab --skill add-widget -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install GXFG/newtab-naivetab add-widget --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GXFG/newtab-naivetab.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/add-widget .cursor/skills/add-widget && 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-widget" agent skill from https://github.com/GXFG/newtab-naivetab/tree/main/.claude/skills/add-widget into .cursor/skills/add-widget/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-widget", 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/GXFG/newtab-naivetab.git --path .claude/skills/add-widget--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 GXFG/newtab-naivetab --skill add-widget -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install GXFG/newtab-naivetab add-widget --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GXFG/newtab-naivetab.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/add-widget .gemini/skills/add-widget && 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-widget" agent skill from https://github.com/GXFG/newtab-naivetab/tree/main/.claude/skills/add-widget into .gemini/skills/add-widget/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-widget", 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 GXFG/newtab-naivetab add-widgetInstalls 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 GXFG/newtab-naivetab --skill add-widget -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/GXFG/newtab-naivetab.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/add-widget .github/skills/add-widget && 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-widget" agent skill from https://github.com/GXFG/newtab-naivetab/tree/main/.claude/skills/add-widget into .github/skills/add-widget/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-widget", 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 GXFG/newtab-naivetab --skill add-widget -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install GXFG/newtab-naivetab add-widget --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GXFG/newtab-naivetab.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/add-widget .opencode/skills/add-widget && 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-widget" agent skill from https://github.com/GXFG/newtab-naivetab/tree/main/.claude/skills/add-widget into .opencode/skills/add-widget/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-widget", 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-widgetNaiveTab 浏览器扩展的 Widget 开发指南。当用户要在 newtab-naivetab 项目中新增 Widget 组件、添加新功能组件时使用。涵盖需要修改的完整文件清单、配置规范、类型注册等,防止遗漏关键步骤。
Add Widget is an agent skill from GXFG/newtab-naivetab. NaiveTab 浏览器扩展的 Widget 开发指南。当用户要在 newtab-naivetab 项目中新增 Widget 组件、添加新功能组件时使用。涵盖需要修改的完整文件清单、配置规范、类型注册等,防止遗漏关键步骤。
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `reference.md`).
It sits in Frontend & Design. It works with Vue.js. The repository describes itself as: NaiveTab - newtab extension for browser |浏览器新标签页扩展|Visual keyboard for bookmarks & browser commands — one-press access. Drag & drop layout, full customization, focus mode, and…. The licence is GPL-3.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ae78a42. 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, json and vue).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
icon-sets.iconify.designFrom 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 Widget loads about 1.4k tokens when it runs. Until then it costs about 31 tokens; SKILL.md has 202 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 GXFG/newtab-naivetab at commit ae78a42, republished under its GPL-3.0 licence (© GXFG). 202 words, ~1,358 tokens.
.claude/skills/add-widget/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.新增 Widget 需按顺序完成以下步骤。完整模板参考见 reference.md。
完整注册点索引见 REGISTRY-MAP.md,新增时对照检查。
src/common/widget-constants.ts:代码列表与分组WidgetCodes 不再手动维护联合类型,而是从 WIDGET_CODE_LIST 用 typeof 自动推导。 只需在列表数组中追加 code 即可。
WidgetConfigByCode 类型映射也在 src/common/widget-constants.ts 中(Step 6 处说明)。本 Step 处理以下三项:
1-A:添加到 WIDGET_CODE_LIST
export const WIDGET_CODE_LIST = [
// ...
'myWidget', // 顺序决定组件库抽屉中的排列顺序
] as const1-B:(可选)若新 Widget 与其他 Widget 共用同一个 setting pane,需维护 WIDGET_SETTING_PANE_MAP
export const WIDGET_SETTING_PANE_MAP: Partial<Record<WidgetCodes, settingPanes>> = {
// ...
myWidget: 'clockDate', // ← 指向对应的 pane code
}未在此 Map 中的 Widget,右键菜单会默认用自身 code 查找 pane(
myWidget→ panemyWidget)。
1-C:添加到 WIDGET_GROUPS 对应分组(用于组件库抽屉和专注设置按分类展示)
export const WIDGET_GROUPS: Array<{
labelKey: string
codes: WidgetCodes[]
}> = [
{
labelKey: 'widgetGroup.timeAndDate',
codes: ['clockDigital', ... , 'myWidget'], // ← 追加到对应分组(time/bookmark/tool 三选一)
},
]必须添加否则不会显示在组件库列表中。
src/newtab/widgets/myWidget/config.tsexport const WIDGET_CODE = 'myWidget'
export const WIDGET_CONFIG = {
enabled: false,
layout: { xOffsetKey: 'left', xOffsetValue: 50, xTranslateValue: -50,
yOffsetKey: 'top', yOffsetValue: 50, yTranslateValue: -50 },
// 颜色字段统一用双元素数组:[浅色值, 深色值]
fontColor: ['rgba(255,255,255,1)', 'rgba(0,0,0,1)'],
// ... 其他配置
}
export type TWidgetConfig = typeof WIDGET_CONFIGsrc/newtab/widgets/myWidget/index.vueWidgetWrap 作为根容器,直接子元素必须有 myWidget__container 的 class#myWidget,容器需 position: absolutegetStyleField(WIDGET_CODE, 'fieldName') 读取配置(自动处理颜色双数组/单位换算)getIsWidgetRender(WIDGET_CODE) + watch 控制定时任务生命周期src/newtab/widgets/myWidget/index.tsimport Index from './index.vue'
import { WIDGET_CODE, WIDGET_CONFIG } from './config'
import { WIDGET_ICON_META } from '@/logic/constants/icons'
export default {
code: WIDGET_CODE,
component: Index,
config: WIDGET_CONFIG,
iconName: WIDGET_ICON_META[WIDGET_CODE].iconName,
iconSize: WIDGET_ICON_META[WIDGET_CODE].widgetSize,
widgetLabel: 'setting.myWidget', // i18n key
}src/logic/constants/icons.ts ⚠️ 需修改两处,缺一不可5-A:在 ICONS 对象中定义图标常量(图标来自 Iconify,需验证图标名存在):
export const ICONS = {
// ... 已有图标 ...
myWidget: 'mdi:some-valid-icon', // ← 先在这里定义
}5-B:在 WIDGET_ICON_META 中引用(使用 ICONS.myWidget,禁止硬编码字符串):
export const WIDGET_ICON_META: Record<WidgetCodes, WidgetIconMeta> = {
// ... 已有条目 ...
myWidget: { iconName: ICONS.myWidget, widgetSize: 30 }, // ← 引用常量
}❌ 错误示范:
iconName: 'mdi:some-icon'(硬编码字符串绕过了ICONS常量,难以统一维护)
设置面板中引用图标也必须使用 ICONS.xxx,新增专属 setting 面板时还需在 SETTING_ICON_META 中注册。
src/common/widget-constants.ts 类型映射// 在 WidgetConfigByCode 类型中追加一行(使用动态 import() 语法,无需单独 import)
myWidget: import('@/newtab/widgets/myWidget/config').TWidgetConfig只需追加一行 key-value,不再需要单独的 import 语句。
src/locales/zh-CN.json 和 en-US.json"setting": {
"myWidget": "我的组件"
}自 v2.0.0 起,所有设置面板统一管理在 src/setting/ 目录下。新增专属设置面板步骤:
新建目录 src/setting/panes/myWidget/,并创建 index.vue:
<template>
<SettingFormWrap>
<!-- 在这里使用原子组件(ColorField, FontField, SliderField, etc.)构建表单 -->
<SwitchField
v-model="localConfig.myWidget.enabled"
/>
<ColorField
v-model="localConfig.myWidget.fontColor"
:label="$t('common.color')"
/>
<!-- ... 更多表单项 -->
</SettingFormWrap>
</template>
<script setup lang="ts">
import { SettingFormWrap } from '@/setting/components/SettingFormWrap'
import { SwitchField, ColorField } from '@/setting/fields'
import { localConfig } from '@/logic/config/state'
</script>所有表单项必须使用 src/setting/fields 中提供的原子组件。
在 src/setting/registry.ts 中注册:
在 SETTING_GROUPS 对应的分组(通常是 widget)的 items 数组添加配置项:
{ code: 'myWidget', labelKey: 'setting.myWidget' },在 src/logic/constants/icons.ts 的 SETTING_ICON_META 中注册:
export const SETTING_ICON_META: Record<settingPanes, SettingIconMeta> = {
// ...
myWidget: { iconName: ICONS.myWidget, settingSize: 20 },
}所有图标必须通过 ICONS 常量引用,禁止硬编码字符串。
在 src/common/widget-constants.ts 的 WIDGET_SETTING_PANE_MAP 中添加:
export const WIDGET_SETTING_PANE_MAP: Partial<Record<WidgetCodes, settingPanes>> = {
// ...
myWidget: 'myWidget', // Widget code 对应到 setting pane code
}| 文件 | 机制 |
|---|---|
src/logic/config/defaults.ts | import.meta.glob('**/config.ts') 自动扫描收集 |
src/logic/config/state.ts | 遍历 WIDGET_CODE_LIST 动态创建 storage |
src/logic/config/sync/ | 遍历 defaultConfig 处理云同步/导入导出 |
src/newtab/Content.vue | 遍历 widgetsList 动态渲染 |
src/newtab/draft/DraftDrawer.vue | 遍历 widgetsList 展示组件库 |
src/newtab/widgets/registry.ts | import.meta.glob 自动扫描 widget index.ts 元信息 |
© GXFG, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .claude/skills/add-widget of GXFG/newtab-naivetab.
Open the folder on GitHubat commit ae78a42
Add Widget 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 Widget this skillGXFG/newtab-naivetab | 137 | — | ~1.4k | Automated safety check: Pass | GPL-3.0 | |
| Tailwindcss Developmentanonaddy/anonaddy | 4.9k | 10 repos | ~865 | Automated safety check: Pass | MIT | |
| GSAP Core Animationgreensock/gsap-skills | 16k | 4 repos | ~3.7k | Automated safety check: Pass | MIT | |
| GSAP in Vue, Nuxt and Sveltegreensock/gsap-skills | 16k | 4 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Vuetify Playgroundvuetifyjs/vuetify | 41k | — | ~730 | Automated safety check: Pass | Custom licence | |
| Boneyard0xGF/boneyard | 7.5k | — | ~2.2k | Automated safety check: Notes | MIT |
anonaddy/anonaddy
Always invoke when the user's message includes 'tailwind' in any form.
greensock/gsap-skills
Covers the GSAP core API for tweens, easing, staggers, defaults and matchMedia, and when to choose GSAP over CSS animations or other JavaScript animation libraries.
greensock/gsap-skills
Shows how to use GSAP in Vue, Nuxt, Svelte and other lifecycle-based frameworks: create after mount, scope selectors to the component, and revert on unmount.
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.
0xGF/boneyard
Use boneyard-js to add, configure, debug, or rebuild skeleton screens.
buefy/buefy
Rules for writing Vue 3 templates with Buefy components on Bulma CSS: install options, prop conventions, b-field wrapping, tables, theming and dialogs.
GXFG/newtab-naivetab
NaiveTab 浏览器扩展的全局命令快捷键开发指南。当用户要新增/修改命令快捷键(如新增 tab 操作、页面滚动、窗口操作等命令)时使用。涵盖需要修改的完整文件清单、执行环境分类、类型注册等,防止遗漏关键步骤。
GXFG/newtab-naivetab
NaiveTab 浏览器扩展的 i18n 国际化开发指南。当用户要新增/修改翻译文本、添加多语言 key 时使用。涵盖中英文同步更新规则、变量替换模式等,防止遗漏或格式错误。
GXFG/newtab-naivetab
NaiveTab 浏览器扩展的 Setting 面板开发指南。当用户要新增 Setting 设置面板、添加新的设置页时使用。涵盖需要修改的完整文件清单、注册规范等,防止遗漏关键步骤。
GXFG/newtab-naivetab
NaiveTab 浏览器扩展的配置迁移开发指南。当用户要修改持久化配置结构(新增/重命名/删除字段、修改类型)时使用。强制走 handleAppUpdate 迁移流程,防止破坏老用户数据。
Works with
Categories
NaiveTab 浏览器扩展的 Widget 开发指南。当用户要在 newtab-naivetab 项目中新增 Widget 组件、添加新功能组件时使用。涵盖需要修改的完整文件清单、配置规范、类型注册等,防止遗漏关键步骤。. Add Widget is an agent skill from GXFG/newtab-naivetab.
Add Widget fits situations like: frontend & Design work in your project.
Run `npx skills add GXFG/newtab-naivetab --skill add-widget -a claude-code`. Or copy the skill folder (.claude/skills/add-widget in GXFG/newtab-naivetab) into .claude/skills/add-widget in your project. Claude Code loads it when a task matches its description.
Run `npx skills add GXFG/newtab-naivetab --skill add-widget -a codex`. Or copy the skill folder (.claude/skills/add-widget in GXFG/newtab-naivetab) into .agents/skills/add-widget 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 GXFG/newtab-naivetab --skill add-widget -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-widget, .gemini/skills/add-widget, .github/skills/add-widget and .opencode/skills/add-widget in your project.
SKILL.md names no scripts, command-line tools or credentials: Add Widget is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: icon-sets.iconify.design. 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 Widget is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.4k 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 Widget: Tailwindcss Development (anonaddy/anonaddy, 4.9k stars), GSAP Core Animation (greensock/gsap-skills, 16k stars), GSAP in Vue, Nuxt and Svelte (greensock/gsap-skills, 16k stars) and Vuetify Playground (vuetifyjs/vuetify, 41k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
GXFG (a GitHub user) maintains it in GXFG/newtab-naivetab, which has 137 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 7, 2026.
Source: GXFG/newtab-naivetab on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.