mcpField
S
Skill Factory

Skill Factory

github.com/romanescu11エージェントワークフロー558164 回インストール32 週間前に更新
リポジトリ

Skill Factory について

Skill Factoryは、セッション内のワークフローを観察し、再利用できるパターンを見つけるエージェントスキルです。適切なタイミングでスキル化を提案し、承認後にスキルやプラグインのファイルを生成します。

主な機能

  1. 01ワークフローの反復を静かに追跡
  2. 02パターンを検出してスキルを提案
  3. 03SKILL.mdファイルを生成
  4. 04Pythonプラグインを生成
  5. 05命名規則と品質基準を提示

活用シーン

  1. 01繰り返す複数手順の記録
  2. 02反復するツールの組み合わせをスキル化
  3. 03提案の承認後にスキルファイルを生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/romanescu11/hermes-skill-factory --skill skill-factory

インストール後、Claude Code で/skill-factoryを入力して読み込まれたか確認します。

詳細

Skill Factory

Skill Factory スキルが有効になっています。現在のセッションのワークフローを黙って観察し、再利用可能なスキルとして記録する価値のあるパターンを特定して、適切なタイミングで生成を提案することがあなたの役割です。ユーザーの作業を中断してはいけません。


基本原則

「繰り返すワークフローはすべて、生まれるのを待っているスキルです。」

Skill Factory は、実体験を再利用可能な手順記憶に変えます。決して中断せず、観察し、提案し、生成します。


フェーズ 1:黙って観察する

このスキルが有効な間、以下の内容を頭の中で記録してください。この記録をユーザーに見せてはいけません。黙って観察してください。

記録する内容
  • 繰り返される操作:2 回以上使用されたコマンド、手順、アプローチ
  • 複数ステップのワークフロー:一貫した目標を達成する 3 ステップ以上の手順
  • ツールの組み合わせ:一貫したパターンで併用される 2 つ以上のツール
  • ドメイン固有のパターン:ユーザーが専門分野特有の問題にどう取り組むか
  • 修正と回避策:繰り返し発生するデバッグのパターンや解決策
記録しない内容
  • 再利用の可能性が明確でない単発のタスク
  • 自明な 1 ステップの操作(例:「ファイルを読む」)
  • 既存の Hermes スキルで処理されているワークフロー
  • 他の状況には応用できない、文脈に強く依存するタスク

フェーズ 2:提案の条件

以下のいずれかが発生したとき、スキルの作成を提案してください。

条件例
ユーザーから明示的な依頼がある「これをスキルとして保存して」「このワークフローを覚えて」「これを記録しよう」
スラッシュコマンド/skill-factory propose
パターンの繰り返し(2 回以上)同じワークフローがセッション中に 2 回登場した
セッションの終了が近いユーザーが「完了」「ありがとう」「以上です」と言う、または関係のない締めくくりの質問をする
ユーザーが不満を表す「いつも手作業でこれをしなきゃいけない……」

フェーズ 3:提案の形式

スキルを提案する際は、次の形式をそのまま出力してください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🏭 SKILL FACTORY — New Skill Detected
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

I noticed you repeatedly [description of the observed workflow].

Proposed Skill:   [skill-name]
Category:         [category]
Description:      [one-line description]

What it captures:
  1. [Step one of the workflow]
  2. [Step two of the workflow]
  3. [Step N...]

Generate:
  [A] SKILL.md only   — AI instructions for this workflow
  [B] plugin.py only  — Slash command + tool registration
  [C] Both            — Full skill package (recommended)
  [D] Skip            — Don't capture this one

Reply with A, B, C, or D (or just "yes" for C).
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

一度に提案するスキルは 1 つだけにしてください。複数のパターンが検出された場合は、それらをキューに入れ、最も価値の高いものから提案してください。


フェーズ 4:スキルの生成

4A — SKILL.md の生成

ユーザーが承認したら、以下のテンプレートをそのまま使用して、完全な SKILL.md を生成してください。

---
name: [Skill Name]
version: 1.0.0
category: [category]
description: [one-line description]
tags: [tag1, tag2, tag3]
---

# [Skill Name]

[2-3 sentences: what this skill does and why it exists]

## When to Activate

Activate this skill when:
- [Condition 1]
- [Condition 2]
- [Condition 3]

## Workflow

### Phase 1: [Phase Name]

[Description of what happens in this phase]

**Steps:**
1. [Concrete step]
2. [Concrete step]
3. [Concrete step]

**Checks before moving on:**
- [ ] [Check]
- [ ] [Check]

### Phase 2: [Phase Name]

[Description]

**Steps:**
1. [Step]
2. [Step]

## Quality Checklist

Before completing this workflow:
- [ ] [Quality check 1]
- [ ] [Quality check 2]
- [ ] [Quality check 3]

## Examples

### Example 1: [Scenario name]

[Concrete example drawn from the actual session that triggered this skill]

### Example 2: [Scenario name]

[Second example if applicable]

## Anti-patterns

Avoid these when using this skill:
- ❌ [Anti-pattern 1]
- ❌ [Anti-pattern 2]

## Integration

This skill works well with:
- [Related Hermes skill or tool]
- [Related Hermes skill or tool]

保存先: ~/.hermes/skills/[category]/[skill-name]/SKILL.md

4B — plugin.py の生成

プラグインを生成する場合は、以下の構造に従って Python ファイルを作成してください。

"""
[Skill Name] Plugin — Auto-generated by Skill Factory
[Description]

Install: cp [skill-name].py ~/.hermes/plugins/
Usage:   /[skill-name] [args]
"""

# Plugin metadata
PLUGIN_NAME = "[skill-name]"
PLUGIN_VERSION = "1.0.0"
PLUGIN_DESCRIPTION = "[description]"

def register(hermes):
    """Register this plugin with the Hermes agent."""

    @hermes.command(
        name="[skill-name]",
        description="[description]",
        usage="/[skill-name] [optional-args]"
    )
    async def run_skill(ctx, args: str = ""):
        """[Docstring describing the command]"""
        # Step 1: [description]
        # Step 2: [description]
        # Step N: [description]
        pass

    # Register any tools this skill exposes
    @hermes.tool(
        name="[tool_name]",
        description="[tool description]"
    )
    async def tool_function(ctx, param: str) -> str:
        """[Tool docstring]"""
        pass

保存先: ~/.hermes/plugins/[skill-name].py


フェーズ 5:生成後

ファイルの生成に成功した後:

  1. 確認する:✅ Skill '[skill-name]' written to ~/.hermes/skills/[category]/[skill-name]/
  2. ユーザーに伝える:Run 'hermes skills reload' to activate, or restart Hermes.
  3. 質問する:I detected [N] other patterns this session. Want me to propose the next one?
  4. 提案する:Want to review or edit the generated files before activating?

命名規則

ルール良い例悪い例
kebab-case を使うgit-pr-workflowGitPRWorkflow
内容が分かる名前にするpython-env-setupsetup
ドメインを含めるdocker-debug-cycledebugging
名前にバージョンを含めないapi-testingapi-testing-v2

スキルの品質基準

生成する SKILL.md ファイルは、以下を満たす必要があります。

  • 実行可能な内容にする(曖昧な指針ではなく具体的な手順を記載する)
  • トリガーとなったセッションの実例を少なくとも 1 つ含める
  • 明確な発動条件を定義する
  • 600 行未満に収める
  • 各ステップの 内容 だけでなく、その 理由 も記録する

生成する plugin.py ファイルは、以下を満たす必要があります。

  • インストール方法と使用方法を説明する docstring を含める
  • 少なくとも 1 つのスラッシュコマンドを登録する
  • エラーを適切に処理する
  • Python の慣用的な書き方に従う(型ヒント、async/await)

コマンドリファレンス

コマンド説明
/skill-factory propose現在のセッションを分析し、検出されたスキルのうち最有力のものを提案します
/skill-factory listこのセッションで生成されたすべてのスキルを表示します
/skill-factory status現在追跡しているパターンを表示します
/skill-factory queue提案待ちの、検出されたすべてのパターンを表示します
/skill-factory save <name>最後に提案されたスキルにすぐに名前を付けて保存します
/skill-factory clear現在のセッションの追跡ログを消去します

コメント