調整したばかりの手順を DeepSeek Harness のスキルにする

スクリーンショット検証済みの7ステップ。ようやく回るようになった操作を、セッションのスキルカタログに載る SKILL.md に変えます — ファイルに何を書き、何を書かないか、そして本当に効いていると証明する方法。

最終更新: 2026-09-22

DeepSeek Harness のエディタで .agents/skills/commit の SKILL.md を開いた画面。左ペインに name、description、whenToUse のフロントマター、右にレンダリング済みプレビュー
フロントマターの 3 フィールドが、モデルに残りを読むかどうかを決めます。

スキルは DeepSeek Harness でいちばん安い再利用可能な部品です。プロジェクトの中の Markdown ファイル 1 つ、状況が合えばエージェントが読みに行きます。ビルドも配線も再起動も不要です。だからこそ難しいのは作成そのものではなく、このファイルに何を書けばよく、そして実際に効いているのをどう確かめるか、という点になります。

このページは、あるクラッシュコース動画のスキル章(出典は上とページ末尾)を追います。作成のループが全部カメラの前で回っています。平易な英語で commit スキルを頼み、生成された SKILL.md を開いて読み、判断に任せていた 1 行を決定的なスクリプトに書き換え、最後にリポジトリへ意図的に仕込んだ偽の秘密情報で合否を取ります。掲載しているコマはすべてこの章のものです。人が書いたスキルをインストールする話と、どれを入れるべきかの話は別の仕事なので、下にリンクを置いてあります。

覚えておくべき 3 点

  • 最初に手で書く必要はありません。セッションで手順を説明すれば、エージェントが .agents/skills/<name>/SKILL.md を書き、それは即座にこのセッションのスキルカタログに載ります。再起動も不要です。
  • スキルはフロントマターと本文の合わせ技です。name、description、whenToUse が、モデルに続きを読ませるかどうかを決め、本文は正確なコマンドを添えた番号付きステップ、その後に絶対やってはいけないことを並べます。
  • 判断として書かれたステップ — 怪しそうなら止める — は、終了コードを持つスクリプトに落とすべきです。同じリポジトリ状態にはいつも同じ結論が返るようになります。

7 ステップで SKILL.md を仕上げる

スキルのファイルはどこにあるか

  1. 1

    まずプロジェクトツリーを見る — .agents はリポジトリの直下

    書き始める前に、プロジェクトスコープのスキルがどこに着地するかを確認します。harness のファイルツリーのルートには .agents/、.obsidian/、vault/、spec.md、AGENTS.md、README.md が並び、内蔵エディタでどれを開いても右隣に Markdown のライブプレビューが出ます。スキルはこのツリーの中のファイルです。リポジトリと一緒にバージョン管理され、あなたが直接編集できる。メニューの奥に隠れたスイッチではありません。

    $.agents/skills/<skill-name>/SKILL.md
    DeepSeek Harness のプロジェクトのファイルツリー。リポジトリ直下の .agents フォルダが spec.md、AGENTS.md、README.md と並んでおり、プロジェクトスコープのスキルはここに入る
    スキルはリポジトリの中のファイルです。普段から編集しているのと同じツリーになります。17:06 から見る
  2. 2

    スキルを依頼し、書き出された SKILL.md を開いて読む

    動画での依頼は 1 段落です。commit 用のスキルを作ってほしい、AI 由来の帰属表示は残さない、メッセージは簡潔な箇条書きに、コミットすべきでないものが無いか手早く確認、ただし触ったファイルだけでなく作業中のファイルを既定で全部コミットしてワーキングツリーを空にする、プッシュもデプロイもしない。エージェントは .agents/skills/commit/SKILL.md を書き、開くとすべてのスキルが持つ形が見えます。name、何をして何を拒否するかを書く description、そしてユーザーが実際に打ちそうな言い回しを並べた whenToUse です。

    $name: commit
    $description: Make a git commit of all working changes with a concise bulleted message; never pushes or deploys.
    $whenToUse: Use when the user asks to commit changes, make a commit, check in work, or wrap up a task.
    DeepSeek Harness のエディタで .agents/skills/commit の SKILL.md を開いた画面。左ペインに name、description、whenToUse のフロントマター、右にレンダリング済みプレビュー
    フロントマターの 3 フィールドが、モデルに残りを読むかどうかを決めます。17:14 から見る

中に何を書くか

  1. 3

    本文は番号付きステップにし、その後に Rules を置く

    生成されたファイルは 6 ステップです。状態確認、手早い健全性チェック、全部ステージ、メッセージ作成、コミット、検証。各ステップに太字の見出しと、そのまま引用されたコマンド(git status、git add -A、git commit -m、git log -1 --oneline)が付いて、最後に Rules が絶対 NG を受け持ちます。帰属表示をしない、簡潔な箇条書きだけ、プッシュもデプロイもしない。この形のおかげでスキルはレビュー可能になります。そして 2 番目のステップをじっと見てほしい。status を眺めて明らかにコミットすべきでないものを探し、怪しければユーザーに報告する — これは英語で書かれた判断です。

    DeepSeek Harness の SKILL.md プレビューで、生成された commit スキルの 2 番目のステップが選択されている場面。git status を眺めて危険なものを判断させるあの 1 行
    番号付きステップが契約書です。選択中の 1 行は、まだ判断に委ねられています。18:18 から見る
  2. 4

    曖昧な英語を決定的なスクリプトに書き換える

    直し方は、問題の 1 行をそのまま引用したうえで、決定論的なスクリプトへ変換してほしいともう 1 通送ることです。エージェントは同じスキルフォルダの中に scripts/check-commit-safety.sh を追加し、SKILL.md を編集して 2 番目のステップを、意見を形成するのではなくスクリプトを実行する、という形に変えます。同じリポジトリ状態を入れれば同じ結論が出る。機械が決められる判断を、モデルの文章理解に預けたままにしないということです。

    $please convert to deterministic script
    DeepSeek Harness の入力欄に、スキルの健全性チェックのステップを決定論的なスクリプトへ変換する依頼を打った画面。その上に修正前の英語の 1 行がそのまま引用されている
    まず問題の 1 行を引用し、意見の代わりにコードを要求します。18:34 から見る

頼る前に証明する

  1. 5

    悪いファイルを 1 つ仕込んで、ツリーを眺める

    安全ルールをテストするには、拒否しなければならないものを渡すしかありません。プロジェクトルートに .env を作り、1 行目に偽のパスワードを打ちます。これでツリーには、スキルの scripts/ フォルダと新しい .env が並んで表示されます。両者を編集するときにも使うのと同じビューです。スクリプトがスキルの一部になったあと、そのフォルダが実際何を含んでいるかを確認する、いちばん手っ取り早い方法でもあります。

    $password=secret
    DeepSeek Harness のエディタに開かれた新規の .env ファイル。1 行目に偽のパスワードが入り、ツリーでは commit スキルの scripts フォルダと並んでいる
    安全ルールを試すには、拒否しなければならないものを渡してみます。19:26 から見る
  2. 6

    空気ではなく判定文を読む

    チェックは調べた結果を印字します。Safety check FLAGGED 2 item(s) among 7 would-be-committed file(s)、うち .env は 2 回リストされています。1 回は deny pattern のヒット、もう 1 回は内容中の疑似シークレットとして。判断は人間が下し、.env は新しく作られた .gitignore に入り、再チェックは終了コード 0 で通り、コミットは動詞始まりの 4 項目・帰属表示なしで着地します。その下の Verified の並びが、このスキルの受け入れ試験です。ワーキングツリーがクリーン、メッセージに AI 由来の帰属表示が無い、プッシュしていない。

    DeepSeek Harness のセッション出力で、commit スキルの安全チェックが仕込んだ .env を 2 回フラグし、その後のコミットメッセージは 4 項目の箇条書きで AI 帰属表示がゼロ
    判定がファイル名とヒットしたルールを名指しするので、レビュー可能になります。19:44 から見る
  3. 7

    自分で下した判断をスキルに書き戻す

    エージェントは自分が止まって人間の判断を待ったことに気づき、それを既定の挙動にしませんかと提案してきます。ignore it と言われたら、フラグ付きのファイルを .gitignore に自動で追記して残りだけをコミットする、という形です。返事は yes do this。これが最後の執筆ステップであり、いちばん省略されるステップです。一度きりの臨時の判断がファイルに入り、次のセッションにはあなたが居なくて済むようになります。

    $yes do this
    DeepSeek Harness のセッションに打ち込まれた追加の返信で、フラグ付きファイルの自動除外を commit スキルの標準的な解決策として固定するよう依頼している
    最後の執筆ステップは、自分の判断をスキルに書き戻すことです。20:00 から見る

スキルはプラグインではない

どちらも一言で作れて、どちらもエージェントの挙動を変えますが、別物であり、保証の強さも別です。スキルは Markdown の一塊で、モデルが関連ありと判断したときに読まれます。出せるのは助言だけで、読み違えればスキップもされます。プラグインは harness に入れるパッケージで、ランタイムにフックします。ツールを増やし、UI を変え、モデルが納得しようがしまいが規則を強制します。毎回必ず守らせたいならプラグインを作る。毎回説明し直す手順に過ぎないならスキルを書く。同じ commit の例を並べた比較は、別ページにまとめてあります。参照先: プラグインとスキルの違い.

DeepSeek Harness のスキルを自作する:よくある質問

SKILL.md を初めて自分で書くときに出てくる疑問。

DeepSeek Harness のスキルファイルはどこに置きますか?

プロジェクトの中に置きます。.agents/skills/<skill-name>/SKILL.md です。動画では声に出して説明されています。スキルはプロジェクトルート配下のこのパスから発見され、ランクはプロジェクトスコープ。あの回で作られた commit スキルは .agents/skills/commit/SKILL.md に着地し、補助スクリプトはその隣、.agents/skills/commit/scripts/check-commit-safety.sh にあります。

スキルを追加したら harness を再起動しますか?

しません。セッション自身の報告が「スキルは有効になり、即座にこのセッションのスキルカタログに現れた」というもので、返信ストリームではファイル書き込みの直後に Context injection · skill-catalog の行が来ています。ファイルが着地した時点でカタログが読み直されているわけです。プラグインのインストールとは正反対で、あちらはサービスの再起動と強制再読込が必要になります。

name、description、whenToUse には何を書きますか?

name は呼び出しに使う識別子で、この例では commit です。description は何をして何を拒否するかを 1 行で書きます。Make a git commit of all working changes with a concise bulleted message; never pushes or deploys. whenToUse がトリガーの文で、ユーザーが実際に打つ言い回しを並べます。asks to commit changes、make a commit、check in work、wrap up a task など。この 3 つは関連度を判定するために読まれるので、フォルダを覗く人間ではなくモデルに向けて書きます。

エージェントに頼まず、SKILL.md を自分で書いても良いですか?

構いません。動画の要点もそこです。スキルは大した仕組みではなく、Markdown のファイルに過ぎず、リポジトリに既にあるスキルフォルダはフォーマットが合えばそのまま読めます。フォーマットが違うなら指示を出すか形式を合わせることになります。頼む方が速く、たいてい丁寧に仕上がるので — 番号付きステップ、引用されたコマンド、ルール欄が揃ってきます — どちらでも構いませんが、あとから必ずファイルを開いて読んでください。あのファイルが契約書です。

どのステップをスクリプトにすべきですか?

機械が yes / no を出せるステップです。秘密情報、ファイルサイズ、パスのパターン、ブールで決まるものは全部。あの回の構築では、健全性チェックが「status を眺めて怪しいものを探す」から、「exit 0 は安全、exit 1 はフラグ、exit 2 は環境エラー」というスクリプトに置き換わり、SKILL.md も判定はスクリプトが権威で、上書きできるのはユーザーだけ、という書き方になりました。同じ入力に同じ出力が出るかどうかが基準です。

スキルが本当に発火したことをどう確認しますか?

セッションの中で 2 か所を見ます。カタログが変わると返信ストリームに Context injection · skill-catalog の行が出ます。エージェントがファイルを書いた/読んだときは、その返信の下の成果物チップに SKILL.md が名指しされます。挙動そのものは、ルールが拾うはずの入力を渡して確かめます。偽のキーを入れた .env などです。出力にファイル名と、どのルールで拾われたかが出ていれば通っています。「従いました」とだけ返すスキルは、何も証明していません。

関連ガイド

人が書いたスキルを入れる、入れるものを選ぶ、そしてスキルと取り違えられがちなあれ。

出典とクレジット

このページのスクリーンショットはすべて、上と下にリンクしたクラッシュコースのスキル章から取り出したコマです。解説者のカメラ吹き出しを消すためのトリミングを加え、出典を明記しています。各ステップは元動画の正確な秒数へのディープリンクを持ち、章立て・注意点・結論はこのページ独自に書いたものです。

DSH Plugins は DeepSeek Harness プラグインの独立したコミュニティ ディレクトリです。DeepSeek との提携・公認はありません。サードパーティ製プラグインはセキュリティ監査を受けていません。インストール前にソースコードをご確認ください。

DeepSeek Harnessの新着プラグインを毎週お届け。スパムはありません。