diff --git a/config/external-sources.lock.json b/config/external-sources.lock.json
index 8d8e707b..5117d6c8 100644
--- a/config/external-sources.lock.json
+++ b/config/external-sources.lock.json
@@ -114,8 +114,8 @@
"repo": "https://github.com/nextlevelbuilder/ui-ux-pro-max-skill.git",
"ref": "main",
"adapter": "claude-skill",
- "commit": "9a3f14f7423037ccb8feeb4fee7482291b9c820e",
- "syncedAt": "2026-10-31T16:00:01Z"
+ "commit": "3a13158ff1f32156cbe144108de48eda2ecaed9a",
+ "syncedAt": "2026-11-01T16:00:00Z"
},
{
"id": "superpowers-zh",
@@ -150,8 +150,8 @@
"repo": "https://github.com/shadcn-ui/ui.git",
"ref": "main",
"adapter": "claude-skill",
- "commit": "24a16429815cc4d691f38b49d0f4ffc11a9daef4",
- "syncedAt": "2026-10-31T16:00:01Z"
+ "commit": "c0d63c339d6cd2fc26135590a54cf1f362269451",
+ "syncedAt": "2026-11-01T16:00:00Z"
},
{
"id": "frontend-slides",
@@ -267,8 +267,8 @@
"repo": "https://github.com/vercel/next.js.git",
"ref": "canary",
"adapter": "skill-collection",
- "commit": "fac5fc87df2b60169189ac6dcba3142854124371",
- "syncedAt": "2026-10-31T16:00:01Z"
+ "commit": "3bccd4df910c984ca60f796e50b8d43db3227162",
+ "syncedAt": "2026-11-01T16:00:00Z"
},
{
"id": "shuorenhua",
@@ -276,8 +276,8 @@
"repo": "https://github.com/MrGeDiao/shuorenhua.git",
"ref": "main",
"adapter": "claude-skill",
- "commit": "e33d5eb6420ba3468043791a57d71c153b0a8691",
- "syncedAt": "2026-10-22T16:00:00Z"
+ "commit": "0a001940bf1fc70f29f29a46c3587749d5badb45",
+ "syncedAt": "2026-11-01T16:00:00Z"
}
]
}
diff --git a/plugins/codex/plugins/mcp-playwright/MCP_SOURCE.json b/plugins/codex/plugins/mcp-playwright/MCP_SOURCE.json
index b1134de5..d30a5f06 100644
--- a/plugins/codex/plugins/mcp-playwright/MCP_SOURCE.json
+++ b/plugins/codex/plugins/mcp-playwright/MCP_SOURCE.json
@@ -3,5 +3,5 @@
"name": "playwright浏览器自动化操作",
"version": "20260605",
"keySource": "none",
- "syncedAt": "2026-10-31T16:03:00Z"
+ "syncedAt": "2026-11-01T16:03:04Z"
}
diff --git a/plugins/codex/plugins/next-skills/THIRD_PARTY_SOURCE.json b/plugins/codex/plugins/next-skills/THIRD_PARTY_SOURCE.json
index 0fa2215a..27f1b682 100644
--- a/plugins/codex/plugins/next-skills/THIRD_PARTY_SOURCE.json
+++ b/plugins/codex/plugins/next-skills/THIRD_PARTY_SOURCE.json
@@ -2,8 +2,8 @@
"sourceId": "next-skills",
"repo": "https://github.com/vercel/next.js.git",
"ref": "canary",
- "commit": "fac5fc87df2b60169189ac6dcba3142854124371",
+ "commit": "3bccd4df910c984ca60f796e50b8d43db3227162",
"adapter": "skill-collection",
"sourcePath": "skills",
- "syncedAt": "2026-10-31T16:00:01Z"
+ "syncedAt": "2026-11-01T16:00:00Z"
}
diff --git a/plugins/codex/plugins/shadcn/THIRD_PARTY_SOURCE.json b/plugins/codex/plugins/shadcn/THIRD_PARTY_SOURCE.json
index b66237ca..81da5038 100644
--- a/plugins/codex/plugins/shadcn/THIRD_PARTY_SOURCE.json
+++ b/plugins/codex/plugins/shadcn/THIRD_PARTY_SOURCE.json
@@ -2,8 +2,8 @@
"sourceId": "shadcn",
"repo": "https://github.com/shadcn-ui/ui.git",
"ref": "main",
- "commit": "24a16429815cc4d691f38b49d0f4ffc11a9daef4",
+ "commit": "c0d63c339d6cd2fc26135590a54cf1f362269451",
"adapter": "claude-skill",
"sourcePath": "skills/shadcn",
- "syncedAt": "2026-10-31T16:00:01Z"
+ "syncedAt": "2026-11-01T16:00:00Z"
}
diff --git a/plugins/codex/plugins/shuorenhua/THIRD_PARTY_SOURCE.json b/plugins/codex/plugins/shuorenhua/THIRD_PARTY_SOURCE.json
index 6bb60d6b..22eb2c18 100644
--- a/plugins/codex/plugins/shuorenhua/THIRD_PARTY_SOURCE.json
+++ b/plugins/codex/plugins/shuorenhua/THIRD_PARTY_SOURCE.json
@@ -2,8 +2,8 @@
"sourceId": "shuorenhua",
"repo": "https://github.com/MrGeDiao/shuorenhua.git",
"ref": "main",
- "commit": "e33d5eb6420ba3468043791a57d71c153b0a8691",
+ "commit": "0a001940bf1fc70f29f29a46c3587749d5badb45",
"adapter": "claude-skill",
"sourcePath": ".",
- "syncedAt": "2026-10-22T16:00:00Z"
+ "syncedAt": "2026-11-01T16:00:00Z"
}
diff --git a/plugins/codex/plugins/ui-ux-pro-max/THIRD_PARTY_SOURCE.json b/plugins/codex/plugins/ui-ux-pro-max/THIRD_PARTY_SOURCE.json
index b239a3bd..1db4b7e9 100644
--- a/plugins/codex/plugins/ui-ux-pro-max/THIRD_PARTY_SOURCE.json
+++ b/plugins/codex/plugins/ui-ux-pro-max/THIRD_PARTY_SOURCE.json
@@ -2,8 +2,8 @@
"sourceId": "ui-ux-pro-max",
"repo": "https://github.com/nextlevelbuilder/ui-ux-pro-max-skill.git",
"ref": "main",
- "commit": "9a3f14f7423037ccb8feeb4fee7482291b9c820e",
+ "commit": "3a13158ff1f32156cbe144108de48eda2ecaed9a",
"adapter": "claude-skill",
"sourcePath": ".claude/skills/ui-ux-pro-max",
- "syncedAt": "2026-10-31T16:00:01Z"
+ "syncedAt": "2026-11-01T16:00:00Z"
}
diff --git a/plugins/codex/plugins/ui-ux-pro-max/skills/ui-ux-pro-max/data/catalog-summary.json b/plugins/codex/plugins/ui-ux-pro-max/skills/ui-ux-pro-max/data/catalog-summary.json
index f911c3ae..184d9619 100644
--- a/plugins/codex/plugins/ui-ux-pro-max/skills/ui-ux-pro-max/data/catalog-summary.json
+++ b/plugins/codex/plugins/ui-ux-pro-max/skills/ui-ux-pro-max/data/catalog-summary.json
@@ -1,6 +1,6 @@
{
"schemaVersion": 1,
- "verifiedAt": "2026-08-26",
+ "verifiedAt": "2026-11-01",
"counts": {
"styles": {
"total": 88,
@@ -20,7 +20,7 @@
"motionPresets": 17,
"chartTypes": 25,
"stacks": 22,
- "stackGuidelines": 1271
+ "stackGuidelines": 1278
},
"snapshots": {
"google-fonts.csv": {
diff --git a/plugins/codex/plugins/ui-ux-pro-max/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv b/plugins/codex/plugins/ui-ux-pro-max/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv
index e2aaeca4..f6b8000e 100644
--- a/plugins/codex/plugins/ui-ux-pro-max/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv
+++ b/plugins/codex/plugins/ui-ux-pro-max/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv
@@ -1,77 +1,84 @@
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL,Applies To,Status,Verified At
-1,Installation,Add Nuxt UI module,"Install Nuxt UI and Tailwind CSS, then register the Nuxt module",pnpm add @nuxt/ui tailwindcss and add @nuxt/ui to modules,Manual component imports,modules: ['@nuxt/ui'] // after pnpm add @nuxt/ui tailwindcss,import { UButton } from '@nuxt/ui',High,https://ui.nuxt.com/docs/getting-started/installation/nuxt,nuxt-ui 4.11.1,active,2026-09-21
-2,Installation,Import Tailwind and Nuxt UI CSS,Required CSS imports in main.css file,@import tailwindcss and @import @nuxt/ui,Skip CSS imports,"@import ""tailwindcss""; @import ""@nuxt/ui"";",No CSS imports,High,https://ui.nuxt.com/docs/getting-started/installation/nuxt,nuxt-ui 4.11.1,active,2026-09-21
-3,Installation,Wrap app with UApp component,"UApp provides toast, tooltip, overlay, and locale context",Wrap NuxtPage or RouterView once at the app root,Mount pages outside UApp,, without wrapper,High,https://ui.nuxt.com/docs/components/app,nuxt-ui 4.11.1,active,2026-09-21
-4,Components,Use U prefix for components,All Nuxt UI components use U prefix by default,UButton UInput UModal,Button Input Modal,Click,,Medium,https://ui.nuxt.com/docs/getting-started/installation/nuxt,nuxt-ui 4.11.1,active,2026-09-21
-5,Components,Use semantic color props,"Style Nuxt UI components with meaning-based colors such as primary, success, and error","Use color props such as color=""primary"" or color=""error""",Hardcoded palette colors,"","",Medium,https://ui.nuxt.com/docs/getting-started/theme/design-system,nuxt-ui 4.11.1,active,2026-09-21
-6,Components,Use variant prop for styling,Nuxt UI provides solid outline soft subtle ghost link variants,Choose a built-in variant before adding custom classes,Recreate a built-in variant with custom classes,"","",Medium,https://ui.nuxt.com/docs/components/button,nuxt-ui 4.11.1,active,2026-09-21
-7,Components,Use size prop consistently,Components support xs sm md lg xl sizes,"size=""sm"" size=""lg""",Arbitrary sizing classes,"","",Low,https://ui.nuxt.com/docs/components/button,nuxt-ui 4.11.1,active,2026-09-21
-8,Icons,Use i-{collection}-{name} format for icons,Nuxt UI v4 uses Iconify i-prefix format — lucide:home is v3 legacy,i-lucide-home i-heroicons-user format,lucide:home format (v3 syntax),"","",High,https://ui.nuxt.com/docs/getting-started/installation/nuxt,nuxt-ui 4.11.1,active,2026-09-21
-9,Icons,Use leadingIcon and trailingIcon props,Position icons with dedicated props for clarity,Use leadingIcon or trailingIcon for standard button icons,Build a custom icon slot when a standard icon prop is enough,"","Add",Low,https://ui.nuxt.com/docs/components/button,nuxt-ui 4.11.1,active,2026-09-21
-10,Theming,Configure colors in app.config.ts,Runtime color configuration without restart,ui.colors.primary in app.config.ts,Hardcoded colors in components,defineAppConfig({ ui: { colors: { primary: 'blue' } } }),"",High,https://ui.nuxt.com/docs/getting-started/theme/design-system,nuxt-ui 4.11.1,active,2026-09-21
-11,Theming,Define complete custom palettes with @theme static,Nuxt UI custom colors require shades 50 through 950,Define every --color-brand-* shade in @theme static,Define only one shade for a custom palette,@theme static { --color-brand-50: #fff1f2; ... --color-brand-950: #4c0519; },@theme { --color-brand-500: #ef4444; },Medium,https://ui.nuxt.com/docs/getting-started/theme/design-system,nuxt-ui 4.11.1,active,2026-09-21
-12,Theming,Register and map semantic colors,Register extra semantic color names at build time then map them to a palette in app.config,nuxt.config ui.theme.colors plus app.config ui.colors,Use an unregistered semantic color,"ui: { theme: { colors: ['primary', 'tertiary'] } } then ui.colors.tertiary = 'violet'"," without config",Medium,https://ui.nuxt.com/docs/getting-started/theme/design-system,nuxt-ui 4.11.1,active,2026-09-21
-13,Forms,Use UForm with schema validation,"UForm accepts Standard Schema libraries such as Zod, Valibot, Yup, and Joi",Pass a Standard Schema with :schema and reactive state with :state,Manual form validation,"",Manual @blur validation,High,https://ui.nuxt.com/docs/components/form,nuxt-ui 4.11.1,active,2026-09-21
-14,Forms,Use UFormField for field wrapper,Provides label error message and validation display,UFormField with name prop,Manual error handling,"",
error
,Medium,https://ui.nuxt.com/docs/components/form-field,nuxt-ui 4.11.1,active,2026-09-21
-15,Forms,Handle form submit with @submit,UForm emits submit event with validated data,@submit handler on UForm,@click on submit button,"","",Medium,https://ui.nuxt.com/docs/components/form,nuxt-ui 4.11.1,active,2026-09-21
-16,Forms,Choose validation timing deliberately,UForm validates on input blur and change by default; input is delayed and begins after blur unless eager,Set validateOn and eager to match the interaction,Assume the default validates every keystroke immediately,"",Describe default UForm as eager input-only validation,Low,https://ui.nuxt.com/docs/components/form,nuxt-ui 4.11.1,active,2026-09-21
-17,Overlays,Use v-model:open for overlay control,Modal Slideover Drawer use v-model:open,v-model:open for controlled state,Manual show/hide logic,"","",Medium,https://ui.nuxt.com/docs/components/modal,nuxt-ui 4.11.1,active,2026-09-21
-18,Overlays,Use useOverlay composable for programmatic overlays,Open overlays programmatically — v4 API is create().open() not open(Component),"Create the overlay once, then pass component props directly to open()",v3 overlay.open(Component) pattern (removed in v4),const modal = overlay.create(MyModal); const { result } = modal.open({ title: 'Confirm' }),"overlay.open(MyModal, { props: { title: 'Confirm' } })",High,https://ui.nuxt.com/docs/composables/use-overlay,nuxt-ui 4.11.1,active,2026-09-21
-19,Overlays,Use title and description props,Built-in header support for overlays,Use title and description props for a standard overlay header,Rebuild a simple title and description with a custom header slot,"",
Confirm
,Low,https://ui.nuxt.com/docs/components/modal,nuxt-ui 4.11.1,active,2026-09-21
-20,Dashboard,Use UDashboardSidebar for navigation,Provides collapsible resizable sidebar with mobile support,UDashboardSidebar with header default footer slots,Custom sidebar implementation,...,"