tasker-zemi
v1.5.0
Published
tasker (ゼミ・サークルのタスク管理) の CLI と MCP サーバ
Readme
tasker CLI と MCP
tasker のタスク、担当、資料、生成ジョブ、リポジトリ設定を端末と MCP client から操作する。依存 package のない単一ファイルで、Node.js 18 以上に対応する。
インストール
npm install -g tasker-zemi
tasker loginlogin はブラウザで tasker の承認画面を開き、API token を ~/.config/tasker-cli/config.json に保存する。サイトで発行した tskr_ token を tasker login <token> へ直接渡すこともできる。
TASKER_TOKEN がある場合は保存済み token より優先する。TASKER_URL または tasker login --url <url> で接続先を変更できる。
対話端末での login 後は、検出した MCP client への追加先を選べる。あとから設定する場合は次を実行する。
tasker setup-mcp
tasker setup-mcp --allClaude Code、Claude Desktop、Cursor、Windsurf、Gemini CLI、Codex CLI の設定に対応する。Claude Code がある場合は tasker の skill も追加する。skill だけを更新する場合は tasker setup-skill を使う。設定後は MCP client を再起動する。
リモート MCP
ローカルへ CLI を入れずに https://tasker.mame.dev/api/mcp へ接続できる。Claude Code では次のコマンドで追加する。
claude mcp add --transport http tasker https://tasker.mame.dev/api/mcp初回の tool 利用時にブラウザで接続を承認する。claude.ai の custom connector にも同じ URL を使える。
リモート MCP は repo を owner/repo で渡す。stdio MCP と CLI は省略時にカレントディレクトリの Git remote から特定する。
CLI
| コマンド | 動作 |
| --- | --- |
| tasker login | ブラウザ承認または token 指定でログイン |
| tasker logout | 保存済み token を削除 |
| tasker setup-mcp | MCP client の設定を追加 |
| tasker setup-skill | Claude Code 用 skill を追加 |
| tasker whoami | 自分のプロフィール |
| tasker repos | 見られるリポジトリ |
| tasker tasks | 残りタスクを担当付きで表示 |
| tasker mytasks | 自分が関わるオープンタスク |
| tasker claim <taskId> | 空きタスクの担当になる |
| tasker done <taskId> | タスクと子タスクを完了 |
| tasker add <内容> | 内容を整えてタスクを追加 |
| tasker assign <taskId> <login...> | 担当を置き換え |
| tasker exclude <taskId> <login> | 観測された作業者を担当表示から除外 |
| tasker edit <taskId> <op> | タスクを変更、再開、削除 |
| tasker generate | TASKS.md の生成ジョブを投入 |
| tasker upload <file...> | 資料をアップロード |
| tasker status | 設定、資料、ジョブを表示 |
| tasker dismiss <jobId> | 失敗ジョブの表示を閉じる |
| tasker settings | Discord 送信先と生成方針を設定 |
| tasker name <名前> | 表示名を変更 |
| tasker emails <email1,email2,...> | commit email を置き換えて過去の帰属を修復 |
| tasker mcp | stdio MCP server を起動 |
対象リポジトリを自動特定できない場所では --repo owner/repo を付ける。tasks は --assignee <login> で担当者を絞れる。
タスクの追加
add には完成条件が分かる自然な文を渡す。追加は非同期で、GitHub Actions の worker がタイトル、説明、領域を整えて TASKS.md にコミットする。
tasker add ログイン失敗時に原因を表示する --file docs/auth-spec.pdf資料なしの追加は Luna、資料付きの追加は Sol が依頼文、現在の TASKS.md、指定資料だけを読んで処理する。source tree と branch は読まない。進捗は tasker status またはサイトのリポジトリ画面で確認できる。
TASKS.md の生成
tasker generate --prompt "認証をログインと権限管理に分ける"
tasker generate --overwrite --prompt "仕様変更を反映し、担当も見直す" --file docs/spec.pdf--overwrite が無い場合は、既存の TASKS.md を上書きしない。--prompt には今回のスコープ、領域分け、担当見直しを自然な文で書く。今後の生成にも適用する方針は自動で抽出され、リポジトリ設定として保持される。
生成はリポジトリ、未マージ branch、指定資料を読み、地図、草稿、検算、突き合わせ、統合の順で進む。同じ成果物に複数作業がある場合は成果物名の親と具体的な子にまとめ、単独作業には形式だけの親を作らない。既存タスクの完了状態と担当は、同じ項目として対応付けられた範囲で引き継ぐ。
資料
CLI と stdio MCP はローカルファイルをアップロードできる。リモート MCP は upload_material_from_url で公開 HTTPS URL を取得する。URL の redirect は3回まで追跡する。
1ファイルの上限は50MB。DOCX、PPTX、XLSX、PDF、画像を worker が読み取れる形へ準備する。画像 PDF は40ページまでとなる。PPTX の slide と XLSX の sheet は500件までとなる。text を抽出できる PDF は画像化のページ上限を受けない。
指定した資料は全件の準備成功が必要となる。1件でも取得や変換に失敗した場合は、一部だけで生成せずジョブを再試行する。
tasker upload docs/spec.pdf
tasker status
tasker generate --upload <uploadId>アップロード済み資料の ID は tasker status で確認する。MCP では repo_status と delete_material を使う。
TASKS.md と権限
タスクの正は各リポジトリの TASKS.md である。追加、編集、完了、生成は GitHub App を通して文書へ反映し、Firestore のミラーを同期する。タスク ID は一覧で取得した値を使う。
管理が有効なリポジトリでは、TASKS.md のミラーと CLI からの追加、編集、完了、生成を即時に反映する。自動のタスク状態同期は、リポジトリの default branch へ PR がマージされた場合だけを対象とし、前回の同期成功から24時間以上空けて複数の merge をまとめて処理する。raw push は activity を保存するだけでタスク状態を変えない。24時間を待たずに同期する場合は、Web のリポジトリ画面にある「今すぐ同期」を使う。この操作は表示中のリポジトリだけを対象とする。
API token は発行した本人の権限で動く。所属 organization のリポジトリと contributor として関わったリポジトリだけを閲覧できる。リポジトリ設定の変更は organization 所属者に限られる。
管理が無効なリポジトリでも、TASKS.md と tasker に保存されたデータは残る。tasks、mytasks、status による閲覧、資料のアップロードと削除、失敗したジョブの dismiss は引き続き使える。無効中は add、claim、done、assign、exclude、edit、generate を受け付けない。実行中の処理は終了し、管理を再び有効にしても自動では再開しない。管理の無効化と有効化は Web のリポジトリ設定で行う。
タスクの編集または完了で GitHub への保存後に管理が停止し、Firestore のミラーを更新できなかった場合は、CLI が保存成功と画面への反映中断を表示する。
複数の commit email はカンマ区切りで渡す。登録をすべて消す場合は tasker emails --clear を使う。自分以外の作者や bot の統合は、Web のメンバー画面で全リポジトリ共通に管理する。現在の統合結果は tasks と mytasks の担当者と作業者にも反映する。
