Skip to content

Commit e7fb4d9

Browse files
bricefclaude
andcommitted
Improve README opening and update SKILL.md for MCP
README: - Punchy one-liner tagline - Screenshot placeholder (docs/images/tui-screenshot.png) - Example workflows (content pipeline, incident response) SKILL.md: - Prioritise MCP as preferred integration, CLI as fallback - Simplify to quick reference format - Add task_detail, task_search, @me, transition-by-name guidance - Remove redundant sections Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 54919eb commit e7fb4d9

2 files changed

Lines changed: 58 additions & 89 deletions

File tree

README.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
# TaskFlow
22

3-
TaskFlow is a task tracker designed for fluid collaboration between humans and AI agents. It provides a durable server as the single source of truth, with tasks organized on kanban boards that have explicitly configured workflow state machines. Any actor — human or AI — can create, advance, review, and manage tasks, with a full audit trail recording every action with actor attribution and timestamps.
3+
**Kanban boards with workflow state machines, built for human + AI collaboration.**
4+
5+
TaskFlow is a task tracker where humans and AI agents work side by side. Tasks live on kanban boards with configurable workflow state machines. Every action — by any actor — is recorded in a full audit trail. Access it via CLI, interactive TUI, MCP for AI agents, or the HTTP API directly.
6+
7+
![TaskFlow TUI](docs/images/tui-screenshot.png)
48

59
## Getting Started
610

@@ -153,6 +157,18 @@ backlog → in_progress → review → done
153157

154158
Tasks are moved between states by name (e.g. `--transition start`), not by target state. Use `taskflow workflow get <board>` or the TUI's Workflow tab to see available transitions.
155159

160+
### Example workflows
161+
162+
**Content pipeline:**
163+
```json
164+
{"states":["draft","editing","review","published","archived"],"initial_state":"draft","terminal_states":["published","archived"],"transitions":[{"from":"draft","to":"editing","name":"edit"},{"from":"editing","to":"review","name":"submit"},{"from":"review","to":"published","name":"publish"},{"from":"review","to":"editing","name":"revise"}],"from_all":[{"to":"archived","name":"archive"}]}
165+
```
166+
167+
**Incident response:**
168+
```json
169+
{"states":["reported","triaging","investigating","mitigating","resolved","postmortem"],"initial_state":"reported","terminal_states":["postmortem"],"transitions":[{"from":"reported","to":"triaging","name":"triage"},{"from":"triaging","to":"investigating","name":"investigate"},{"from":"investigating","to":"mitigating","name":"mitigate"},{"from":"mitigating","to":"resolved","name":"resolve"},{"from":"resolved","to":"postmortem","name":"review"}]}
170+
```
171+
156172
## Architecture
157173

158174
Operations are defined once in `model.Resources()` and `model.Operations()` and derived into HTTP routes, CLI commands, OpenAPI specs, MCP tools/resources, and the shared `httpclient`. All clients (CLI, TUI, MCP, simulator) are pure HTTP consumers — they import no server internals.

SKILL.md

Lines changed: 41 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,125 +1,78 @@
11
---
22
name: taskflow
3-
description: Manage tasks on TaskFlow boards via the CLI. Use when asked to create, update, transition, list, or comment on tasks.
3+
description: Manage tasks on TaskFlow boards. Use the MCP server (preferred) or CLI to create, update, transition, list, and comment on tasks.
44
---
55

6-
You have access to the `taskflow` CLI which manages tasks on kanban boards with workflow state machines.
6+
You have access to TaskFlow, a task tracker with kanban boards and workflow state machines. Every action is attributed to your actor identity in the audit trail.
77

8-
## Prerequisites
8+
## Integration Options
99

10-
The CLI needs a running TaskFlow server. Configuration is resolved in this order:
11-
1. Flags: `--url`, `--api-key`
12-
2. Environment: `TASKFLOW_URL`, `TASKFLOW_API_KEY`
13-
3. Config file: `~/.config/taskflow/config.yaml`
14-
4. Default: `http://localhost:8374`
10+
**MCP server (preferred):** If TaskFlow is configured as an MCP server, use the MCP tools and resources directly. They provide typed inputs, rich descriptions, and notification piggyback. See the tools list for available operations.
1511

16-
Always use `--json` when you need to parse output programmatically.
12+
**CLI fallback:** If MCP is not available, use the `taskflow` CLI. Add `--json` when you need to parse output programmatically.
1713

18-
## Common Workflows
14+
Both use the same API key for authentication and actor identity.
1915

20-
### Discover what's available
16+
## Quick Reference
2117

22-
```bash
23-
# List all boards
24-
taskflow board list
25-
26-
# See a board's workflow (available states and transitions)
27-
taskflow workflow get <board-slug>
28-
29-
# List tasks on a board
30-
taskflow task list <board-slug>
31-
32-
# List tasks with filters
33-
taskflow task list <board-slug> --state in_progress --assignee alice
34-
taskflow task list <board-slug> --priority high --include_closed
35-
36-
# Search across all boards
37-
taskflow task search --q "auth bug"
38-
39-
# Get full board detail (tasks, comments, deps, audit)
40-
taskflow board detail <board-slug>
41-
```
42-
43-
### Create and manage tasks
18+
### Read data
4419

4520
```bash
46-
# Create a task (priority: critical, high, medium, low, or omit for none)
47-
taskflow task create <board-slug> --title "Fix the auth bug" --priority high --tags "security,urgent"
48-
49-
# Update a task
50-
taskflow task update <board-slug> <num> --title "New title" --priority medium --assignee alice
21+
# Boards
22+
taskflow board list
23+
taskflow board detail <slug> # full board dump
24+
taskflow board overview <slug> # task counts by state
5125

52-
# Transition a task through the workflow (e.g. start, submit, approve, reject, cancel)
53-
taskflow task transition <board-slug> <num> --transition start --comment "Working on this now"
26+
# Tasks
27+
taskflow task list <slug> # all tasks on a board
28+
taskflow task detail <slug> <num> # task with comments, deps, attachments, audit
29+
taskflow task search --q "auth bug" # search across all boards
5430

55-
# Delete a task (soft-delete)
56-
taskflow task delete <board-slug> <num>
31+
# Workflow
32+
taskflow workflow get <slug> # see states and transitions
5733
```
5834

59-
### Comments
35+
### Manage tasks
6036

6137
```bash
62-
# Add a comment
63-
taskflow comment create <board-slug> <num> --body "This needs review"
38+
# Create (priority: critical, high, medium, low, or omit)
39+
taskflow task create <slug> --title "Fix auth bug" --priority high --assignee @me
6440

65-
# List comments on a task
66-
taskflow comment list <board-slug> <num>
67-
```
41+
# Transition (use transition NAME, not state name)
42+
taskflow task transition <slug> <num> --transition start --comment "On it"
6843

69-
### Dependencies
44+
# Update
45+
taskflow task update <slug> <num> --priority critical --assignee alice
7046

71-
```bash
72-
# Create a dependency (task 3 depends on task 1)
73-
taskflow dependency create <board-slug> 3 --depends_on_board <board-slug> --depends_on_num 1 --dep_type depends_on
47+
# Comment
48+
taskflow comment create <slug> <num> --body "Ready for review"
7449

75-
# List dependencies
76-
taskflow dependency list <board-slug> <num>
50+
# Delete (soft-delete)
51+
taskflow task delete <slug> <num>
7752
```
7853

7954
### Boards
8055

8156
```bash
82-
# Create a board (default workflow if --workflow omitted)
57+
# Create (omit --workflow for the default backlog→in_progress→review→done workflow)
8358
taskflow board create --slug my-board --name "My Board"
8459

85-
# Create with custom workflow
86-
taskflow board create --slug my-board --name "My Board" --workflow '{"states":["todo","doing","done"],"initial_state":"todo","terminal_states":["done"],"transitions":[{"from":"todo","to":"doing","name":"start"},{"from":"doing","to":"done","name":"finish"}]}'
87-
88-
# Archive a board (soft-delete, comments still allowed)
89-
taskflow board delete <board-slug>
90-
```
91-
92-
### Audit trail
93-
94-
```bash
95-
# Task audit log
96-
taskflow task audit <board-slug> <num>
97-
98-
# Board audit log
99-
taskflow board audit <board-slug>
100-
```
101-
102-
### Views
103-
104-
```bash
105-
# Board overview (task counts by state)
106-
taskflow board overview <board-slug>
107-
108-
# System-wide statistics (admin only)
109-
taskflow admin stats
60+
# Archive
61+
taskflow board delete <slug>
11062
```
11163

11264
## Key Concepts
11365

114-
- **Workflow**: Each board has a state machine. Use `taskflow workflow get <slug>` to see available states and transitions before transitioning tasks.
115-
- **Archived boards**: Archived boards are read-only except for comments. Use `taskflow board list --include_deleted` to see them.
66+
- **Workflows**: each board has a state machine defining how tasks move. Always check `taskflow workflow get <slug>` before transitioning if you're unsure which transitions are valid.
67+
- **Transitions by name**: pass the transition name (e.g. `start`, `submit`, `approve`), not the target state. On failure, the error message lists available transitions.
68+
- **`@me`**: use as assignee to assign tasks to yourself. Works in create, update, and search filters.
69+
- **Task references**: tasks are identified by `<board-slug> <num>` (CLI) or `board/num` shorthand (MCP `task_ref`).
11670
- **Priorities**: `critical`, `high`, `medium`, `low`, or omit for none.
117-
- **Task IDs**: Tasks are numbered per-board. Reference as `<board-slug> <num>`.
118-
- **Actor**: Your identity is determined by your API key. Use `@me` as assignee to assign to yourself.
71+
- **Audit trail**: every action is recorded with actor attribution and timestamp.
11972

12073
## Tips
12174

122-
- When asked to check task status, use `taskflow task get <slug> <num> --json` and parse the JSON.
123-
- When transitioning, first check available transitions with `taskflow workflow get <slug>` if unsure which transition names are valid.
124-
- Use `taskflow task list <slug> --json` for programmatic processing of task lists.
125-
- Comments are the primary way to communicate progress on tasks.
75+
- Use `task detail` instead of `task get` — it includes comments, dependencies, attachments, and audit in one request.
76+
- Use `task search --assignee @me` to find all your tasks across boards.
77+
- Comments are the primary way to communicate progress and context on tasks.
78+
- When transitioning fails, read the error — it tells you which transitions are available.

0 commit comments

Comments
 (0)