| name | reusable-workflows |
| description | GitHub Actions再利用可能ワークフローの専門スキル。 ワークフロー共有、入力・出力設計、シークレット管理を提供します。 Anchors: • 『Continuous Delivery』(Jez Humble) / 適用: CI/CD / 目的: パイプライン設計と自動化戦略 Trigger: GitHub Actions再利用可能ワークフロー作成時、共通CI/CDパイプライン設計時に使用 |
| allowed-tools | Read, Write, Edit, Bash, Glob, Grep |
Reusable Workflows Skill
概要
GitHub Actions再利用可能ワークフローの設計と実装スキルです。workflow_call イベント、入力/出力/シークレット定義、呼び出しパターン、ワークフロー合成・継承・チェーンパターンなどの専門知識を提供します。
このスキルを使用して、以下の課題に対応できます:
- 複数のリポジトリやワークフロー間で共通のCI/CDロジックを再利用したい
- 複雑なパイプラインをモジュール化し、保守性を向上させたい
- エンタープライズ規模のワークフロー設計と管理を実施したい
詳細は references/ ディレクトリのレベル別ガイドを参照してください。
ワークフロー
Phase 1: 目的と前提の整理
目的: タスクの目的と前提条件を明確にする
アクション:
references/Level1_basics.mdとreferences/Level2_intermediate.mdを確認- 必要な references/scripts/templates を特定
- 既存のワークフロー実装パターンを確認
Phase 2: スキル適用
目的: スキルの指針に従って具体的な作業を進める
アクション:
- 関連リソースやテンプレートを参照しながら作業を実施
- 重要な判断点をメモとして残す
- ワークフロー呼び出しの構造を設計・実装する
Phase 3: 検証と記録
目的: 成果物の検証と実行記録の保存
アクション:
scripts/validate-skill.mjsでスキル構造を確認scripts/validate-reusable.mjsでワークフロー構文を検証- 成果物が目的に合致するか確認
scripts/log_usage.mjsを実行して記録を残す
Task仕様ナビ
| Task | 説明 | 対応フェーズ | リソース | テンプレート |
|---|---|---|---|---|
| 基本的なワークフロー呼び出し | workflow_call の基本構文と使用方法 |
Phase 1-2 | Level1_basics.md | reusable-workflow.yaml |
| 入力・出力・シークレット定義 | workflow_call での入力/出力/シークレット の定義方法 | Phase 1-2 | Level2_intermediate.md | reusable-workflow.yaml |
| Callerワークフロー実装 | 再利用可能なワークフローを呼び出すワークフロー実装 | Phase 2 | caller-patterns.md | caller-workflow.yaml |
| ワークフロー合成パターン | 複数の再利用可能ワークフローを組み合わせる | Phase 2 | Level3_advanced.md | design-patterns.md |
| ワークフロー継承・チェーン | 親子関係を持つワークフロー設計 | Phase 2-3 | Level3_advanced.md | design-patterns.md |
| エンタープライズ設計 | 大規模組織向けのワークフロー設計戦略 | Phase 1-3 | Level4_expert.md | - |
| ワークフロー検証 | YAML構文とロジックの検証 | Phase 3 | workflow-call-syntax.md | validate-reusable.mjs |
ベストプラクティス
すべきこと
references/Level1_basics.mdを参照し、適用範囲を明確にするreferences/Level2_intermediate.mdを参照し、実務手順を整理する- テンプレートを活用して一貫性のあるワークフロー設計を心がける
workflow_callの入力値は明確に型定義し、ドキュメント化する- ワークフロー間の依存関係を最小化し、疎結合を保つ
- 再利用可能なワークフローの出力値をメタデータとして提供する
scripts/validate-reusable.mjsで定期的にワークフロー構造を検証する
避けるべきこと
- アンチパターンや注意点を確認せずに進めることを避ける
- 再利用可能なワークフロー内での
secrets.GITHUB_TOKENの無制限使用を避ける - 過度に複雑なワークフロー合成パターンを避け、保守性を優先する
workflow_callでの必須入力を多すぎないようにし、デフォルト値を活用する- ワークフロー間での循環依存を避ける
- セキュリティ上の理由から、シークレット値を出力値として公開しない
リソース参照
レベル別ガイド
| レベル | ファイル | 対象者 | 学習時間 |
|---|---|---|---|
| 基礎 | references/Level1_basics.md |
初心者 | 1-2時間 |
| 実務 | references/Level2_intermediate.md |
開発者 | 2-3時間 |
| 応用 | references/Level3_advanced.md |
上級者 | 3-4時間 |
| 専門 | references/Level4_expert.md |
アーキテクト | 4-5時間 |
デザインパターン・リソース
references/caller-patterns.md: Callerワークフローの実装パターン集references/design-patterns.md: ワークフロー設計パターン(合成、継承、チェーン)references/workflow-call-syntax.md: workflow_call 構文リファレンス
スクリプトとツール
| スクリプト | 用途 | コマンド |
|---|---|---|
scripts/validate-skill.mjs |
スキル構造検証 | node scripts/validate-skill.mjs |
scripts/validate-reusable.mjs |
ワークフロー構文検証 | node scripts/validate-reusable.mjs [file] |
scripts/log_usage.mjs |
使用記録・自動評価 | node scripts/log_usage.mjs --help |
テンプレート
assets/reusable-workflow.yaml: 再利用可能なワークフロー基本テンプレートassets/caller-workflow.yaml: Callerワークフロー実装テンプレート
その他
references/legacy-skill.md: 旧SKILL.mdの全文(参考)
コマンドリファレンス
リソース読み取り
# レベル別ガイドの確認
cat .claude/skills/reusable-workflows/references/Level1_basics.md
cat .claude/skills/reusable-workflows/references/Level2_intermediate.md
cat .claude/skills/reusable-workflows/references/Level3_advanced.md
cat .claude/skills/reusable-workflows/references/Level4_expert.md
# デザインパターン・リソースの確認
cat .claude/skills/reusable-workflows/references/caller-patterns.md
cat .claude/skills/reusable-workflows/references/design-patterns.md
cat .claude/skills/reusable-workflows/references/workflow-call-syntax.md
cat .claude/skills/reusable-workflows/references/legacy-skill.md
スクリプト実行
# スキル構造検証
node .claude/skills/reusable-workflows/scripts/validate-skill.mjs
# ワークフロー構文検証
node .claude/skills/reusable-workflows/scripts/validate-reusable.mjs [workflow-file]
# 使用記録と評価
node .claude/skills/reusable-workflows/scripts/log_usage.mjs --help
テンプレート参照
# テンプレートの確認
cat .claude/skills/reusable-workflows/assets/reusable-workflow.yaml
cat .claude/skills/reusable-workflows/assets/caller-workflow.yaml
変更履歴
| Version | Date | Changes |
|---|---|---|
| 1.1.0 | 2025-12-31 | 18-skills.md仕様に完全対応:YAML frontmatter(allowed-tools追加)、Task仕様ナビ、リソース参照テーブル化、ベストプラクティス拡充 |
| 1.0.0 | 2025-12-24 | Spec alignment and required artifacts added |