mcpField
L
lark-cli-router

lark-cli-router

github.com/daymade生産性1.5k151 回インストール今日更新
リポジトリ

lark-cli-router について

Lark CLI を使うエージェント向けのルーティングスキルです。CLI に組み込まれたバージョン同期済みガイドを読み込み、タスクに必要なものだけを選びます。実行環境、本人確認と権限、操作、結果検証の手順を定めています。

主な機能

  1. 01タスクに応じた組み込みガイド選択
  2. 02CLI バージョンと実行環境の確認
  3. 03明示的な本人確認と権限の遵守
  4. 04CLI コマンドによる操作
  5. 05結果と不足項目の照合

活用シーン

  1. 01日付を指定した会議録画の検索
  2. 02Lark の文書やメッセージの処理
  3. 03許可済み Lark リソースの読み取り
  4. 04一括操作の結果検証

インストール

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

$npx skills add https://github.com/daymade/claude-code-skills --skill lark-cli-router

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

同梱ファイルreferences/recording-lookup.mdscripts/find_recording_candidates.py

詳細

Lark CLI ルーター

これを、モデルから参照できる唯一の Lark エントリーポイントとして使用してください。CLI に組み込まれた lark-* ガイドは、バージョンに同期された信頼できる情報源です。このルーターは、各ガイドのドメイン別指示を別の静的カタログにコピーするのではなく、必要なガイドを選択して読み込みます。

境界

  • Tencent IMA は別の製品です。IMA に関するメモやナレッジベース関連のタスクは、ここではなく ima-skill に振り分けてください。
  • Lark のガイドをすべて読み込まないでください。現在のタスクに合致する最小限のガイドセットを選択してください。
  • CLI または組み込みガイドのいずれかがタスクをカバーしている場合、ブラウザー自動化、直接の curl、推測した API コントラクトで lark-cli を迂回しないでください。

日付から既存の録画を検索する

Feishu が既知のソースで、依頼が日付から既存の録画を検索するものである場合は、検索前に 録画の検索を読んでください。明示的に許可されたプロファイルを使って、範囲を限定した候補ヘルパーを使用してください。再生リンクの検索で取り込み、欠落監査、ASR を開始しないでください。指定された分単位のトークンまたは会議 ID は保持し、代わりに組み込みガイドの直接検索を使用してください。

ワークフロー

1. ランタイムを確認する

lark-cli --version を実行します。バイナリが存在しない場合は、明確に失敗を示し、lark-cli が必要であることを報告してください。別のトランスポートを作り上げたり、別途提供されている Skill のインストールコマンドを CLI バイナリのインストーラーと混同したりしないでください。

この環境では、すべての呼び出しで LARK_CLI_NO_PROXY=1 を設定してください。安定した機械可読 JSON が必要な場合は、通知が結果に混入しないよう、あわせて LARKSUITE_CLI_NO_UPDATE_NOTIFIER=1 と LARKSUITE_CLI_NO_SKILLS_NOTIFIER=1 を設定してください。

2. 組み込みガイドを選択する

lark-cli skills list --json を実行します。ユーザーの意図と URL パスまたはトークンを、返された name、description、metadata.cliHelp に照らして判定してください。

ガイド名から lark- を取り除いて CLI のドメインを推測しないでください。例外があり、metadata.cliHelp またはガイド自体が信頼できる情報源です。

実行時に取得した説明からガイドを選択してください。別の Skill に委譲する互換性ガイドは、明示的に旧名称が指定された場合に使用します。タスクには、その正式な担当ガイドを読み込んでください。複数ドメインにまたがる依頼では、それらの説明からワークフローガイド、または少数のドメインガイドを順に選択してください。

3. 選択した手順をすべて読み込む

作業を開始する前に、選択したガイドを読んでください。

lark-cli skills read lark-doc
lark-cli skills read lark-doc/references/lark-doc-fetch.md

最初の形式ではガイドの SKILL.md が出力され、2 つ目の形式では参照先ファイルを読み込みます。選択したガイドが、現在の分岐で必須としているファイルをすべて読んでください。

組み込みの読み込み機能は .. を拒否します。 ../lark-whiteboard/references/x.md のような兄弟ディレクトリへのポインターは、次のように置き換えてください。

lark-cli skills read lark-whiteboard/references/x.md

Markdown ファイルと参照ファイルには、必ず最初に lark-cli skills read を試してください。reference ... not found が返された場合は、ガイドからの相対パスを ~/.agents/skills/<guide-name>/ 以下で解決してください。ガイドごとに初めてこのフォールバックを行う前に、ホストの SHA-256 ツールを使って、インストール済みの SKILL.md が lark-cli skills read <guide-name> の出力とバイト単位で完全に一致することを確認してください。一致しない場合は明確に失敗を示し、バンドルの更新を促してください。これにより、現在のバイナリには組み込まれていない場合でも、lark-apps/creative-design/ にアクセスできるようにします。

scripts/ または assets/ 以下のマシン用リソースは、組み込まれていません。そのため、同じインストール済みバンドルから直接解決してください。必須ファイルが存在しない場合は停止し、ディスク上のバンドルをインストールまたは更新する必要があることを報告してください。代替ファイルを作り上げないでください。

4. 調査、実行、検証
  1. metadata.cliHelp は常に文字どおりのコマンドとしてではなく、ヘルプを確認するための手順として扱います。具体的なコマンドを実行し、プレースホルダーがあれば、まず読み込んだガイドを参照して値を解決します。このフィールドがない場合は、ガイドに記載されたコマンド、または選択したドメインの --help を使用します。
  2. 一致する +shortcut があれば優先し、なければ型指定のリソースコマンドを使用します。
  3. パラメーターがガイドに明記されていない型指定の呼び出しを行う前に、lark-cli schema <service.resource.method> を実行します。
  4. エンドポイントに対応するショートカットも型指定コマンドもない場合に限り、ドキュメントに記載された代替手段として lark-cli api を使用します。
  5. 明示的に指定された --profile は維持し、プロファイルや本人の ID を推測しません。本人の ID が重要または不明確な場合は、lark-cli whoami を使用します。別の既存プロファイルを使って読み取る前に、そのプロファイルが依頼者のものであり、そのプロファイルを使った読み取りがすでに許可されていることを確認します。--profile は明示したままにし、グローバルプロファイルを切り替えたり、無関係なアカウントを列挙したりしません。所有者が不明な場合は、その候補を使用せず、不足している情報として報告します。アプリごとに異なる openId だけでは、別人であることの根拠にはなりません。
  6. 書き込みでは、有用なプレビューを表示できる場合、コマンドで --dry-run を使用します。高リスクの書き込みで終了コード 10 が返された場合は、実行予定の操作を提示し、人間から明示的な確認があるまで待ちます。--yes を自動的に付加してはいけません。
  7. トランスポートの完了とビジネス上の成功を区別します。終了コード 0 だけでは依頼された結果が得られた証明になりません。JSON 出力の場合は、ok とエラーも確認します。外側の ok == true だけでは、各項目の成功は証明されません。トップレベルの code == 0 を成功判定に使ってはいけません。ドメインごとの結果は、読み込んだガイドに従って解釈します。リンク先の資料も含む、許可された会話アーカイブでは、取り込まれたすべてのルートと、スレッド返信の全ページ(自動展開されたネストされた返信を含む)から対象を特定します。ページネーションと返信エラーの解釈には、現在の lark-im のメッセージ一覧、スレッド一覧、エンリッチメントの各リファレンスを読み込みます。親子関係を保ったまま、統合した生のメッセージ内容からリンクと添付ファイルの識別情報を抽出します。未完了のページ、欠落した返信、取り消されたコンテンツ、アクセスを拒否されたリソースは、明示的な不足として扱い、結果を partial とします。概要のみを求められた場合は、より限定された範囲を維持します。 バッチ処理では、依頼された各リソースの識別情報を、返された項目、エラー、期待される結果または成果物と照合します。欠落、重複、依頼されていない項目を特定します。重複項目で欠落した依頼を補うことはできません。依頼された識別情報はそれぞれ最大1回だけ数え、検証済みの成功、明示的な失敗、欠落または不明な結果を、依頼総数と照合します。異常は別途報告し、依頼された結果のうち検証できていないものがあれば、結果を partial とします。 たとえば、3件の依頼のうち、検証済みの結果が1件、権限エラーが1件、欠落項目が1件の場合、終了コードが 0 で外側の ok == true であっても、partial: 1/3 successful, 1 failed, 1 missing と報告します。
  8. 書き込み後は、選択したガイドのドメイン固有の検証手順に従います。手順が定義されていない場合は、依頼された状態の変更を証明できる、最も範囲の狭い独立した読み取りを行います。二度目の問い合わせを便宜的に行うことが明示的に禁じられているガイドがある場合は、その指示を優先します。部分的な結果や不足している範囲を報告します。

認証または権限エラーが発生した場合は、lark-shared と、そこに埋め込まれた lark-shared/references/lark-shared-identity-and-permissions.md を読み込みます。ユーザー/ボットおよび不足スコープに関する分岐に従い、現在の CLI の認証状態を解釈します。

lark-cli --profile "<authorized-profile>" auth status --json

needs_refresh をログイン不能と分類してはいけません。次回のユーザー API 呼び出し時に自動更新されるとステータスに示されている場合、すでに許可されている通常の読み取りは、--profile と --as user を明示して実行できます。CLI に通常どおり更新させてください。この状態に対処するために、ログイン、新しい権限やスコープの付与、認証情報の手動書き込みを開始してはいけません。トークンが利用可能でも、対象の読み取り権限があるとは限りません。 実際のターゲットの読み取り権限拒否を、そのターゲット/プロファイル/ID に限定し、 そのルートを停止します。認証失敗やその拒否を、リトライループやブラウザー/生の API へのフォールバックに変えないでください。 これは、リクエスト元ユーザーの他のすでに認可されたすべてのプロファイルが拒否されることを証明するものではありません。別のプロファイルを評価するのは上記の所有権/認可チェックの後にのみ行い、アクセスを仮定するのではなく、そのプロファイル自身のターゲット結果を検証してください。

コメント