ask-light について
ask-light は、依頼内容と実際のプロジェクト状態に基づいて Light のワークフローやスキルを提案する、ユーザー起動型のアドバイザーです。根拠を集めて候補を検証し、理由を説明したうえで、承認を待ってから移行します。
主な機能
- 01依頼内容とワークフロー状況の判断
- 02スクリプトによるプロジェクト情報の収集
- 03候補スキルの絞り込みと評価
- 04選択した提案の検証
- 05移行前の承認待ち
活用シーン
- 01現在のプロジェクトに適した次のスキルの選定
- 02単独タスクに合うスキルの検索
- 03範囲を限定したワークフロー提案の取得
- 04Light スキルと役割の一覧確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ light-cheng/ skills --skill ask-lightインストール後、Claude Code で/ask-lightを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/discovery-contract.mdlight-skill-map.jsonmodes-and-transition.mdresult-contract.mdrouting-judgment.mdscripts/advisor.pyask_light_models.pyask_light.pyask-light.ps1compact_state_builder.pydecision_source.pysemantic_router.pystate_extractor.pytests/test_ask_light_behavior.pytest_ask_light_contract.pytest_ask_light_semantic.pytest_namespace_migration.py詳細
Ask Light
ask-light は、Light のワークフローアドバイザー、ナビゲーター、ルーターです。ユーザーが呼び出すエントリーポイントとして、ユーザーが何をしようとしているのかを理解し、実際のプロジェクトの状態を調べ、Light Skills とその契約を把握したうえで、次に取るべき最善の行動を判断し、その理由を説明します。承認を待ち、ホストが許可する場合は承認された Skill に移行します。
仕組み
コードが事実を確立し、モデルが判断し、コードが選択を検証します。
scripts/ask_light.py(Python 3.9+)は証拠パケットを返し、Skill の名前は返しません。
light-skill-map.json のパターンは候補のヒントにすぎません。証拠、検証、承認の完全なプロトコルについては、
discovery-contract.md を参照してください。
セッションの流れ
- リクエストを解釈します。 状況を判断します。現在のワークフロー、明示されたタスクまたは名前付き Skill、新たな取り組み、単独のタスク、ワークフローの概要、またはコレクション内のナビゲーションのいずれかです。状況に応じて、どの証拠を適用するかが決まります。
- 証拠を収集します。 次を実行します。
python3 scripts/ask_light.py --mode next --context-json '{"projectRoot": "..."}'(Host をclaude-codeやcodexのように指定して--host-nameを追加し、コレクションのルートが分かっている場合は--roots-jsonを追加します。--host-nameを指定しない場合、スクリプトは環境から推測します)。パケット内のカタログから候補を絞り込みます。ルーティングのためにすべての SKILL.md を読むことはしないでください。 - 候補を把握します。 有力な Skill を2〜4個選びます。隣接する Skill が実質的に近い場合は、それらの
SKILL.mdを読みます。 - 判断します。 routing-judgment.md を読んでから、主要な Skill を1つ、代替案を最大1つ選びます。パケットの内容と矛盾する状態を作り出さないでください。
- 検証します。 次を実行します。
python3 scripts/ask_light.py --mode validate --skill <name> --scope <scope>(スコープ)。BLOCKEDの場合は、論理上の推奨とその理由を報告して停止します。別の Skill に差し替えないでください。 - アドバイザーとして説明します。 観察した事実を挙げ、この Skill が今の状況に合う理由と、明らかに近い別の Skill が合わない理由を説明します (routing-judgment.md)。
- 承認を待ちます。 ユーザーが明示的に同意する前に、何も実行しないでください。
- 移行します。 再検証してから、呼び出し形式と Host で確認済みの機能が許す場合に限り、承認された Skill を開始します。それ以外の場合は、正確な呼び出し方法を示して停止します。承認された Skill の先へ連鎖させないでください (modes-and-transition.md)。
モード
$ask-light next— ワークフローを踏まえた、次に実行する Skill の推奨を1つ提示します。$ask-light workflow— 現在の状態を起点とする、範囲を限定したワークフローの手順を1つ提示します。$ask-light <category>— コレクションを参照し(例:project Skills、review Skills、learning Skills)、役割と関連する Skill を説明します。- 単独のリクエスト(
Explain this like I'm five、Investigate this bug)は、プロジェクトを深く調べずにルーティングします。
結果の契約
結果の契約に従って記録を返します。
任意の機能
- 有効な Skill が複数残っている場合、または曖昧さやエスカレーションが問題となる場合
→ セマンティックモード(
--mode semantic)は light-decide スクリプトの経路を通じて質問します。スクリプトを使わずに判断する場合は、質問 IDask-light/next-action、ask-light/material-ambiguity、またはask-light/reasoning-escalationを指定してlight-decideを呼び出します。質問はプロジェクトのDecision data:制限内でのみ行われます(行がない場合はオンデバイス)。また、ユーザーのポリシーファイルで該当の質問が調整されている場合に限り、回答を適用します。返されたdecisionsを light-decide のログ形式で記録します。利用できない場合、または調整されていない場合は、決定論的なベースラインを維持します。判断によって移行の権限が与えられることはありません。移行を許可するのはユーザーの承認だけです。
コメント
Markdown 対応