Communityコーディング&開発github.com

スキルビルダー — スキャフォールド&生成

AIエージェントスキルの設計図から、完全なSKILL.md、サブスキル、スクリプト、エージェント定義、インストールスクリプトまでを段階的に生成します。

スキルビルダー — スキャフォールド&生成 とは?

このスキルは、AIエージェント(Claude Code、Cursor、Codexなど)向けの新しいスキルをゼロから構築するための包括的なガイドです。計画文書や自然言語の説明から入力を収集し、スキルの中核となるSKILL.md、複数のサブスキル、自動化スクリプト、エージェント定義ファイル、さらにインストールスクリプトまでを体系的に生成します。特に「説明フィールド」の作成に重点を置き、能力宣言+詳細機能+トリガーフレーズのフレームワークに従って、1024文字以内で正確にアクティベーションを制御します。また、各成果物には具体的なルール(行数・トークン制限、エラーハンドリングの組み込み、参照ファイルのリンク)があり、品質ゲートを通過したスキルを提供します。Tier 1~4の階層構造をサポートし、最後に検証スクリプトで品質を確認した上で、生成されたファイルツリー、インストール手順、テストクエリをユーザーに提示します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AgriciDaniel/skill-forge/tree/main/skills/skill-forge-build

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

スキルビルダー — スキャフォールド&生成 は何をしますか?

プロセス

Step 1: 入力の収集

何を基に構築するかを決定します:

  • 計画文書: /skill-forge plan の出力(推奨)
  • 説明: スキルの自然言語による記述
  • 既存のスキル: 基礎として使用するスキルへのパス

計画が存在しない場合は、簡単な計画パスを実行します(3つの重要な質問):

  1. スキルは何をするのか?(1~2文)
  2. どのようなコマンドを持つべきか?(リスト)
  3. スクリプトや外部ツールは必要か?(はい/いいえ)

Step 2: フロントマターの生成

最も重要なステップです。descriptionフィールドがアクティベーションを決定します。

説明文作成のフレームワーク:

[能力宣言] + [詳細な機能] + [トリガーフレーズ]

ルール:

  • 合計1024文字未満
  • XMLの山括弧(< >)は使用しない
  • ユーザーが言いそうなトリガーフレーズを5~10個含める
  • 関連するファイルタイプがあれば言及する
  • 過剰トリガーのリスクがある場合はネガティブトリガーを追加する

完全なフレームワークについては references/description-guide.md を参照してください。

Step 3: メインSKILL.mdの作成

以下のテンプレートに従って本文を構成します:

# [スキル名] -- [タグライン]

[1~2文の概要]

## クイックリファレンス

| コマンド | 説明 |
|---------|-------------|
| /name cmd1 | 説明 |
| /name cmd2 | 説明 |

## オーケストレーションロジック

[コマンドがサブスキルにルーティングされる方法]
[条件付きルーティングのための決定木]

## [ドメイン固有セクション]

[コアルール、しきい値、品質ゲート]

## 参照ファイル

[オンデマンドで読み込む参照ファイルのリスト]

## サブスキル

[1行の説明付きサブスキルのリスト]

重要なSKILL.mdのルール:

  • 500行未満
  • 5000トークン未満
  • 実行可能な指示(曖昧さを避ける)
  • エラーハンドリングを含める
  • 参照はインライン化せずリンクする

Step 4: サブスキルの生成(Tier 3~4)

各サブスキルについて、以下のSKILL.mdを生成します:

---
name: parent-child
description: >
  [説明]. ユーザーが「[トリガー1]」「[トリガー2]」
  「[トリガー3]」「[トリガー4]」と言った場合に使用します。
---

サブスキル本文のガイドライン:

  • 1つのワークフローに対する自己完結型の指示
  • 他のサブスキルは名前で相互参照する(内容をインライン化しない)
  • 親スキルの references/ ディレクトリにある共有ファイルを参照する
  • 明示的な入出力定義を含める

Step 5: スクリプトの生成(Tier 2~4)

各スクリプトについて:

#!/usr/bin/env python3
"""
目的: [このスクリプトの機能]
入力: [期待される入力形式]
出力: [期待される出力形式]
使用法: python scripts/script_name.py [引数]
"""

import argparse
import json
import sys
from typing import Any


def main(args: argparse.Namespace) -> dict[str, Any]:
    """メイン実行関数。"""
    # 入力を検証
    # 処理を実行
    # 構造化された出力を返す
    pass


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="[スクリプトの説明]")
    parser.add_argument("input", help="[入力の説明]")
    parser.add_argument("--output", "-o", help="出力ファイルパス")
    args = parser.parse_args()

    try:
        result = main(args)
        print(json.dumps(result, indent=2))
    except Exception as e:
        print(json.dumps({"error": str(e)}), file=sys.stderr)
        sys.exit(1)

スクリプトのルール:

  • 1つのスクリプト、1つの責務
  • argparseを使用したCLIインターフェース
  • 構造化されたJSON出力
  • 明確なエラーメッセージ
  • 可能な限りstdlib以外の依存関係を持たない

Step 6: 参照ファイルの生成

各参照ファイルについて:

  • 1つのトピックに焦点を当てる
  • 200行未満
  • 具体的な例を含める
  • しきい値や仕様にはテーブルを使用する
  • 親SKILL.mdに「オンデマンドで読み込み」とマークする

Step 7: エージェント定義の生成(Tier 4)

エージェントファイルは(スキルとは異なり)YAMLフロントマターを使用します:

---
name: [スキル名]-[役割]
description: >
  [このエージェントが分析するもの].
  <example>ユーザーが「[トリガー]」と言った場合</example>
model: inherit
color: blue
tools:
  - Read
  - Grep
  - Glob
---

あなたは[役割]のスペシャリストです。

## あなたの役割
[このエージェントが行うこと]

## プロセス
1. [ステップ...]

## 出力形式
調査結果と推奨事項を含む構造化されたマークダウンを返します。

スキルとの主な違い: エージェントの name は3~50文字、説明では <example> ブロックを使用可能、エージェント固有のフィールドには tools、color、permissionMode、maxTurns、memory が含まれます。本文はシステムプロンプト(二人称)になります。

Step 8: インストールスクリプトの生成

ファイルを ~/.claude/skills/ と ~/.claude/agents/ にコピーする install.sh を作成します。

Step 9: 検証

生成されたスキルに対して python scripts/validate_skill.py <path> を実行します。 メインSKILL.mdのすべての品質ゲートをチェックします。

Step 10: 出力サマリー

ユーザーに以下を提示します:

  1. 生成されたファイルツリー
  2. 主要なファイルとその目的
  3. インストール手順
  4. 推奨テストクエリ(トリガーされるべきもの3つ、トリガーされるべきでないもの3つ)
  5. 次のステップ(テスト、反復、公開)

スキャフォールディングコマンド

クイックスキャフォールディングには以下を使用:

python scripts/init_skill.py <skill-name> --tier <1-4> --path <output-path>

これにより、プレースホルダーコンテンツを含む完全なディレクトリ構造が作成されます。

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

関連スキル