Skip to content
Back to skills

Maxxing Tasks

ASecurity

Read or edit the Harness Maxxing task board (<workspace>/tasks.json) safely - add, update, move, complete or list tasks and task projects. Use when the user talks about their tasks, to-do list, kanban, what is due today, or asks to add/close a task.

  • 106 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added October 24, 2026
developmentpython

Security analysis

A100/100

Scanned October 24, 2026

npx -y skills add makushingu/harness-maxxing --skill maxxing-tasks --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Maxxing Tasks?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Maxxing Tasks
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/makushingu-maxxing-tasks/badge)](https://www.skillsdirectory.com/skills/makushingu-maxxing-tasks)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: maxxing-tasks
description: Read or edit the Harness Maxxing task board (<workspace>/tasks.json) safely - add, update, move, complete or list tasks and task projects. Use when the user talks about their tasks, to-do list, kanban, what is due today, or asks to add/close a task.
---

# Tasks (tasks.json)

The Tasks page of the UI reads `<workspace>/tasks.json` (workspace from `maxxing status`, here
`{{WORKSPACE}}/tasks.json`). The server re-reads the file when it changes, so your edits show up
in the UI within seconds.

## Schema
```json
{
  "version": 1,
  "projects": [{"id": "p_ab12", "name": "acme", "color": "#6366f1", "workspace": "acme"}],
  "tasks": [{
    "id": "t_9f3c2a", "title": "Write the launch post", "notes": "markdown",
    "status": "todo", "priority": 2, "due": "2026-05-04",
    "project_id": "p_ab12", "topic_path": "projects/acme/topics/blog", "labels": ["writing"],
    "created": 1767225600.0, "updated": 1767225600.0, "done_at": null, "order": 1000.0
  }]
}
```
- `status`: `todo` | `doing` | `done`. `priority`: 0 (none) … 3 (urgent). `due`: `YYYY-MM-DD` or null.
- `project_id` refers to `projects[].id`. Every workspace project has its task project, linked by
  `"workspace": "<project folder name>"` (created by Harness, renamed with the project): to file a task under
  workspace project `acme`, use the id of the project whose `workspace` is `acme`. Projects without `workspace`
  are free projects (e.g. "Personal"); a task may also have no project. `hidden: true` = left out of the
  page's projects bar. Never delete a linked project.
- `topic_path` optionally links a workspace topic (`projects/acme/topics/blog`); a task with a `topic_path`
  and no `project_id` is attached to that project's task project automatically.
- `order`: float, sort order inside a column (to insert between two tasks use the mean of their orders).
- Timestamps are Unix seconds (float). Set `done_at` when moving to `done`, null otherwise.
- Ids: `t_` + 6 hex chars for tasks, `p_` + 4 hex for projects; must be unique.

## Safe editing (always)
1. Read the whole file; if it is not valid JSON, **stop** and tell the user (the UI refuses to
   overwrite a corrupt file too).
2. Change only what is needed; **keep unknown fields** at every level.
3. Update `updated` on every changed task.
4. Write atomically: write `tasks.json.tmp` in the same folder, then rename over `tasks.json`.
Python snippet:
```python
import json, os, secrets, time
p = "{{WORKSPACE}}/tasks.json"
d = json.load(open(p))
now = time.time()
d["tasks"].append({"id": "t_" + secrets.token_hex(3), "title": "Call the accountant", "notes": "",
                   "status": "todo", "priority": 1, "due": None, "project_id": None,
                   "topic_path": None, "labels": [], "created": now, "updated": now,
                   "done_at": None, "order": max([t.get("order", 0) for t in d["tasks"]] + [0]) + 1000})
tmp = p + ".tmp"; json.dump(d, open(tmp, "w"), indent=2, ensure_ascii=False); os.replace(tmp, p)
```

## Answering questions
"What is due today?" -> tasks with `status != done` and `due <= today` (in the configured time zone,
`maxxing status`/config), overdue first, then by priority. Quote titles, keep it short.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in development →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.