plugin-core-builtin-migration

A repeatable process for turning an optional MindOS renderer plugin into a built-in, always-available part of the application. It also covers moving old entry points while keeping existing data usable.

In plain words
What is it for?
Migrating core plugins, centralising registration, preserving old data, and checking the UI, tests, and linting.
Why use it?
It helps prevent missing registrations, accidental disabling, broken user flows, and lost content during the change.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/geminilight/mindos/plugin-core-builtin-migration
Any agent
npx skills add GeminiLight/MindOS --skill plugin-core-builtin-migration
Clone the repo
git clone --depth 1 https://github.com/GeminiLight/MindOS

Made for: Claude Code, Codex.

Per session 86 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,834 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found 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 $0.00086 $0.01834
Opus 5 $0.00043 $0.00917
Sonnet 5 $0.00017 $0.00367
Haiku 4.5 $0.00009 $0.00183

Measured 3d ago against content hash 4db21974f550, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

plugin-core-builtin-migration 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 3d 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.

skills/plugin-core-builtin-migration/SKILL.md · 178 lines

How it starts

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

Plugin Core Built-in Migration

把单个插件改造成“稳定、默认、不可缺席”的产品能力,并沉淀可复用迁移步骤。

适用场景:

  • 某插件已经成为核心体验(例如 TODO、CSV、配置、变更中心)
  • 旧插件入口要退役,但历史数据要可迁移
  • 需要避免“某页面漏 import 导致插件空列表”这类注册漂移

目标定义(先对齐)

在本项目中,“完全内置”建议同时满足:

  1. 注册稳定:渲染器注册有且仅有一个客户端根入口(推荐 SidebarLayout / ShellLayout
  2. 默认可用manifest.builtin = true
  3. 不可禁用(如需真正 core):manifest.core = trueregistry 会强制启用)
  4. 可观测可维护:插件页、设置页、文档、测试一致
  5. 历史兼容:旧入口数据有迁移方案,不丢内容
  6. 表层语义清晰:区分“插件(可管理)”和“应用内建能力(不在插件面板展示)”

质量闸门(必走)

每次执行本 Skill 时,默认同时应用以下质量视角(按顺序):

  1. 产品设计视角product-designer

    • 检查信息层级、任务路径、主次操作、反馈时机
    • 明确“主路径 3 步内可完成”,避免迁移后流程变长
  2. UI/UX 视角ui-design-patterns

    • 检查按钮层级、交互一致性、空状态/错误状态/加载状态
    • 禁止无意义下划线链接滥用;主 CTA 与次级 CTA 视觉层级明确
    • 深色模式可读性必须通过(按钮文字对比、tag 对比、focus 可见)
  3. 实现质量视角

  • 迁移逻辑幂等(重复执行不重复导入)
  • 注册机制单点化(禁止多处散落 import 造成漂移)
  • 避免仅服务端注册导致客户端 0/0 空列表
    • 兼容代码失败不阻断主流程(best-effort + 可观测)
  1. 验证视角
    • 最少通过:core/API 回归测试 + lint
    • UI 变更至少进行一次人工检查(亮色/暗色)

若任一步不满足,迁移不得判定完成。


执行流程(通用)

Step 1) 盘点现状与边界

先确认插件的四类事实来源:

  • 代码入口:packages/web/components/renderers/<plugin>/manifest.ts
  • 注册入口:packages/web/lib/renderers/index.ts(自动生成)
  • 使用入口:resolveRenderer() 调用链(如 ViewPageClient
  • 展示入口:插件面板/设置页(优先使用 getPluginRenderers()

并回答:

  • 该插件是否应 core(不可关闭)?
  • 是否存在旧文件协议/旧入口(如 Agent-Diff.md)需要迁移?

Step 2) 升级插件声明

在 manifest 中设置:

  • builtin: true(内置)
  • core: true(若要完全内置且不可关闭)
  • appBuiltinFeature: true(若是“应用内建能力”且不应出现在插件管理面板)
  • match 保持明确,避免误匹配

如果插件要被替换/下线:

  • 删除旧 renderer 文件
  • 重新生成 packages/web/lib/renderers/index.ts

Step 3) 统一注册机制(防漂移)

必须收敛为单点初始化(客户端):

  • 在客户端根组件(推荐 SidebarLayout)引入 @/lib/renderers/index
  • 移除其他页面/组件分散 import(避免重复与遗漏并存)

验收标准:

  • 任意路由进入插件页,插件列表不应出现 0/0 的假空状态
  • 在“应用内建能力”模式下,被标记能力应从插件面板消失但渲染仍正常

Step 4) 历史兼容迁移(关键)

如果旧插件依赖旧文件格式:

  1. 在核心数据层实现“懒迁移”:
    • 首次读取时自动导入旧格式
    • 写入新格式(结构化 JSON)
  2. 迁移后清理旧入口文件(防止双写和重复导入)
  3. 提供一次性脚本(离线/手动修复):
    • scripts/migrate-*.js

Step 5) UI/UX 对齐

  • 插件页:状态、可开关策略与 core 语义一致
  • 设置页:显示 builtin/core 标签逻辑一致
  • 若设为 appBuiltinFeature:在插件页/设置页/首页 Extensions 一致隐藏
  • 新主流程页面补齐筛选、空状态、加载、已读等基本交互

Read the full file on GitHub · 178 lines

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. 3d ago First seen · 178 lines · 86 tokens per session scan A 4db21974f550

Subscribe to this mod's changes

plugin-core-builtin-migration is a skill published in the GitHub repository GeminiLight/MindOS (662 stars, last pushed 7d ago), licensed MIT. It adds 86 tokens to every session and 1,834 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

acontext-installer

Install Acontext, Login & Init Acontext Project, Add Skill Memory to Agent.

memodb-io/Acontext · 22 tokens

design-taste-frontend

Anti-slop frontend skill for landing pages, portfolios, and redesigns. The agent reads the brief, infers the right design direction, and ships interfaces that do not look templated. Real design systems when applicable, audit-first on redesigns, strict pre-flight check.

Leonxlnx/taste-skill · 61 tokens

stitch-design-taste

Semantic Design System Skill for Google Stitch. Generates agent-friendly DESIGN.md files that enforce premium, anti-generic UI standards — strict typography, calibrated color, asymmetric layouts, perpetual micro-motion, and hardware-accelerated performance.

Leonxlnx/taste-skill · 50 tokens

image-to-code

Elite website image-to-code skill for Codex. For visually important web tasks, it must first generate the design image(s) itself, deeply analyze them, then implement the website to match them as closely as possible. In Codex, it must prefer large, readable, section-specific images instead of tiny compressed boards…

Leonxlnx/taste-skill · 116 tokens

imagegen-frontend-mobile

Elite mobile app image-generation skill for creating premium, app-native screen concepts and flows. Designed for iOS, Android, and cross-platform mobile products. Prioritizes clean hierarchy, comfortably readable text, strong multi-screen consistency, controlled color palettes, non-generic creative direction, textured…

Leonxlnx/taste-skill · 126 tokens

imagegen-frontend-web

Elite frontend image-direction skill for generating premium, conversion-aware website design references. CRITICAL OUTPUT RULE — generate ONE separate horizontal image FOR EVERY section. A landing page with 8 sections produces 8 images. Never compress multiple sections into one image. Enforces composition variety (not…

Leonxlnx/taste-skill · 126 tokens