mcpField
W
workflow-template-extractor

workflow-template-extractor

github.com/heyvhuang開発33850 回インストール30 週間前に更新
リポジトリ

workflow-template-extractor について

workflow-template-extractorは、既存プロジェクトを再利用可能で実行できるテンプレートに整えるスキルです。成熟したプロジェクトを開発の土台として再利用したいチーム向けで、リファクタリングではなくコピーと整理を中心に進めます。

主な機能

  1. 01プロジェクトをtemplatesディレクトリへコピー
  2. 02秘密情報を除去しIDを環境変数に置換
  3. 03ブランド要素を汎用プレースホルダーに変更
  4. 04README、環境設定例、メタデータを整備
  5. 05インストール、dev、buildの検証を記録

活用シーン

  1. 01実績あるプロジェクトを新規開発の土台にする
  2. 02共有可能なプロジェクトテンプレートを準備
  3. 03ベースライン公開前に固有情報を除去

インストール

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

$npx skills add https://github.com/heyvhuang/ship-faster --skill workflow-template-extractor

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

詳細

ワークフロー:テンプレート抽出(実プロジェクト → テンプレート)

目標:実プロジェクトを、手作業でのクリーンアップを最小限に抑えながら、templates/ 内の共有可能で実行可能なテンプレートに変換します。

これは、今後の開発のベースラインとして再利用したい「実績のあるプロジェクト」を対象としています。

入力(パスのみを渡す)

  • source_repo_root:実プロジェクトへのパス
  • target_repo_root:Ship Faster リポジトリのルート(templates/ がある場所)
  • run_dir:runs/template-extractor/active/<run_id>/
  • extract_spec.md:保持・削除・汎用化する内容(ブランド、コピー、アセット、インテグレーション、認証ゲート)

出力(永続化)

  • 03-plans/extract-plan.md
  • 05-final/extract-summary.md
  • templates/<NNN>-<slug>/(実行可能)

ワークフロー

0) 初期化
  1. run_dir を作成します。
  2. <slug> と <NNN>(次に使用可能なテンプレート番号)を決定します。
  3. source_repo_root を templates/<NNN>-<slug>/ にコピーします(ビルド出力とキャッシュは除外します)。
1) シークレット除去と脱ブランド化

必須事項:

  • すべてのファイルからシークレット値を削除します(.env*、設定ファイル、ハードコードされたトークン)。
  • プロジェクト ID(Stripe の価格 ID、Supabase の URL/キー、Webhook シークレット)を環境変数キーに置き換えます。
  • テンプレートに意図的にブランドを残す場合を除き、ブランド名、ドメイン、ロゴを中立的なプレースホルダーに置き換えます。
2) テンプレートのエントリードキュメントを標準化

必須ファイル:

  • README.md(5 分で実行可能)
  • .env.local.example(キーのみ)
  • metadata.json(名前と説明)

推奨事項:

  • dev、build、start 用のスクリプトがあることを確認します。
  • lint/typecheck/format がなく、リポジトリが TypeScript 中心の場合は、最小限のガードレールを追加します(過度に重いガバナンスは避けてください)。
3) 検証

05-final/extract-summary.md に以下を記録します:

  • インストールが正常に動作する
  • dev が起動する
  • build が成功する(または、認証情報がないと実行できない理由を明確に記載する)

制約

  • シークレット値をコミットしてはいけません。
  • 抽出は「コピーしてクリーンアップ」であり、リファクタリングプロジェクトではありません。

コメント