factory-setup について
factory-setupは、factoryのワークフローでリポジトリとイシュートラッカーを接続する対話型スキルです。認証情報を保存せず、既存設定を無断で上書きすることなく、`.adlc/issues-provider.yml`を作成または検証します。
主な機能
- 01GitHub、GitLab、Linear、Jiraに対応
- 02トラッカーの検出または明示的な選択
- 03イシュープロバイダー設定ファイルの作成
- 04既存の接続設定を上書きせず検証
- 05対話型またはヘッドレスで実行
活用シーン
- 01新しいリポジトリのイシュートラッカー設定
- 02プロバイダー設定不足で停止した実行の解決
- 03リポジトリに接続されたトラッカーの確認
- 04確認後に別のトラッカーへ切り替え
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tikalk/ adlc-team-skills --skill factory-setupインストール後、Claude Code で/factory-setupを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/mode-configured.mdmode-detect.mdmode-pick.md詳細
factory-setup
概要
factory-setup は、リポジトリを factory の課題トラッカー
(factory-mission、factory-queue、factory-review)に接続する
インタラクティブなスキルです。リポジトリで使用するトラッカーを尋ね、
リリーステンプレートから .adlc/issues-provider.yml を作成します。書き込むのは
プロバイダーとフィールドのマッピングだけで、認証情報は含めません。次の 3 通りで
呼び出されます。
- ユーザーが呼び出す(
/factory-setup)— プロジェクトの設定や確認を行うときにいつでも使用できます。 team-bootがモデル経由で呼び出す — factory スキルが インストールされているものの、プロバイダー設定が見つからない場合に提案されます (team-setupのようなセルフインストールの案内です)。- ヘッドレスで
adlc-cli factory setupを実行する — スクリプトから実行します。--providerを指定すると選択済みとして扱われ、質問は行われません。
このスキルは非破壊的です。既存の .adlc/issues-provider.yml を上書きすることは
ありません。ファイルが存在する場合は、代わりに設定を検証します
(モード 3)。
使用する場面
- トラッカーの実行が「プロバイダーが見つからない」というメッセージで停止し、このスキルが指定された場合。
- factory の実行に向けて新しいリポジトリ(GitHub、GitLab、Linear、Jira)を設定する場合。
- リポジトリがどのトラッカーに接続されているか分からず、簡単に確認したい場合。
- リポジトリを別のトラッカーに切り替える場合(選び直します。明示的な確認があった場合にのみ ファイルを書き換えます)。
- factory スキルがインストールされているものの、プロバイダー設定が見つからないため、
team-bootが提案した場合。
断る場合の処理(team-boot がモデル経由で呼び出した場合)
ユーザーは、今すぐトラッカーを設定しないことを選択できます。再度プロンプトが 表示されるループを避けるため、断る操作を明示的に処理してください。
- ユーザーが断った場合は、何も書き込まないでください。正常に終了します。断ったことは セッション内でのみ有効です。
- 永続的なオプトアウトマーカーは意図的に設けていません。マーカーは
.adlc/init-options.jsonに保存することになりますが、このファイルのスキーマは adlc-cli と共有されています。セッション単位の設定を記録するためにトラッカー固有の キーを追加すると、スキーマの変更が必要になるためです。 team-boot は次のセッションで再び尋ねます。 - モードを強制しないでください。各ステップでユーザーの同意を得て設定します。ヘッドレス
実行では尋ねる相手がいないため、
--providerが必須です。指定がなければ停止します。
基本的な手順
目標
正しい provider: を含む、コミット可能な状態の .adlc/issues-provider.yml を
リポジトリに用意するか、既存の設定を検証します。
セキュリティ:入力の検証
このスキルが書き込む自由形式の値はプロバイダーのリテラルのみです。これは
github、gitlab、linear、jira のいずれかと完全に一致する必要があり、それ以外は
書き込み前に拒否されます。フィールドマッピングの値(プロジェクト ID、キー)は、
ユーザーが生成後のファイル内容を確認してから YAML のコメントまたは値にそのまま
書き込みます。ユーザーの値をシェルに埋め込むことはありません。書き込み処理は
ファイルのみを対象とします(テンプレートを cp し、provider: 行を編集します)。
ユーザーがトークンらしき値(glpat-、ghp_、xoxb-、sk-)を貼り付けた場合は、
書き込みを拒否し、認証情報は環境変数経由でのみ渡すよう伝えてください。
簡易処理: .adlc/issues-provider.yml がすでに存在し、有効な provider: を含む場合は、
モード 3(設定済み)に進みます。再検出、再選択、書き換えは行わないでください。
モードの概要
| # | モード | 条件 | 詳細 |
|---|---|---|---|
| 1 | git リモートから検出 | 簡易判定を行いたい場合(常に確認あり) | references/mode-detect.md |
| 2 | 明示的に選択 | 簡易判定が誤っている場合、git リモート以外の場合、または --provider が指定された場合 | references/mode-pick.md |
| 3 | 設定済み | ファイルが存在する場合 — 設定を検証 | references/mode-configured.md |
モード選択フロー
- 確認:リポジトリのルート(CWD。上位ディレクトリには移動しません)にある
.adlc/issues-provider.ymlを読み取ります。有効なprovider:がある場合は、モード 3 に進みます。 - 選択を尋ねる:リモートから検出する(リモート URL を表示)か、4 つのプロバイダーから選ぶかを提示します。ヘッドレス実行(
--providerが指定されている場合)は、選択を尋ねず、指定されたリテラルを使ってモード 2 に進みます。 - 確認:書き込むファイルの正確な内容を表示し、書き込む前に明示的な確認を得ます(対話型実行の場合)。ヘッドレス実行では直接書き込みます。
--providerフラグが確認となります。 - コミット手順:リリーステンプレート(
skills/factory/factory-mission/references/issues-provider.yml)を.adlc/issues-provider.ymlにコピーし、provider:行を設定して、パスを報告し、コミットするようユーザーに伝えます。認証情報は絶対に書き込まず、上書きもしません。
コミット手順(モード 1〜2 共通)
- 対象ファイルが存在する場合は処理を拒否し(モード 3 に誘導します)、モード 2 でユーザーが切り替えを明示的に確認した場合を除きます。
- テンプレートをコピーし、コメントを解除して
provider: <literal>を設定します。 - 最終的な内容を表示します。対話型実行では確認後、ヘッドレス実行では
--providerの指定に基づいてのみ書き込みます。 - 書き込んだパスと選択したプロバイダーを報告し、コミットするようユーザーに伝え、トラッカーの実行が中断されずに解決されるようになったことを知らせます。