workiq-wsl について
workiq-wsl は、WindowsネイティブのCopilot CLIとWorkIQプラグインを介して、WSL2からMicrosoft 365のデータにアクセスするスキルです。LinuxからWorkIQへ直接接続せず、各クエリをPowerShell経由で転送します。
主な機能
- 01powershell.exe経由でクエリを転送
- 02Windows Copilot CLIとWorkIQを利用
- 03メール、カレンダー、ファイル、Teamsにアクセス
- 04WSLとプラグインの前提条件を確認
- 05毎回起動するCLIプロセスから結果を取得
活用シーン
- 01WSLターミナルから会議を確認
- 02最近のメールを検索
- 03OneDriveとSharePointのファイル検索
- 04未読メールの要約
MCP 対応
このスキルはWindows Copilot CLIを呼び出し、WorkIQ MCPサーバーを通じてMicrosoft Graphを検索します。Linuxから直接接続を管理するのではなく、WSL2とMCPサーバーを橋渡しします。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rysweet/ amplihack --skill workiq-wslインストール後、Claude Code で/workiq-wslを入力して読み込まれたか確認します。
詳細
WorkIQ WSL ブリッジスキル
WorkIQ プラグインをインストールした Windows ネイティブの Copilot CLI にブリッジして、WSL2 から Microsoft 365 のデータ(メール、予定表、ファイル、Teams)にアクセスします。
目的
WSL2 環境では、Windows ネイティブの認証(ブラウザー経由の M365 SSO)に依存する WorkIQ MCP サーバーをネイティブに実行できません。このスキルでは、powershell.exe を介して M365 のクエリを Windows Copilot CLI にルーティングすることで、この問題を解決します。Windows Copilot CLI は WorkIQ MCP サーバーと Microsoft Graph API に完全にアクセスできます。
つまり、WSL のターミナルセッションを離れることなく、メールの検索、予定表の確認、ファイルの検索、Teams メッセージの閲覧ができます。
前提条件
1. Linux ディストリビューションを実行する WSL2
WSL2 内で実行している必要があります(WSL1 またはネイティブ Linux ではありません)。
# Verify WSL2
grep -qi microsoft /proc/version && echo "WSL detected" || echo "Not WSL"
2. Windows ネイティブの Copilot CLI
Windows ホストにインストールします(WSL 内ではありません)。
# From Windows Terminal or PowerShell
winget install GitHub.Copilot
WSL から確認します。
powershell.exe -NoProfile -Command "copilot --version" 2>&1
3. GitHub 認証
Windows Copilot CLI を認証します。
powershell.exe -NoProfile -Command "copilot login" 2>&1
4. WorkIQ プラグイン
Windows Copilot CLI に WorkIQ プラグインをインストールします。
powershell.exe -NoProfile -Command "copilot plugin install workiq" 2>&1
5. M365 認証
初回使用時に、WorkIQ が Microsoft SSO を求めます。Windows ホストでブラウザーウィンドウが開き、サインインできます。追加の設定は不要です。表示される同意プロンプトを承認してください。
仕組み
WSL Copilot CLI session
│
▼
powershell.exe -NoProfile -Command "copilot -p '...' --allow-all-tools --silent --no-auto-update 2>&1"
│
▼
Windows Copilot CLI (native)
│
▼
WorkIQ MCP Server (npx @microsoft/workiq@latest mcp)
│
▼
Microsoft Graph API → M365 (emails, calendar, files, Teams)
クエリごとに powershell.exe プロセスが起動し、自然言語のプロンプトを使って Windows Copilot CLI を呼び出します。--allow-all-tools フラグにより、Copilot CLI は WorkIQ MCP ツールを呼び出せるようになります。このツールはユーザーに代わって Microsoft Graph にクエリを実行します。
主なフラグ:
--allow-all-tools— Copilot が手動の承認なしで WorkIQ を使用できるようにします--silent— 対話型の UI 要素を表示しないようにします--no-auto-update— 実行速度を低下させる更新確認を防ぎます2>&1— Windows 側の stdout と stderr の両方を取得します
使用例
今日の会議を確認する
powershell.exe -NoProfile -Command "copilot -p 'Use the workiq ask_work_iq tool to answer: What meetings do I have today?' --allow-all-tools --silent --no-auto-update 2>&1"
特定の相手からの最近のメールを検索する
powershell.exe -NoProfile -Command "copilot -p 'Use the workiq ask_work_iq tool to find all emails from Dustin Duran. Show me the 5 most recent ones with their subject lines, dates sent, and a brief summary of each email.' --allow-all-tools --silent --no-auto-update 2>&1"
ファイルを検索する
powershell.exe -NoProfile -Command "copilot -p 'Use the workiq ask_work_iq tool to answer: Find my most recent PowerPoint files in OneDrive and SharePoint.' --allow-all-tools --silent --no-auto-update 2>&1"
メールの要約を取得する
powershell.exe -NoProfile -Command "copilot -p 'Use the workiq ask_work_iq tool to answer: Summarize the most important unread emails in my inbox from the last 24 hours.' --allow-all-tools --silent --no-auto-update 2>&1"
今週の予定表を確認する
powershell.exe -NoProfile -Command "copilot -p 'Use the workiq ask_work_iq tool to answer: What does my calendar look like for the rest of this week? List all meetings with times and attendees.' --allow-all-tools --silent --no-auto-update 2>&1"
有効化の手順
ユーザーが WSL 環境でメール、予定表、会議、M365、Microsoft 365、Outlook、または WorkIQ に言及した場合、このスキルが有効になります。
検出ロジック
有効になったら、次の確認を順番に実行します。
-
WSL 環境を検出します。
grep -qi microsoft /proc/versionWSL でない場合は、標準の
work-iqスキル(ネイティブ MCP 方式)に切り替えます。 -
Windows Copilot が利用可能か確認します。
powershell.exe -NoProfile -Command "copilot --version" 2>&1見つからない場合は、インストール方法を案内します(前提条件 §2 を参照)。
-
WorkIQ プラグインがインストールされているか確認します。
powershell.exe -NoProfile -Command "copilot plugin list" 2>&1 | grep -i workiq見つからない場合は、インストール方法を案内します(前提条件 §4 を参照)。
-
クエリをルーティングします。 ユーザーの自然言語の質問を含む powershell.exe コマンドを作成し、実行します。
powershell.exe -NoProfile -Command "copilot -p 'Use the workiq ask_work_iq tool to answer: <USER_QUERY>' --allow-all-tools --silent --no-auto-update 2>&1" -
解析して提示します。 Copilot CLI の出力から該当する回答を抽出し、ユーザーにわかりやすく提示します。
前提条件が満たされていない場合
ユーザーにセットアップ方法を案内します。
It looks like you're in WSL but the Windows Copilot CLI isn't set up for WorkIQ yet.
To set up M365 access from WSL:
1. Install Copilot CLI on Windows: winget install GitHub.Copilot
2. Authenticate: powershell.exe -NoProfile -Command "copilot login"
3. Install WorkIQ: powershell.exe -NoProfile -Command "copilot plugin install workiq"
4. Try your query again — WorkIQ will prompt for M365 sign-in on first use.
トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
copilot: command not found | Windows ホストに Copilot CLI がインストールされていません | Windows Terminal から winget install GitHub.Copilot を実行してインストールします |
powershell.exe: not found | WSL2 で実行していないか、WSL の相互運用が無効になっています | cat /proc/sys/fs/binfmt_misc/WSLInterop が存在することを確認します |
| WorkIQ がタイムアウトする/応答がない | M365 の認証が期限切れか、認証が完了していません | クエリを再実行します。ブラウザー認証が再度開始されます |
| PowerShell の実行ポリシーエラー | 実行ポリシーが制限されています | -NoProfile フラグで回避できます。解決しない場合は、PowerShell で Set-ExecutionPolicy RemoteSigned -Scope CurrentUser を実行します |
| 引用符のエスケープに関する問題 | bash と PowerShell 間で引用符が入れ子になっています | PowerShell コマンドの外側には二重引用符を、Copilot プロンプトの内側には一重引用符を使用します |
| 出力が文字化けする、または ANSI コードが表示される | ターミナルのエンコーディングが一致していません | sed 's/\x1b\[[0-9;]*m//g' に出力をパイプして、ANSI エスケープコードを削除します |
GitHub auth required | Copilot CLI が認証されていません | powershell.exe -NoProfile -Command "copilot login" を実行します |
| 応答が遅い(30 秒以上) | 正常です。各クエリで Copilot と WorkIQ MCP が起動します | 予想される動作です。MCP サーバーの起動により、最初のクエリが最も遅くなります |
制限事項
- 書き込み操作には追加の権限が必要な場合があります — WorkIQ は M365 データのクエリとコンテンツの下書き作成ができます。メールの送信、ドキュメントの作成、Teams メッセージの投稿には、追加の M365 管理者の同意または Graph API のアクセス許可が必要な場合があります。書き込み操作に失敗する場合は、WorkIQ 連携に対するテナントのアプリのアクセス許可を確認してください。
- WSL 専用 — Copilot CLI がインストールされた Windows ホストが必要です。ネイティブの Linux または macOS では動作しません。
- セッションは保持されません — クエリごとに新しい Copilot CLI プロセスが起動します。クエリ間で会話の記憶は引き継がれません。
- 起動時の遅延 — 応答時間には Copilot CLI の起動と WorkIQ MCP サーバーの初期化(クエリごとに約 10〜30 秒)が含まれます。
- 出力の解析 — Copilot CLI の出力にはステータスメッセージと書式設定が含まれるため、実際の回答を取り出すにはフィルタリングが必要です。
- 認証スコープ — アクセスできるのは、M365 アカウントに付与されている権限の範囲に限られます。一部のテナントでは管理者の同意が必要な場合があります。
- ストリーミング非対応 — Windows Copilot CLI プロセスの完了後にのみ、応答全体が返されます。
work-iq スキルとの関係
このスキルは、既存の work-iq スキルを補完します。
work-iq | workiq-wsl | |
|---|---|---|
| 環境 | 任意(ネイティブ MCP) | WSL2 のみ |
| 接続方法 | MCP サーバーに直接接続 | powershell.exe を介したブリッジ → Windows Copilot CLI |
| 認証 | 現在の OS のブラウザー | Windows ホスト上のブラウザー |
| レイテンシ | 低(MCP に直接接続) | 高(クエリごとに約 10~30 秒) |
| セッション | MCP 接続を維持 | クエリごとに新しいプロセス |
ネイティブ環境で実行する場合は work-iq を使用してください。WSL2 内で実行し、
ネイティブ MCP の方法が利用できない場合は workiq-wsl を使用してください。
バージョン: 1.0.0 | 更新日: 2025-07-14