diff --git a/_skill-index.md b/_skill-index.md index 872798e..ee52148 100644 --- a/_skill-index.md +++ b/_skill-index.md @@ -21,6 +21,7 @@ description: Master index of all skills in your robot assistant system. Your ass | "create a skill," "make a new skill," "build a skill," "improve this skill," "test this skill," "optimize skill description" | **skill-creator** | | "write a business case for a pro dev expense," "professional development business case," "justify a pro dev expense," "pro dev justification" | **pro-dev-justification** | | "update the skill index," "sync the skill index," "refresh the skill index," "clean up the skill index," "garbage collect the index" | **update-skill-index** | +| "add a task," "create a task," "what's on my plate," "show today's tasks," "mark that done," "delete that task," "what's due," "upcoming tasks" | **vikunja-tasks** | --- @@ -76,6 +77,14 @@ description: Master index of all skills in your robot assistant system. Your ass --- +### Vikunja Tasks +**Purpose:** Manage tasks in Connor's self-hosted Vikunja instance via the `vik` CLI tool. Covers creating, viewing, updating, completing, and deleting tasks. +**Triggers:** "add a task," "create a task," "what's on my plate," "show today's tasks," "mark that done," "delete that task," "what's due," "upcoming tasks" +**File:** `skills/vikunja-tasks/SKILL.md` +**Dependencies:** `vik` CLI installed at `~/code/cli/vik` + +--- + ## Adding New Skills When you build a new skill: diff --git a/vikunja-tasks/SKILL.md b/vikunja-tasks/SKILL.md new file mode 100644 index 0000000..100ba70 --- /dev/null +++ b/vikunja-tasks/SKILL.md @@ -0,0 +1,117 @@ +--- +name: vikunja-tasks +description: Manage tasks in Connor's Vikunja instance using the vik CLI tool. Use this skill whenever Connor wants to create, view, update, complete, or delete tasks — including phrasing like "add a task," "what's on my plate," "mark that done," "remove that task," "show me what's due," or any request involving task tracking, to-do items, or his personal task list. +--- + +# Vikunja Task Management + +Connor manages tasks via a self-hosted Vikunja instance at tasks.connorrhodes.com, accessed through the `vik` CLI tool. Always use `vik` for task operations — never navigate to the web UI or use the API directly. + +## Quick Reference + +| Goal | Command | +|------|---------| +| See today's tasks | `vik task today` | +| See upcoming tasks | `vik task upcoming [--days N]` | +| See all tasks | `vik task list` | +| Find a task | `vik task get ` | +| Search tasks | `vik task search ` | +| Create a task | `vik task create "Title" [options]` | +| Update a task | `vik task update [options]` | +| Mark done | `vik task update --done` | +| Delete a task | `vik task delete ` | + +--- + +## Creating Tasks + +```bash +vik task create "Task title" +``` + +**Options:** +- `--project ID` — project to add to (default: 1) +- `--label LABEL` — assign a label (creates it if it doesn't exist) +- `--desc TEXT` — task description (overrides clipboard) +- `--no-clip` — skip auto-populating description from clipboard URL + +**Date syntax in the title** (parsed automatically, removed from final title): +- `s+N` — start date N days from now +- `d+N` — due date N days from now + +Examples: +```bash +vik task create "Review draft proposal" +vik task create "Follow up with vendor d+3" +vik task create "Prep for demo s+1 d+4" --label work +vik task create "Read article" --no-clip +``` + +> Note: if there's a URL in the clipboard, `vik` will automatically embed it as a markdown link in the description unless `--no-clip` is passed. + +--- + +## Reading Tasks + +```bash +vik task today # tasks with start or due date today +vik task today --due-only # only tasks due today (ignores start date) + +vik task upcoming # next 7 days +vik task upcoming --days 14 # next 14 days +vik task upcoming --due-only + +vik task list # all tasks + +vik task get 42 # fetch task by ID +vik task get "vendor" # search by title substring (returns matches) + +vik task search "follow up" # full-text search across all fields +``` + +When Connor asks "what do I have today" or "what's coming up," run `vik task today` or `vik task upcoming` and present the output. + +--- + +## Updating Tasks + +```bash +vik task update --title "New title" +vik task update --desc "Updated description" +vik task update --done +vik task update --undone +``` + +At least one field is required. `--done` and `--undone` are mutually exclusive. + +If Connor says something like "mark that done" or "complete task 7," use `vik task update --done`. + +--- + +## Deleting Tasks + +```bash +vik task delete +``` + +No confirmation prompt — deletion is immediate. Confirm with Connor before deleting unless he was explicit about it. + +--- + +## Labels + +```bash +vik label list +vik label create "urgent" --color ff0000 +``` + +Labels are created automatically when referenced in `vik task create --label`, so you rarely need to create them manually. + +--- + +## Workflow Tips + +- If Connor gives a title but no ID, use `vik task get "title"` to find the task first, then act on the result. +- Task IDs are integers shown in list/today/upcoming output. +- When creating a task with a URL context (e.g., "add this link as a task"), let clipboard auto-populate work — don't use `--no-clip`. +- For tasks with relative deadlines ("due Friday," "starts tomorrow"), convert to `d+N` / `s+N` before passing to the CLI.