slay-tasks

star 178

Manage tasks, subtasks, tags, and templates via the slay CLI

debuglebowski By debuglebowski schedule Updated 6/3/2026

name: slay-tasks description: "Manage tasks, subtasks, tags, and templates via the slay CLI" trigger: auto

Task commands are the core of the slay CLI. Most commands accept an optional [id] argument that defaults to $SLAYZONE_TASK_ID, which is automatically set in every task terminal. Commands that require a project (--project) default to $SLAYZONE_PROJECT_ID (also set automatically). All ID arguments support prefix matching — e.g. a1b2 matches a full UUID starting with a1b2.

Task lifecycle

  • slay tasks list [--project <name|id>] [--status <status>] [--done] [--limit <n>] [--json] — list tasks.

    • --status filters by status key (resolved via the project's custom column config)
    • --done shows completed tasks across all projects using each project's column config; overrides --status if both given
    • Default limit: 100
  • slay tasks create <title> [--project <name|id>] [--description <text>] [--status <status>] [--priority <1-5>] [--due <date>] [--template <name|id>] [--external-id <id>] [--external-provider <provider>] — create a task.

    • --project defaults to $SLAYZONE_PROJECT_ID
    • If --template is omitted, the project's default template auto-applies (if one exists). Templates set terminal mode, initial status, priority, and provider config
    • --external-id enables idempotent creation: if a task with the same (project, provider, external_id) exists, prints "Exists" and exits cleanly — useful for sync scripts
    • Reference artifacts in descriptions via [title](artifact:<artifact-id>)
  • slay tasks view [id] — show task details including status, priority, description, tags, and subtasks.

  • slay tasks update [id] [--title <title>] [--description <text>] [--append-description <text>] [--status <status>] [--priority <1-5>] [--due <date>] [--no-due] [--parent <id>] [--no-parent] [--permanent] — update a task.

    • --append-description adds text after a newline separator (mutually exclusive with --description)
    • --no-due clears the due date
    • --parent <id> reparents under another task in the same project; --no-parent makes it top-level
    • --permanent converts a temporary task to a real task
  • slay tasks progress <idOrValue> [value] — set task progress (integer 0-100).

    • Two-arg form: slay tasks progress <id> <value>
    • One-arg form: slay tasks progress <value> — id defaults to $SLAYZONE_TASK_ID
  • slay tasks done [id] [--close] — mark task complete using the project's configured "done" status.

    • --close also closes the task tab in the app
  • slay tasks archive <id> — hide from kanban but keep in database.

    • Use for tasks you don't need visible but want to preserve
  • slay tasks delete <id> — permanently remove the task and all its data.

  • slay tasks open [id] [--background] — focus the task in the SlayZone app window. --background adds the tab without switching focus or stealing OS window focus (use for bulk-dispatch flows).

  • slay tasks search <query> [--project <name|id>] [--limit <n>] [--json] — case-insensitive substring search across title and description.

    • Includes subtasks in results
    • Results ordered by most recently updated
    • Default limit: 50

Subtasks

  • slay tasks subtasks [id] [--json] — list subtasks of a task.

  • slay tasks subtask-add <title> [--parent <id>] [--description <text>] [--status <status>] [--priority <1-5>] [--external-id <id>] [--external-provider <provider>] — add a subtask.

    • --parent defaults to $SLAYZONE_TASK_ID
    • Subtask inherits the parent's terminal mode
    • --external-id deduplication works the same as task creation

Blocking

Two independent blocking mechanisms: dependency-based blockers (task A blocks task B) and a standalone is_blocked flag with optional comment.

  • slay tasks blockers [id] [--add <ids...>] [--remove <ids...>] [--set <ids...>] [--clear] [--json] — view or modify dependency blockers — tasks that must be done before this one.

    • Without write flags, lists current blockers
    • A task cannot block itself
  • slay tasks blocking [id] [--json] — list tasks that this task is blocking.

  • slay tasks blocked [id] [--on] [--off] [--toggle] [--comment <text>] [--no-comment] [--json] — view or modify the is_blocked flag.

    • --on / --off / --toggle set state
    • --comment <text> sets blocked with a note (implies --on)
    • --no-comment clears only the comment

Task tags

Tags are project-scoped — a tag name must exist in the project before it can be applied to a task.

  • slay tasks tag [taskId] [--json] — show current tags on a task.
  • slay tasks tag [taskId] --set <name1> [name2...] — replace all tags with the given names.
  • slay tasks tag [taskId] --add <name> — add a tag.
    • Idempotent — no error if already present
  • slay tasks tag [taskId] --remove <name> — remove a tag by name.
  • slay tasks tag [taskId] --clear — remove all tags from the task.

Project tags

  • slay tags list [--project <name|id>] [--json] — list all tags in a project.

    • --project defaults to $SLAYZONE_PROJECT_ID
  • slay tags create <name> [--project <name|id>] [--color <hex>] [--text-color <hex>] — create a new tag.

    • --project defaults to $SLAYZONE_PROJECT_ID
    • Color defaults to #6366f1, text color to #ffffff
  • slay tags delete <id> — delete a tag.

Templates

Templates define defaults for new tasks: terminal mode, status, priority, provider config, panel visibility, and browser tabs.

  • slay templates list [--project <name|id>] [--json] — list templates.

    • --project defaults to $SLAYZONE_PROJECT_ID
    • Shows which one is the project default
  • slay templates view <id> [--json] — view template details including all configured defaults.

  • slay templates create <name> [--project <name|id>] [--terminal-mode <mode>] [--priority <1-5>] [--status <status>] [--default] [--description <text>] — create a template.

    • --project defaults to $SLAYZONE_PROJECT_ID
    • --default makes it the project default, clearing any existing default (transactional)
  • slay templates update <id> [--name <n>] [--terminal-mode <m>] [--priority <1-5>] [--status <s>] [--default] [--no-default] [--description <text>] — update a template.

    • --default clears all other defaults
    • --no-default unsets only this template's default flag
  • slay templates delete <id> — delete a template.

Install via CLI
npx skills add https://github.com/debuglebowski/slayzone --skill slay-tasks
Repository Details
star Stars 178
call_split Forks 37
navigation Branch main
article Path SKILL.md
More from Creator
debuglebowski
debuglebowski Explore all skills →