mcpField
V
vikunja-vja

vikunja-vja

github.com/akhy生産性141 回インストール8 週間前に更新
リポジトリ

vikunja-vja について

vikunja-vjaは、`vja`コマンドラインでVikunjaインスタンスのタスクを管理するスキルです。タスクやプロジェクトの操作に加え、絞り込みや日付入力を使った確認・予定管理に対応します。

主な機能

  1. 01タスクの作成、編集、削除、複製
  2. 02タスクリストの絞り込みと並べ替え
  3. 03期限、リマインダー、優先度の設定
  4. 04プロジェクト、ラベル、担当者の管理
  5. 05完了状態の切り替えと期限の延期

活用シーン

  1. 01期限超過や高優先度のタスク確認
  2. 02ラベル付きタスクの作成と割り当て
  3. 03期限超過タスクの一括延期
  4. 04プロジェクトやラベルによるタスク整理

インストール

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

$npx skills add https://github.com/akhy/agent-skills --skill vikunja-vja

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

詳細

Vikunja タスクスキル

vja CLI を使って、Vikunja インスタンスのタスクを管理します。

構造化された出力には、常に --json を指定して jq にパイプしてください。タイトル引数は位置引数です(--title ではありません)。

タスク

作成
vja add "Task title"
vja add "Task title" -n "Description" -d "tomorrow" -p 3 -l urgent -A alice
vja add "Task title" -d "next monday at 9:00" -r "1h before due_date" -o "My Project"

フラグ:

  • -n / --note — 説明
  • -d / --due — 期限(自然言語:"in 3 days"、"2025-12-31")
  • --start / --end — 開始日/終了日
  • -p / --prio — 優先度(1=低 … 4=緊急)
  • -l / --label — ラベル名(複数指定する場合は繰り返します:-l bug -l backend)
  • -A / --assignee — 割り当てるユーザー名
  • -r / --reminder — リマインダー("in 3 days at 18:00"、"1h before due_date")
  • -o / --project — プロジェクト名または ID
  • -f / --star — お気に入りに設定
  • --force-create — まだ存在しないラベルを作成
一覧表示
vja ls --json | jq '.tasks[] | {id, title, due_date, priority}'

# Filter examples
vja ls --filter "done eq false" --json | jq '.tasks[] | {id, title}'
vja ls --filter "priority ge 3" --json | jq '.tasks[] | {id, title, priority}'
vja ls --filter "due_date before today" --json | jq '.tasks[] | {id, title, due_date}'
vja ls -l urgent --json | jq '.tasks[] | {id, title}'
vja ls -o "My Project" --json | jq '.tasks[] | {id, title}'
vja ls -u 3 --json | jq '.tasks[] | {id, title, urgency}'   # urgency >= 3
vja ls --all --json | jq '.tasks[] | {id, title, done}'     # include completed
vja ls --sort "-priority,due_date" --json | jq '.tasks[] | {id, title}'

フィルター演算子:eq、ne、gt、lt、ge、le、before、after、contains。複数の --filter フラグは AND 条件で適用されます。

表示
vja show <task_id> --json | jq '{id, title, description, due_date, priority, assignees, labels}'
編集
vja edit <task_id> -i "New title"
vja edit <task_id> -n "Updated description"
vja edit <task_id> -a "Appended note"          # append to existing description
vja edit <task_id> -d "next friday" -p 4
vja edit <task_id> -l bug -l backend           # set labels
vja edit <task_id> -A alice                    # toggle assignee (adds if absent, removes if present)
vja edit <task_id> -c true                     # mark completed
vja edit <task_id> -f                          # star; --no-star to unstar
vja edit <task_id> -o "Other Project"          # move to project
削除
vja delete <task_id> -q
完了/未完了を切り替え
vja toggle <task_id>
期限を延期
vja defer <task_id> 2d      # delay by 2 days (also shifts reminders)
vja defer <task_id> 1h30m
複製
vja clone <task_id> "New task title"
ブラウザーで開く
vja open <task_id>

プロジェクト

vja project ls --json | jq '.[] | {id, title, parent_project_id}'
vja project show <project_id> --json | jq .
vja project add "Project name"
vja project add "Sub-project" -o "Parent Project"

ラベル

vja label ls --json | jq '.[] | {id, title}'
vja label add "new-label"

ユーザー

vja user show --json | jq '{id, username, email}'

ワークフロー

毎日の確認
# Overdue tasks
vja ls --filter "due_date before today" --filter "done eq false" --json \
  | jq '.tasks[] | {id, title, due_date}'

# High-priority open tasks sorted by urgency
vja ls --filter "priority ge 3" --filter "done eq false" --sort "-urgency" --json \
  | jq '.tasks[] | {id, title, priority, urgency, due_date}'
1 ステップで作成、割り当て、ラベル付け
vja add "Review PR #42" -p 3 -d "today" -A alice -l review --force-create
期限超過タスクを一括延期
vja ls --filter "due_date before today" --filter "done eq false" --json \
  | jq '.tasks[].id' \
  | xargs -I{} vja defer {} 1d -q
タスクを完了して記録
vja toggle <task_id> -v --json | jq '{id, title, done}'

注意事項

  • 日付は parsedatetime による自然言語に対応しています:"tomorrow"、"next monday"、"in 3 days at 9:00"、"2025-12-31"
  • --json は Vikunja API の JSON を出力し、--jsonvja は vja の内部表現を出力します
  • 設定は ~/.config/vja/config.rc(または旧形式の ~/.vjacli/vja.rc)から読み込まれます

コメント