linearis について
linearis は `linearis` コマンドラインを通じてシェルから Linear.app を操作するスキルです。結果は JSON で出力され、コマンドやオプションを推測せず、CLI の使用方法を参照して操作します。
主な機能
- 01シェルから Linear.app を操作
- 02JSON 出力とフィールド選択
- 03usage 参照によるコマンド確認
- 04認証と呼び出しエラーへの対応
- 05課題ディスカッションの読み書き
活用シーン
- 01Linear の課題作成と追跡
- 02操作前の利用可能なコマンド確認
- 03課題のスレッドへの進捗記録
- 04課題の添付ファイルと関連リソースの確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ linearis-oss/ linearis --skill linearisインストール後、Claude Code で/linearisを入力して読み込まれたか確認します。
詳細
linearis
linearis CLI を使って、シェルから Linear.app を操作します(出力は JSON のみです。linear はエイリアスです)。コマンドの仕様を推測しないでください。CLI 自体に説明があり、このスキルではフラグではなくプロトコルを説明します。
事前確認(状況に応じて実施 — CLI 自身の出力に応じて対応し、毎ターン確認を事前実行しないでください)
- 未インストール — シェルがコマンドが見つからないと報告した場合、linearis がインストールされていないことをユーザーに伝え、
npm install -g linearisを提案します。インストールしない場合の代替手段として、コマンドの先頭にnpx linearis@latestを付けます(初回起動が遅くなり、呼び出しごとにネットワークが必要です。デフォルトではなく代替手段です)。黙ってnpm install -gを実行しないでください。 - 認証が必要 — どのコマンドも、stderr に次の形式で出力し、終了コード 42 で失敗する場合があります。
{ "error": "AUTHENTICATION_REQUIRED", "action": "USER_ACTION_REQUIRED", "instruction": "Run 'linearis auth login' …", "exit_code": 42 }。exit_code === 42/error === "AUTHENTICATION_REQUIRED"(言い換えたテキストではありません)で検出し、CLI 自身のinstructionを提示します。linearis auth loginは対話式のブラウザーフローであり、あなたには完了できないため、ユーザーに実行してもらいます。 - 無効な呼び出し — 不明なコマンドまたはオプション、引数の数の誤り、サブコマンドを指定せずにコマンドグループを指定した場合は、stderr に終了コード
2を出力して失敗します。{ "error": "UNKNOWN_COMMAND", "message": "…", "suggestion": "Did you mean read?", "command": "linearis issues", "available_commands": [...], "instruction": "Run 'linearis issues usage' …", "exit_code": 2 }。 推測せず、出力形式の情報に基づいて対応します。available_commandsから選ぶか、instructionを実行してください。errorはUNKNOWN_COMMAND、UNKNOWN_OPTION、MISSING_ARGUMENT、MISSING_REQUIRED_OPTION、MISSING_OPTION_ARGUMENT、TOO_MANY_ARGUMENTS、MISSING_SUBCOMMAND、INVALID_USAGEのいずれかです。サブコマンドのないグループ(linearis issues)は失敗であり、ヘルプのリクエストではありません。 - アップデート(任意、処理を妨げない) — 必要に応じて
linearis version checkを一度実行します →{ current, latest, channel, updateAvailable }。updateAvailableが true の場合はその旨を伝え、npm install -g linearis@latestの実行前にユーザーに確認します。channelを尊重してください(nextのユーザーをlatestに移行させないでください)。npm が応答しなくなったり、レート制限されたりすることがあります。タイムアウトやエラーが発生した場合は、インストール済みのバージョンでそのまま続行してください。インストール済みのバージョンをプレーンな形式で確認するには、--versionではなくlinearis version(JSON)を使用します。
確認してから実行
- ドメインの一覧(issues、projects、cycles、…)を確認するため、
linearis usageを一度実行します。 - 実行前に、ドメインのコマンドとフラグの完全なリファレンスを確認するため、
linearis <domain> usageを実行します。 - フラグやサブコマンドを決して作り出さないでください。
usageが正式かつ常に最新の情報源です。
出力
すべてのコマンドは stdout に JSON を出力します。グローバルオプション --fields identifier,title,state.name と --compact を使って、出力元で整形してください。外部バイナリは不要で、Windows や新規コンテナーでも動作します。複雑な整形に限り jq を使用し、jq がなければ生の JSON を使用してください。
知っておくべき不変条件(それ以外はすべて usage に記載)
- ID の指定は柔軟です。UUID、チームキー(
ENG)、課題識別子(ABC-123)、名前を相互に使用できます。チケットは識別子で参照してください。 issues createには--teamが必要です。一部のフィルターにはスコープフラグが必要です。暗記するのではなく、usageで確認してください。- スレッド形式のディスカッションは
issues discuss/discussions/replies/replyの配下にあります。トップレベルのcommentsドメインは非推奨のファサードですが、引き続き動作します。issuesのディスカッションコマンドを優先してください。重要な進捗はディスカッションスレッドに記録し、ステータス変更時には説明と同期させてください。 files download <url>は Linear のストレージ URL(uploads.linear.app)のみを取得します。files uploadは埋め込み可能なassetUrlを返します。issues read --with-attachmentsは関連付けられたリソース(PR、ドキュメント、URL)を一覧表示しますが、これらは参照情報であり、必ずしもダウンロードできるファイルではありません。
ここに記載されていない事項については、linearis <domain> usage を参照してください。
コメント
Markdown 対応