← Back to Skills Marketplace
gendosu

Agkan

by GENDOSU · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ⚠ suspicious
298
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install agkan
Description
Use when managing tasks with the agkan CLI tool - creating, listing, updating tasks, managing tags, blocking relationships, or tracking project progress with...
README (SKILL.md)

agkan

Overview

agkan is an SQLite-based CLI task management tool. It is optimized for collaboration with AI agents.

7 Statuses: iceboxbacklogreadyin_progressreviewdoneclosed


Quick Reference

Agent Guide

# Display a comprehensive guide for AI agents (overview, commands, workflows)
agkan agent-guide

Task Operations

# Create task
agkan task add "Title" "Body"
agkan task add "Title" --status ready --author "agent"
agkan task add "Subtask" --parent 1
agkan task add "Title" --file ./spec.md  # Read body from file
agkan task add "Title" --blocked-by 1,2  # Set tasks that block this task
agkan task add "Title" --blocks 3,4      # Set tasks that this task blocks
agkan task add "Title" --assignees "alice,bob"  # Set task assignees (comma-separated)

# List tasks
agkan task list                    # All tasks
agkan task list --status in_progress
agkan task list --tree             # Hierarchical view
agkan task list --root-only        # Root tasks only
agkan task list --tag 1,2          # Filter by tags
agkan task list --dep-tree         # Dependency (blocking) tree view
agkan task list --sort title       # Sort by field (id / title / status / created_at / updated_at), default: created_at
agkan task list --order asc        # Sort order (asc / desc), default: desc
agkan task list --assignees "alice,bob"  # Filter by assignees (comma-separated)
agkan task list --all              # Include all statuses (including done and closed)

# Get details
agkan task get \x3Cid>

# Search
agkan task find "keyword"
agkan task find "keyword" --all  # Include done/closed

# Update (positional argument form - backward compatible)
agkan task update \x3Cid> status in_progress

# Update (named option form - v1.6.0+)
agkan task update \x3Cid> --status in_progress
agkan task update \x3Cid> --title "New Title"
agkan task update \x3Cid> --body "New body text"
agkan task update \x3Cid> --author "agent"
agkan task update \x3Cid> --assignees "alice,bob"
agkan task update \x3Cid> --file ./spec.md  # Read body from file
agkan task update \x3Cid> --status done --title "Updated Title"  # Multiple options

# Count
agkan task count
agkan task count --status ready --quiet  # Output numbers only

# Update parent-child relationship
agkan task update-parent \x3Cid> \x3Cparent_id>
agkan task update-parent \x3Cid> null  # Remove parent

# Delete task
agkan task delete \x3Cid>

Blocking Relationships

# task1 blocks task2 (task2 cannot be started until task1 is complete)
agkan task block add \x3Cblocker-id> \x3Cblocked-id>
agkan task block remove \x3Cblocker-id> \x3Cblocked-id>
agkan task block list \x3Cid>

Tag Operations

# Tag management
agkan tag add "frontend"
agkan tag list
agkan tag delete \x3Ctag-id-or-name>
agkan tag rename \x3Cid-or-name> \x3Cnew-name>

# Tag tasks
agkan tag attach \x3Ctask-id> \x3Ctag-id-or-name>
agkan tag detach \x3Ctask-id> \x3Ctag-id-or-name>
agkan tag show \x3Ctask-id>

Metadata Operations

# Set metadata
agkan task meta set \x3Ctask-id> \x3Ckey> \x3Cvalue>

# Get metadata
agkan task meta get \x3Ctask-id> \x3Ckey>

# List metadata
agkan task meta list \x3Ctask-id>

# Delete metadata
agkan task meta delete \x3Ctask-id> \x3Ckey>

Priority (priority)

Task priority is managed with the priority key:

agkan task meta set \x3Ctask-id> priority \x3Cvalue>
Value Meaning
critical Requires immediate attention. Blocking issue
high Should be prioritized
medium Normal priority (default)
low Work on if there is time

When to set priority: Priority is set during the planning phase (agkan-planning-subtask), at the same time the task is moved from backlog to ready. This is the responsibility of the planning skill. Skills that select tasks for execution (e.g., agkan-run) read this value to determine which task to work on next.


Tag Priority

When selecting or tagging tasks, use the following priority order:

Priority Tag Name
1 bug
2 security
3 improvement
4 test
5 performance
6 refactor
7 docs

This is the canonical definition. All skills refer to this table.


JSON Output

Use the --json flag when machine processing is needed:

agkan task list --json
agkan task get 1 --json
agkan task count --json
agkan tag list --json

# Combine with jq
agkan task list --status ready --json | jq '.tasks[].id'

JSON Output Schema

agkan task list --json

{
  "totalCount": 10,
  "filters": {
    "status": "ready | null",
    "author": "string | null",
    "tagIds": [1, 2],
    "rootOnly": false
  },
  "tasks": [
    {
      "id": 1,
      "title": "Task Title",
      "body": "Body | null",
      "author": "string | null",
      "status": "icebox | backlog | ready | in_progress | review | done | closed",
      "parent_id": "number | null",
      "created_at": "2026-01-01T00:00:00.000Z",
      "updated_at": "2026-01-01T00:00:00.000Z",
      "parent": "object | null",
      "tags": [{ "id": 1, "name": "bug" }],
      "metadata": [{ "key": "priority", "value": "high" }]
    }
  ]
}

agkan task get \x3Cid> --json

{
  "success": true,
  "task": {
    "id": 1,
    "title": "Task Title",
    "body": "Body | null",
    "author": "string | null",
    "status": "backlog | ready | in_progress | review | done | closed",
    "parent_id": "number | null",
    "created_at": "2026-01-01T00:00:00.000Z",
    "updated_at": "2026-01-01T00:00:00.000Z"
  },
  "parent": "object | null",
  "children": [],
  "blockedBy": [{ "id": 2, "title": "..." }],
  "blocking": [{ "id": 3, "title": "..." }],
  "tags": [{ "id": 1, "name": "bug" }],
  "attachments": []
}

agkan task count --json

{
  "counts": {
    "icebox": 0,
    "backlog": 0,
    "ready": 2,
    "in_progress": 1,
    "review": 0,
    "done": 8,
    "closed": 5
  },
  "total": 16
}

agkan task find \x3Ckeyword> --json

{
  "keyword": "Search keyword",
  "excludeDoneClosed": true,
  "totalCount": 3,
  "tasks": [
    {
      "id": 1,
      "title": "Task Title",
      "body": "Body | null",
      "author": "string | null",
      "status": "ready",
      "parent_id": "number | null",
      "created_at": "2026-01-01T00:00:00.000Z",
      "updated_at": "2026-01-01T00:00:00.000Z",
      "parent": "object | null",
      "tags": [],
      "metadata": []
    }
  ]
}

agkan task block list \x3Cid> --json

{
  "task": {
    "id": 1,
    "title": "Task Title",
    "status": "ready"
  },
  "blockedBy": [{ "id": 2, "title": "...", "status": "in_progress" }],
  "blocking": [{ "id": 3, "title": "...", "status": "ready" }]
}

agkan task meta list \x3Cid> --json

{
  "success": true,
  "data": [
    { "key": "priority", "value": "high" }
  ]
}

agkan tag list --json

{
  "totalCount": 3,
  "tags": [
    {
      "id": 1,
      "name": "bug",
      "created_at": "2026-01-01T00:00:00.000Z",
      "taskCount": 2
    }
  ]
}

Typical Workflows

Icebox Review (agkan-icebox)

Icebox holds ideas and candidates that are not yet ready for planning. Review them periodically to decide whether to promote or close each one.

# Review icebox tasks
agkan task list --status icebox

# Promote to backlog when requirements become clear
agkan task update \x3Cid> status backlog

# Close if no longer needed
agkan task update \x3Cid> status closed

Icebox → Backlog conditions:

  • Requirements or background are now clear enough to plan
  • External blockers have been resolved
  • Circumstances have changed and the task is now relevant

Icebox → Closed conditions:

  • The need no longer exists
  • A duplicate already exists in a later stage
  • Superseded by another approach

Receiving Tasks as an Agent

# Check assigned tasks
agkan task list --status ready
agkan task get \x3Cid>

# Start work
agkan task update \x3Cid> status in_progress

# Complete
agkan task update \x3Cid> status done

Structuring Tasks

# Create parent task
agkan task add "Feature Implementation" --status ready

# Add subtasks
agkan task add "Design" --parent 1 --status ready
agkan task add "Implementation" --parent 1 --status backlog
agkan task add "Testing" --parent 1 --status backlog

# Set dependencies (Design → Implementation → Testing)
agkan task block add 2 3
agkan task block add 3 4

# View overall structure
agkan task list --tree

Configuration

Place .agkan.yml in the project root to customize the DB path:

path: ./.agkan/data.db

Or use environment variable: AGENT_KANBAN_DB_PATH=/custom/path/data.db

Usage Guidance
This SKILL.md is an agent-focused guide for the agkan CLI — it does not itself install anything or request secrets, but it assumes the agkan binary (and optionally tools like jq) are present. Before installing or enabling the skill: verify you have a trusted source for the agkan executable, confirm the runtime environment will provide the binary, and be aware that commands like 'agkan task add --file ./spec.md' will read local files (so an agent executing the skill can access file contents). If the registry entry should declare required binaries, ask the publisher to update the metadata; if you don't have or trust the agkan CLI, do not enable the skill.
Capability Analysis
Type: OpenClaw Skill Name: agkan Version: 0.1.0 The agkan skill bundle provides a standard interface for an AI agent to interact with a local SQLite-based task management CLI tool. The documentation in SKILL.md defines typical kanban operations such as task creation, status updates, tagging, and dependency management without any signs of malicious intent, data exfiltration, or unauthorized execution.
Capability Assessment
Purpose & Capability
SKILL.md is a runtime guide for using the 'agkan' CLI (many commands shown). The skill metadata declares no required binaries or credentials, which is inconsistent: a consumer of this skill will need the agkan executable present (and optionally jq for JSON piping). This looks like an omission in the metadata rather than malicious intent, but it's a capability–requirement mismatch you should confirm.
Instruction Scope
Instructions are limited to invoking the agkan CLI, using --file to read task bodies from local files, and emitting JSON for machine processing. There are no instructions to read unrelated system files, access environment variables, or send data to external endpoints. The only scope-related note: use of --file allows reading local files (expected for a CLI task tool) — agents running commands could therefore access local file contents if instructed.
Install Mechanism
No install spec is provided (instruction-only). This is lower risk because nothing from the skill will be written to disk by an installer, but it increases reliance on an external agkan binary whose provenance you must verify.
Credentials
The skill requests no environment variables, credentials, or config paths. This is proportionate to a local CLI helper/guide. There is no unexplained secret access.
Persistence & Privilege
The skill is not always-on and does not request persistent privileges or modify other skills' configs. It relies on the agent invoking the agkan CLI when used.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install agkan
  3. After installation, invoke the skill by name or use /agkan
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Initial release of agkan skill. - Provides a comprehensive CLI reference for managing tasks, tags, blocking relationships, and metadata using the agkan tool. - Documents task statuses, tag priorities, and typical workflows, including detailed usage for each agkan subcommand. - Defines JSON output schemas for task, tag, and metadata queries. - Includes guidelines for priority management and canonical tag usage. - Optimized for use by automated agents and skills.
Metadata
Slug agkan
Version 0.1.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Agkan?

Use when managing tasks with the agkan CLI tool - creating, listing, updating tasks, managing tags, blocking relationships, or tracking project progress with... It is an AI Agent Skill for Claude Code / OpenClaw, with 298 downloads so far.

How do I install Agkan?

Run "/install agkan" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Agkan free?

Yes, Agkan is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Agkan support?

Agkan is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Agkan?

It is built and maintained by GENDOSU (@gendosu); the current version is v0.1.0.

💬 Comments