DeepSeek Harness のプラグイン vs スキル:どちらが必要?
プラグインはハーネスにできることを変え、スキルはエージェントの知識を変える。実機スクリーンショット、2つの実例、そして選択を決める3つの質問で両者を並べて解説します。
最終更新: 2026-09-09
DeepSeek Harness にはよく似た2つの拡張仕組み、プラグインとスキルが備わっています。公式サイトのキャッチコピーは "everything is a plugin" なのに、エージェントはリポジトリ内のプレーンな Markdown スキルファイルも素直に読み込みます。この2つを混同すると、強制が必要な場面でスキルを書いたり、Markdown 1枚で足りる場面にプラグインを作ったりすることになります。
このページでは感覚ではなく証拠で両者を切り分けます。掲載するスクリーンショットはすべて実際のセッションから撮ったもので、元動画の該当秒数へ直接リンク。すべての主張はこの2本の動画か、DeepSeek 公式サイトの文章に基づいています。
スキルは Markdown の指示ファイル(通常は .agents/skills/<name>/SKILL.md)で、コンテキストを補足するものです。エージェントは読んで概ね従いますが、強制はされません。プラグインはリポジトリ外のハーネスプロフィールに組み込まれる Cordis パッケージで、ツールの追加・承認ポリシーの差し替え、さらにはツール呼び出しの実行前拒否までできます。導くならスキル、保証するならプラグイン。
公式の位置づけを並べて比較
DeepSeek の公式ホームページはアーキテクチャを一言で説明しています。"Every capability is a plugin that can be swapped or recomposed: models, tools, skills, sessions, sandboxes, storage, loops, scheduling, and the UI." よく読んでください。スキルは「入れ替え可能なもの」のリストの中に現れ、プラグインはそれらすべてを包む単位です。

動いているインスタンスでは、プラグインは設定パネルのトグル行として目に入ります。ハーネスそのものがパーツ単位で届き、どの部品も切り替えられるのです。

| 項目 | プラグイン | スキル |
|---|---|---|
| 正体 | ハーネス本体に能力を注入する Cordis パッケージ。ツール、承認ポリシー、定期タスク、UI さえも。 | エージェントが読み込む Markdown の指示ファイル(SKILL.md)。追加の文脈と手順を与える。 |
| 保存場所 | リポジトリの外。~/.dsh/profiles/<profile>/node_modules へのシンボリックリンクと、プロフィールの cordis.patch.yml への登録で構成。 | プロジェクト内の .agents/skills/<name>/SKILL.md。またはグローバルスキルフォルダで、セッションが自動で拾う。 |
| 配布方法 | プラグインディレクトリや GitHub リポジトリ経由。プロフィールにインストールし、次回のハーネス再起動で読み込まれる。 | ファイルをリポジトリに置くだけ。すぐにセッションのスキルカタログに現れる。 |
| 能力の限界 | 強制できる。プラグインの hook はツール呼び出しを実行前に拒否できる(同期の ctx.tools.guard() API)。 | 助言のみ。エージェントは概ね手順に従うが、従わせる仕組みは何もない。 |
| 向いている用途 | ハーネスにできることを変える:新しいツール、ガードレール、承認フロー、スケジューリング。 | 繰り返す作業のやり方をエージェントに教える:コミットの作法、SOP、チェックリスト。 |
迷ったら、3つの質問
保証される必要があるか、それとも概ねで十分か?
手順を1つ飛ばすだけで事故になる(本番データベース、破壊的な git 操作)なら強制が必要です。プラグインの hook、あるいは決定論的なスクリプトを実行するステップを持つスキル。スタイルや手順の話(コミットメッセージ、spec のワークフロー)ならスキルで足ります。
リポジトリのものか、マシンのものか?
リポジトリと一緒にチームで共有すべき規約は、コードの隣にコミットするスキルファイルへ。そのマシン固有の能力(直 psql の阻止、スケジューリングツールの追加)は、そのマシンのプロフィールに入れるプラグインへ。
英語の説明ファイル1枚で足りるか?
Markdown に書いた数ステップで済むならスキルを書き、エージェントに下書きさせましょう。クラッシュコースの出演者は AI に書かせています。自分で書くより網羅的だからです。実行の保証が必要になった瞬間が upgrade の合図です。ステップをスクリプトにするか、hook プラグインに昇格させる。動画がたどったのはまさにこの経路です。
実例1:commit スキルを作る
Agentic AI クラッシュコースで出演者が必要にしたのは、再利用可能なコミット手順です。全部コミット、きれいなメッセージ、push はしない。1つのプロンプトからスキルが生まれ、そのやり取りは動画でも数分しかかかりません。
- 1
1つのメッセージでスキルを説明する
プロンプトは commit を担うスキルを要求します。AI のクレジットを残さない、簡潔な箇条書きのメッセージ、コミットすべきでないもののクイックチェック、作業ツリー全体を既定でコミット、push やデプロイは決してしない。

要求全体がひとつの平文メッセージ。SDK もボイラープレートもありません。元動画の 15:50 から見る - 2
エージェントがファイルを書き、即座に登録する
スキルは .agents/skills/<name>/SKILL.md のようなプロジェクトルートから発見されます。新しい commit スキルはセッションのスキルカタログに即座に現れます。入力欄のスラッシュメニューを見れば、エージェントが呼び出せるスキルが一覧できます。

.agents/skills/commit/SKILL.md として保存され、その場でセッションカタログに登場。元動画の 17:00 から見る 
スラッシュを打てば、エージェントが呼び出せるスキルがすべて出てきます。元動画の 10:55 から見る - 3
Markdown として読む:frontmatter、ステップ、ルール
生成されたファイルには frontmatter(name、description、whenToUse)があり、git status から verify までの6ステップと、クレジット禁止や push 禁止のルールが並びます。ただのファイルなので、いつでも手で編集できます。

スキルはただの Markdown です。frontmatter、番号付きステップ、ルール。元動画の 18:00 から見る 
2本目の動画が同じ構造をアニメで示します。まず説明、次にステップ。元動画の 10:45 から見る - 4
曖昧なステップを決定論的なスクリプトへ
「クイック sanity チェック」はモデルの判断だったので、出演者は agent に scripts/check-commit-safety.sh への変換させます。終了コードは 0 が安全、1 が検知、2 が環境エラー。その場で実測され、仕込んだ .env ファイルは deny パターンで検知。同じ git 状態なら、常に同じ判定を返します。

曖昧なステップがスクリプトになりました。0 は安全、1 は検知、2 は環境エラー。元動画の 19:30 から見る
実例2:git-protect プラグインを作る
同じ動画の後半で、リポジトリには破壊的な git コマンドが絶対に実行されないという保証が要ります。誘導では足りない。エージェントが最終的に作ったのはプラグインで、その過程は比較表のプラグインの特徴をすべて体験するものです。
- 5
hook を依頼し、ワークスペース外の書き込みを承認する
エージェントは正しい拡張点を見つけます。ツールレジストリは ctx.tools.guard() という、ツール呼び出しを実行前に拒否できる同期 hook の API を公開しています。配線にはワークスペース外への書き込みが要るため、画面には承認ダイアログが表示されます。

プラグインはリポジトリの外に置かれます。書き込む前に agent が許可を求めます。元動画の 24:30 から見る - 6
何が作られたか:contract とプロフィール配線と再起動
出来上がるのは本物のコードです。.agents/git-protect/hook/index.mjs に Cordis contract(name、inject: ['tools']、apply)を持たせ、~/.dsh/profiles/node_modules へシンボリックリンクし、cordis.patch.yml で登録。画面の注意書きによると、web プロフィールは HMR が無効のため、プラグインは次回のハーネス再起動で有効になります。

プラグインは contract を持つ本物のコードであり、読み込みには再起動が要ります。元動画の 25:00 から見る - 7
強制力を証明する
再起動後、git reset --hard も git branch -D の探りもブロックされます。拒否はシェルではなく hook からのもの。一方で git status、git log、git diff は通常通り通り抜け、コミット待ちの spec.md の変更は無傷のままでした。

破壊的なコマンドはハーネス層で拒否されます。礼儀ではなく。元動画の 26:30 から見る
2つはどう協力するか
この2つの仕組みは競合ではなく、層です。動画の中の同じリポジトリには最終的に両方が入ります。commit スキルが毎回のコミットをきれいに保ち、git-protect プラグインは会話で何を言おうと、破壊的なコマンドがハーネス層で拒否されることを保証します。
逆方向もあります。プラグインの作り方をエージェントに教えるスキルが存在します。入門向けの動画では、creator mode で新しいプラグインを組み立てる際に cordis-plugin-development スキルが読み込まれます。アーキテクチャが依存するプラグインを、スキルが生み出す構図です。
The full guardrail stack is now active: the harness hook (tool-level deny), the commit skill (safety check → ignore resolution → clean local commits), and AGENTS.md policy.
クラッシュコース動画の約 26:30 に表示された要約より
よくある質問
このページに寄せられる質問に、動画と公式の文章からお答えします。
DeepSeek Harness のスキルファイルはどこに置く?
プロジェクトのスキルはリポジトリルートの .agents/skills/<name>/SKILL.md です。動画のエージェントはこれを project-scoped で自動発見されると説明しています。グローバルスキルも対応しています。2本目の動画では、既存の Claude Code 環境にあったグローバルスキルが自動的に取り込まれました。
スキルはツールやコマンドを実行できる?
スキルそのものは指示のみです。既定ではエージェントが読んで手順を解釈します。予測可能な結果が欲しいなら、クラッシュコースのやり方に倣い、スクリプト(check-commit-safety.sh)を添付してそのステップに実行させるか、チェックを hook として束ねて提案から強制へ変えます。
プラグインにできてスキルにできないことは?
ハーネスそのものを変えることです。プラグインはツールの注入、ツール呼び出しの実行前拒否、承認ポリシーの差し替え、定期タスクのような追加ができます。ワークスペース外のプロフィールに配線され、再起動で読み込まれます。スキルは会話にコンテキストを足せるだけです。
プラグインとスキルについて、公式の文言は?
ホームページにはこうあります。"Every capability is a plugin that can be swapped or recomposed: models, tools, skills, sessions, sandboxes, storage, loops, scheduling, and the UI." つまりスキルはリストの中の1つの能力であり、プラグインはスキルを含むすべての出荷単位だ、ということです。
Claude Code から移行しますが、スキルはそのまま使える?
ほぼ使えます。スキルはプレーンな Markdown だからです。クラッシュコースは、リポジトリにローカルスキルが既にあればハーネスが読めるはずだと述べ、2本目の動画では Claude Code のグローバルスキルが自動取り込みされました。例外はプラグインで、Cordis 固有のため DeepSeek Harness 向けに作り直すかインストールが必要です。
プラグインがすぐ有効にならないのはなぜ?
web プロフィールは HMR が無効のため、新しく配線されたプラグインは次回のハーネス再起動で有効になります(動画の注意書きの通り)。確認するには、プラグインがブロックすべきコマンドを agent に実行させます。シェルの結果ではなく hook による拒否が返ってくるはずです。
関連ガイド
どちらを使うか決めたら、次はこちら。
dsh プラグインとは
dsh プラグインとは何か、何を変えられるのか、プラグインツリーがどう構成されるのかを解説します。
ガイドを読むプラグイン開発入門
Cordis プラグインの作り方・公開・掲載まで。公式アンカーつきで解説します。
ガイドを読むDeepSeek Harness 使い方:dsh プラグインの入れ方・インストール方法
dsh でのプラグイン インストールの実際の仕組みと、サードパーティコードを見極めるチェックリスト。
ガイドを読むプロファイル・パッチ・プリセット
dsh プロセスが積み重ね設定レイヤーからどう組み立てられるか、そして自分仕様にする方法。
ガイドを読むDeepSeek Harness プラグインを作ったら、掲載しませんか?
リポジトリに dsh-plugin トピックを付けて、awesome-dsh-plugins リストに PR を出してください。この dsh プラグイン ディレクトリは自動で同期されます。
ガイドを読む出典とクレジット
このページのスクリーンショットはすべてこの2本の動画から撮ったもので、各画像は撮影した正確な秒数へ深リンクします。上の解説文は当サイト独自のものです。
