本文へ移動
cccskills
無料GitHub で公開

generic-migration

Framework-agnostic methodology for migrating a plugin, extension, or integration across a breaking upstream release — inventory coupling points, classify changes, stage the migration, and verify in layers. Use when upgrading any plugin from one host-framework version to another without access to framework-specific migration notes. Not a substitute for vendor release notes; contains no framework-specific facts.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md5.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Generic Plugin Migration Methodology

A disciplined procedure for moving a plugin across an upstream release that may contain breaking changes. Everything here is framework-agnostic: no product names, no version numbers, no API identifiers. Pair it with the upstream project's own changelog and release notes whenever those exist.

0. Ground rules

  • Never migrate blind. If you have not read the upstream changelog for every version in the corridor (start → target, inclusive), you are guessing.
  • Inventory before edits. A written list of what the plugin touches beats discovering breakage one crash at a time.
  • Change one layer at a time, and keep the old install runnable until the new one is proven (side-by-side installs, separate data directories).

1. Inventory the coupling surface

Before touching code, scan the plugin read-only and record every place it couples to the host. A generic coupling checklist:

  1. Manifest / metadata — declared compatibility ranges, entry points, permissions, capabilities the plugin requests.
  2. Host API imports — every module, symbol, or type imported from the host or its SDK; note which are used at load time vs call time.
  3. Lifecycle & events — activation hooks, event subscriptions, disposal.
  4. Services & RPC — services the plugin consumes or exposes; inter-process or request/response channels and their payload shapes.
  5. UI contributions — commands, views, panels, menus, themes, keybindings.
  6. Persistence — files, databases, or key-value stores the plugin reads or writes, including schema versions and migration code.
  7. Process & I/O seams — spawned subprocesses, sockets, pipes, parsers of host-generated output (logs, CLI text, serialized state).
  8. Configuration — settings keys read/written, defaults the plugin relies on, user-facing documentation of those keys.
  9. Dependencies — packages shared with the host (risk of duplicate instances), peer ranges, runtime version floors.

For each item record: file/line, what exactly is coupled, and how confident you are. "No hit" is only meaningful after you state what you scanned and what you could not rule out.

2. Read the corridor, not just the endpoints

Changes across a release corridor interact. Read every intermediate release's notes and diff, and build a net-state table:

  • A field removed in an intermediate version but restored later has zero net change — do not "migrate" it away.
  • A rename that happened in two steps (A → B → C) is migrated straight A → C.
  • Behavior changes (defaults, ordering, timing) are as breaking as API removals; list them explicitly.

Classify each upstream change as: breaking (must edit), behavioral (must re-verify), additive (optional), or informational.

3. Map, then edit

Map every inventory hit (§1) to a corridor change (§2). Only then edit, in dependency order:

  1. Manifest and compatibility ranges first — the host may refuse to load anything else you fix.
  2. Host API surface: renames, removals, signature changes.
  3. Lifecycle/events/services.
  4. Persistence migrations (never mutate the user's only copy; write-migrate on first run with a backup, or fail closed).
  5. UI and configuration.
  6. Dependency alignment: shared packages must resolve to the host's instance; check for duplicate copies in the installed tree.

4. Verify in layers

Cheap layers first; each layer must pass before the next means anything:

  1. Static: typecheck, lint, the plugin's own unit tests.
  2. Install-time: the host accepts the manifest and loads the plugin without warnings.
  3. Cold start: a real host process boots with the plugin enabled; check logs for deprecation and fallback warnings, not just crashes.
  4. Functional probe: one real end-to-end path per major feature, including the features you did not migrate (silent behavior drift hides there).
  5. Data: migrate a copy of real persisted data; verify round-trip and downgrade behavior.
  6. Rollback rehearsal: prove you can go back — reinstall the old version against the migrated data and confirm it still works or that you have a restore path.

5. Discipline and pitfalls

  • Prefer the host's documented replacement over re-implementing removed behavior yourself.
  • Treat "it typechecks" as the beginning of verification, not the end.
  • Deprecated-but-working is a scheduled failure: record it even if out of scope.
  • If a change's semantics are unclear, read the upstream source at the target tag; do not guess shapes from a one-line changelog entry.
  • Keep a written migration log: what you changed, why, and what you verified. It is the artifact that lets someone else trust the migration.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when the user hands over a dsh plugin repository (or a real migration commit / version corridor) and wants its upgrade experience extracted into one auto-graded Harbor benchmark exam task — produce tasks/<id>/ (fixture + instruction.md + task.toml + judge.mjs + solution) that harbor run can grade 0–1 and that folds into the dsh-plugin-upgrade-skill benchmark suite; also applies to turning existing version cards (references/v*.md) into executable exam tasks. Not for writing upgrade cards; not for running the benchmark.

日本語の概要は準備中です。原文の説明を表示しています。

NanmiCoder/dsh-agent-teams2,0182026年10月11日 更新

开发、维护、分发和验证 DeepSeek Harness (DSH) 插件的执行型 Skill。覆盖 host/client 形态判断、bundle/profile 契约、Service 与函数插件、工具、HTTP、持久化、slot、Conversation Node、客户端构建、HMR、GitHub 安装和真实组合验证。

日本語の概要は準備中です。原文の説明を表示しています。

NanmiCoder/dsh-agent-teams2,0182026年10月11日 更新

Audit external compatibility between two DSH (DeepSeek Harness) versions and detect reverts, producing an upgrade-report directory; compares git tags with a source checkout, or published npm packages without one. Use whenever the user asks to check/compare/audit two DSH versions or whether upgrading is safe — e.g. "more changes or reverts in dsh-vX -> dsh-vY", "compare the breaking changes" — even with only two version numbers and no source location. Read-only outside the report directory; npm mode installs in isolation with --ignore-scripts.

日本語の概要は準備中です。原文の説明を表示しています。

NanmiCoder/dsh-agent-teams2,0182026年10月11日 更新

Use when adding a heavyweight browser dependency (diagram/chart renderers like mermaid, code editors, big wasm-adjacent libs) to a lightweight DSH Web plugin that must stay small, when wiring a lazy-loaded chunk through a host route, when the lazy import intermittently fails or falls back, or when rendering untrusted markup (SVG/HTML) produced by such a dependency.

日本語の概要は準備中です。原文の説明を表示しています。

NanmiCoder/dsh-agent-teams2,0182026年10月11日 更新

Package, publish, and distribute DeepSeek Harness (DSH) plugins — npm pack artifact validation, GitHub/npm/hub release-track selection, tarball overrides installs for the unpublished cohort (0.1.2-alpha.*), and CI/release gates with rollback. Use when publishing a plugin, packing a tarball, wiring a plugin into a profile/hub, or installing an alpha version that is not on npm; show a plan and obtain user confirmation before any publish action.

日本語の概要は準備中です。原文の説明を表示しています。

NanmiCoder/dsh-agent-teams2,0182026年10月11日 更新

Use when an installed DSH Web plugin misbehaves only at runtime in the browser — paste/attachment/composer features that work once then fail, chips or panels showing stale placeholder state, update chips claiming the wrong version — and the fix must be diagnosed against the exact host API semantics rather than guessed from names. Also use when reviewing a plugin's calls into input-machine or facade verbs (insert, consume, remove, subscribe) before a release.

日本語の概要は準備中です。原文の説明を表示しています。

NanmiCoder/dsh-agent-teams2,0182026年10月11日 更新

NanmiCoder のスキルをすべて見る

このスキルの問題を報告する