• Projects
  • Service
  • About
  • branding.bz
  • Podcast
  • Tips
  • FAQ
  • Recruit
  • Download
  • Contact
  • branding.bz(ブランド構築SaaS)
  • DESIGN NOW(デザインメディア)
  • X
  • LinkedIn
  • Spotify
  • Facebook

213-0011 神奈川県川崎市高津区久本3-6-7-303

© 2026 ID INC. All rights reserved

claude-skills/スキル
SKILLOfficialdevelopment

output-dev-skill-file

プラグイン
outputai
ソース
GitHub で見る ↗
説明

Output フレームワーク(出力形式の統一的な仕組み)の遅延ロード式(必要になるまで読み込みを待つ)命令システム用の .md ファイルを作成します。 次のような場合に使用: - プロンプト(指示文)にスキルを追加する - スキルの読み込み設定を行う - スキルの呼び出しに問題がないか調べる

原文を表示

Create .md skill files for Output framework's lazy-loaded instruction system. Use when adding skills to prompts, configuring skill loading, or debugging skill resolution.

ユースケース
  • プロンプトにスキルを追加する
  • スキルの読み込み設定を行う
  • スキルの呼び出し問題を調べる
本文(日本語訳)

スキルファイルの作成

概要

このスキルでは、Output フレームワークのスキルシステム用に .md 形式のスキルファイルを作成する方法を説明します。スキルは遅延読み込み(必要になるまで読み込まない)される命令パッケージで、プロンプトを軽量に保ちます。LLM はシステムメッセージでスキル名と説明の一覧を確認してから、必要に応じて load_skill ツールを呼び出して完全な命令を取得します。

重要: これらはフレームワークスキル(.md ファイルで実行時に LLM により読み込まれる)であり、Claude Code プラグインスキルではありません。命名は似ていますが、システムは別のものです。

このスキルを使う場合

  • LLM プロンプトに再利用可能な命令セットを追加したい
  • プロンプトのメタデータ(frontmatter)にスキルのパスを記載したい
  • スキルの解決方法や load_skill ツールの問題をデバッグしたい
  • 複数のプロンプト間で共有知識を整理したい

場所の規約

スキルファイルはプロンプトファイルの隣にある skills/ フォルダに配置します。プロンプトのメタデータでそのフォルダ(または個別ファイル)を指定します。兄弟フォルダの skills/ ディレクトリはプロンプトで明示的に指定しない限り読み込まれません。

src/workflows/{workflow-name}/
├── workflow.ts
├── steps.ts
├── types.ts
└── prompts/
    ├── writing_assistant@v1.prompt
    └── skills/
        ├── clarity_guidelines.md
        ├── response_format.md
        └── structure_guide.md

skills/ フォルダはワークフローのルートではなく、プロンプトファイルの位置を基準に相対的に解決されます。

スキルファイルの形式

スキルファイルはマークダウンドキュメントで、オプションの YAML メタデータブロック付きです。

---
name: clarity_guidelines
description: 技術コンテンツを明確で読みやすく書くためのルール
---

# 明確性ガイドライン

技術コンテンツの明確性をレビューまたは執筆する場合:

1. **文の長さ**: 可能な限り 25 語以下の文を保つ。
   複雑な考えは複数の文に分ける。

2. **能動態**: 受動態(「X は関数によって返される」)ではなく
   能動態(「関数は X を返す」)を優先する。

3. **専門用語**: 技術用語は初出時に定義する。
   説明のない不要な略語は避ける。

4. **具体例**: すべての抽象的な概念に
   具体例を付ける必要がある。

このスキルを適用するときは、見つかった違反にフラグを立てて
改善案を提案する。

メタデータフィールド

フィールド 必須 デフォルト 説明
name いいえ .md を除いたファイル名 LLM が load_skill で使用する識別子
description いいえ name と同じ システムメッセージに表示され、LLM がスキルを読み込むかどうかを判断する際に使用される
ボディ はい — LLM が load_skill を呼び出したときに返される完全な命令

メタデータ全体を省略した場合、ファイル名(.md を除く)が name と description の両方として使用されます。メタデータなしで clarity_guidelines.md という名前のファイルは、name: "clarity_guidelines" と description: "clarity_guidelines" になります。

説明をよく書いてください。説明はシステムメッセージに表示され、LLM がスキルを読み込むかどうかを判断するために使用されます。「clarity_guidelines」より「技術コンテンツを明確で読みやすく書くためのルール」の方が優れています。

スキルの読み込み方法

スキルパスをプロンプトの YAML メタデータに記載します。パスはプロンプトファイルからの相対位置で解決され、個別の .md ファイルまたは .md ファイルのディレクトリが可能です。(以下のモデル情報は 2026-05-04 時点でのものです。output-dev-model-selection で最新情報を確認してください。)

---
provider: anthropic
model: claude-sonnet-4-6
maxTokens: 2048
skills:
  - ./skills
  - ../shared_skills/tone_guide.md
---

<system>
あなたは技術ライティング分野のエキスパートです。
スキルを適用する前に load_skill を使用して完全な命令を取得してください。
</system>

<user>
以下の {{ content_type }} コンテンツをレビューし、{{ focus }} に焦点を当ててください。

コンテンツ:
{{ content }}
</user>

実行時に Output は記載されたパスを読み込み、以下を行います。

  1. 利用可能なスキルの概要をシステムメッセージに追加
  2. LLM が呼び出せる load_skill ツールを挿入

スキルパスはプロンプトのメタデータに記載します。

プロンプトがスキルを読み込まないようにする場合は、skills を省略するか skills: [] に設定します。同じディレクトリ内の他のプロンプトで使用される兄弟フォルダの skills/ は継承されません。

完全な例

スキルファイル

---
name: response_format
description: すべてのレビュー応答の標準形式要件
---

# 応答形式

すべての応答は「OUTPUT_COMPLETE」という正確な文字列で終わる必要があります。その行は1行で単独である必要があります。

レビューを以下のように構成してください。

1. **概要**: コンテンツの品質に関する 2~3 文の概要
2. **問題**: 見つかった特定の問題の番号付きリスト
3. **提案**: 各問題の実行可能な改善
4. **スコア**: 0~100 の全体品質スコア

OUTPUT_COMPLETE

スキルを使用するプロンプトファイル

---
provider: anthropic
# 2026-05-04 時点 - 最新情報は output-dev-model-selection を実行してください
model: claude-sonnet-4-6
maxTokens: 2048
skills:
  - ./skills
---

<system>
あなたは技術ライティング分野のエキスパートです。
スキルを適用する前に load_skill を使用して完全な命令を取得してください。
レビュー後は、特定の問題と提案を含む構造化されたフィードバックを提供してください。
</system>

<user>
以下の {{ content_type }} コンテンツをレビューし、{{ focus }} に焦点を当ててください。

コンテンツ:
{{ content }}
</user>

スキルを使用するステップ関数

import { step, z } from '@outputai/core';
import { Agent, aiSdk } from '@outputai/llm';

export const reviewContent = step( {
  name: 'reviewContent',
  description: '専門的な知識のためのスキルを使用してコンテンツをレビュー',
  inputSchema: z.object( {
    content: z.string(),
    content_type: z.string(),
    focus: z.string()
  } ),
  outputSchema: z.object( {
    summary: z.string(),
    issues: z.array( z.string() ),
    suggestions: z.array( z.string() ),
    score: z.number()
  } ),
  fn: async input => {
    const agent = new Agent( {
      prompt: 'writing_assistant@v1',
      variables: input,
      output: aiSdk.Output.object( {
        schema: z.object( {
          summary: z.string().describe( '2~3 文の概要' ),
          issues: z.array( z.string() ).describe( '見つかった特定の問題' ),
          suggestions: z.array( z.string() ).describe( '実行可能な改善' ),
          score: z.number().describe( 'スコア 0~100' )
        } )
      } )
    } );
    const { output } = await agent.generate();
    return output;
  }
} );

ベストプラクティス

1. 焦点の絞られたスキルを書く

各スキルは 1 つの専門領域をカバーします。大きな 1 つのスキルより、複数の焦点を絞ったスキルを選びます。

skills/
├── clarity_guidelines.md      # 執筆の明確性
├── structure_guide.md         # ドキュメント構造
└── response_format.md         # 出力形式

2. わかりやすい説明を書く

説明はシステムメッセージに表示されます。LLM がスキルを読み込むべき場合を明確にしてください。

---
name: clarity_guidelines
description: 技術コンテンツを明確で読みやすく書くためのルール
---

× よくない例:

---
name: clarity_guidelines
description: clarity_guidelines
---

3. ヘッダーと箇条書きで命令を構成する

スキャン可能な命令にはマークダウンヘッダーと箇条書きを使用します。

# 明確性ガイドライン

## ルール
1. 文を 25 語以下に保つ
2. 能動態を優先する
3. 専門用語は初出時に定義する

## フラグを立てるべき場合
- 30 語を超える文
- 指示における受動態
- 説明なしの略語

4. 実行可能なガイダンスを含める

スキルの対象を説明するだけでなく、スキルで何をするかを LLM に伝えてください。

このスキルを適用するときは、見つかった違反にフラグを立てて改善案を提案してください。

検証チェックリスト

  • [ ] プロンプトメタデータがスキルパスを記載している(skills: ./skills または明示的なファイル)
  • [ ] 各スキルメタデータに明確でわかりやすい description がある
  • [ ] スキル本体に実行可能な命令が含まれている
  • [ ] プロンプトファイルがシステムメッセージで load_skill に言及している
  • [ ] 記載されたパスがプロンプトファイルからの相対位置で解決される
  • [ ] スキルを読み込まないプロンプトは skills を省略するか skills: [] に設定している
  • [ ] スキルが焦点を絞っている(1 ファイル 1 専門領域)
  • [ ] プロンプトメタデータはツールループの上限が 10 ではない場合 maxSteps を設定している

関連スキル

  • output-dev-prompt-file - スキルを使用する .prompt ファイルの作成
  • output-dev-agent-class - スキルを使用した Agent クラスの使用
  • output-dev-step-function - ステップ関数でのスキルの使用
  • output-dev-folder-structure - スキルファイルの場所を理解する
原文(English)を表示

Creating Skill Files

Overview

This skill documents how to create .md skill files for the Output framework's skills system. Skills are lazy-loaded instruction packages that keep prompts lightweight. The LLM sees a list of skill names and descriptions in the system message, then calls a load_skill tool to retrieve full instructions on demand.

Important: These are framework skills (.md files loaded by LLMs at runtime), not Claude Code plugin skills. The naming is similar but the systems are separate.

When to Use This Skill

  • Adding reusable instruction sets to LLM prompts
  • Listing skill paths in prompt frontmatter
  • Debugging skill resolution or load_skill tool issues
  • Organizing shared expertise across multiple prompts

Location Convention

Skill files live in a skills/ folder next to the prompt file. List that folder (or individual files) in the prompt frontmatter. A sibling skills/ directory is not loaded unless the prompt names it:

src/workflows/{workflow-name}/
├── workflow.ts
├── steps.ts
├── types.ts
└── prompts/
    ├── writing_assistant@v1.prompt
    └── skills/
        ├── clarity_guidelines.md
        ├── response_format.md
        └── structure_guide.md

The skills/ folder is relative to the prompt file location, not the workflow root.

Skill File Format

Skill files are markdown documents with an optional YAML frontmatter block:

---
name: clarity_guidelines
description: Rules for writing clear, readable technical content
---

# Clarity Guidelines

When reviewing or writing technical content for clarity:

1. **Sentence length**: Keep sentences under 25 words when possible.
   Break complex ideas into multiple sentences.

2. **Active voice**: Prefer active voice ("The function returns X")
   over passive ("X is returned by the function").

3. **Jargon**: Define technical terms on first use.
   Avoid unnecessary acronyms without explanation.

4. **Concrete examples**: Every abstract concept should have
   a concrete example.

When applying this skill, flag any violations you find
and suggest improvements.

Frontmatter Fields

Field Required Default Description
name No Filename without .md Identifier the LLM uses with load_skill
description No Same as name Shown in system message, helps LLM decide when to load
Body Yes - Full instructions returned when LLM calls load_skill

If you omit the frontmatter entirely, the filename (without .md) is used as both the name and description. A file named clarity_guidelines.md with no frontmatter gets name: "clarity_guidelines" and description: "clarity_guidelines".

Write good descriptions. They appear in the system message and are what the LLM uses to decide whether to load a skill. "Rules for writing clear, readable technical content" is better than "clarity_guidelines".

How Skills Are Loaded

List skill paths in the prompt YAML frontmatter. Paths resolve relative to the prompt file and can be individual .md files or directories of .md files. (Model lines below are current as of 2026-05-04 - refresh via output-dev-model-selection.)

---
provider: anthropic
model: claude-sonnet-4-6
maxTokens: 2048
skills:
  - ./skills
  - ../shared_skills/tone_guide.md
---

<system>
You are an expert technical writing assistant.
Use load_skill to get full instructions for any skill before applying it.
</system>

<user>
Review the following {{ content_type }} content focusing on {{ focus }}.

Content:
{{ content }}
</user>

At runtime, Output loads the listed paths and:

  1. Adds a summary of available skills to the system message
  2. Injects a load_skill tool the LLM can call

List skill paths in the prompt frontmatter.

Omit skills (or set skills: []) when a prompt should load none. A sibling skills/ folder used by other prompts in the same directory is not inherited.

Complete Example

Skill File

---
name: response_format
description: Standard format requirements for all review responses
---

# Response Format

Every response MUST end with the exact string "OUTPUT_COMPLETE" on its own line.

Structure your review as follows:

1. **Summary**: 2-3 sentence overview of the content quality
2. **Issues**: Numbered list of specific problems found
3. **Suggestions**: Actionable improvements for each issue
4. **Score**: Overall quality score from 0-100

OUTPUT_COMPLETE

Prompt File Using Skills

---
provider: anthropic
# current as of 2026-05-04 - run output-dev-model-selection for the latest
model: claude-sonnet-4-6
maxTokens: 2048
skills:
  - ./skills
---

<system>
You are an expert technical writing assistant.
Use load_skill to get the full instructions for any skill before applying it.
After reviewing, provide structured feedback with specific issues and suggestions.
</system>

<user>
Review the following {{ content_type }} content focusing on {{ focus }}.

Content:
{{ content }}
</user>

Step Using the Prompt

import { step, z } from '@outputai/core';
import { Agent, aiSdk } from '@outputai/llm';

export const reviewContent = step( {
  name: 'reviewContent',
  description: 'Review content using skills for specialized expertise',
  inputSchema: z.object( {
    content: z.string(),
    content_type: z.string(),
    focus: z.string()
  } ),
  outputSchema: z.object( {
    summary: z.string(),
    issues: z.array( z.string() ),
    suggestions: z.array( z.string() ),
    score: z.number()
  } ),
  fn: async input => {
    const agent = new Agent( {
      prompt: 'writing_assistant@v1',
      variables: input,
      output: aiSdk.Output.object( {
        schema: z.object( {
          summary: z.string().describe( '2-3 sentence overview' ),
          issues: z.array( z.string() ).describe( 'Specific problems found' ),
          suggestions: z.array( z.string() ).describe( 'Actionable improvements' ),
          score: z.number().describe( 'Quality score 0-100' )
        } )
      } )
    } );
    const { output } = await agent.generate();
    return output;
  }
} );

Best Practices

1. Write Focused Skills

Each skill should cover one area of expertise. Prefer multiple focused skills over one large skill:

skills/
├── clarity_guidelines.md      # Writing clarity
├── structure_guide.md         # Document structure
└── response_format.md         # Output formatting

2. Write Descriptive Descriptions

The description appears in the system message. Make it clear when the LLM should load this skill:

---
name: clarity_guidelines
description: Rules for writing clear, readable technical content
---

Not:

---
name: clarity_guidelines
description: clarity_guidelines
---

3. Structure Instructions with Headers

Use markdown headers and lists for scannable instructions:

# Clarity Guidelines

## Rules
1. Keep sentences under 25 words
2. Prefer active voice
3. Define jargon on first use

## When to Flag
- Sentences over 30 words
- Passive voice in instructions
- Undefined acronyms

4. Include Actionable Guidance

Tell the LLM what to do with the skill, not just what the skill is about:

When applying this skill, flag any violations you find and suggest improvements.

Verification Checklist

  • [ ] Prompt frontmatter lists skill paths (skills: ./skills or explicit files)
  • [ ] Each skill has a clear, descriptive description in frontmatter
  • [ ] Skill body contains actionable instructions
  • [ ] Prompt file mentions load_skill in the system message
  • [ ] Listed paths resolve relative to the prompt file
  • [ ] Prompts that should load no skills omit skills (or set skills: [])
  • [ ] Skills are focused (one area of expertise per file)
  • [ ] Prompt frontmatter sets maxSteps when the tool-loop ceiling should not be 10

Related Skills

  • output-dev-prompt-file - Creating .prompt files that use skills
  • output-dev-agent-class - Using the Agent class with skills
  • output-dev-step-function - Using skills in step functions
  • output-dev-folder-structure - Understanding skill file locations

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。