Skip to content
Back to skills

Sd Insert Taskmaster

ASecurity

Convert tasks.md spec files into TaskMaster JSON format (.taskmaster/tasks/tasks.json), falling back to one synthetic task per requirement from spec.md when tasks.md does not exist. Use when user says 'convert tasks.md to taskmaster json', 'transform tasks.md to .taskmaster format', 'generate taskmaster json from this spec', or 'register this feature in taskmaster'.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 6, 2026
ai-agentspythongobashgit

Security analysis

A100/100

Pro scans all 8 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add Ronnasayd/aipp --skill sd-insert-taskmaster --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Sd Insert Taskmaster?

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

Security grade badge for Sd Insert Taskmaster
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ronnasayd-sd-insert-taskmaster/badge)](https://www.skillsdirectory.com/skills/ronnasayd-sd-insert-taskmaster)

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: sd-insert-taskmaster
description: Convert tasks.md spec files into TaskMaster JSON format (.taskmaster/tasks/tasks.json), falling back to one synthetic task per requirement from spec.md when tasks.md does not exist. Use when user says 'convert tasks.md to taskmaster json', 'transform tasks.md to .taskmaster format', 'generate taskmaster json from this spec', or 'register this feature in taskmaster'.
argument-hint: "<tag>: (Required) Feature tag, used as the taskmaster root key and as the .specs/features/<tag>/ directory. Ask the user before invoking if unknown."
context: fork
background: false
model: haiku
metadata:
  author: Ronnasayd Machado - github.com/Ronnasayd
  version: 1.3.0
---

# tasks-md-to-taskmaster-json

Converts a `tasks.md` spec into `.taskmaster/tasks/tasks.json` (TaskMaster-compatible task list, merge-safe).

## Input

Tag: $ARGUMENTS

This skill runs as an isolated subagent: it has no conversation history and cannot ask the user anything. If the tag above is empty, stop before writing anything and return `status: partial` with `reason: missing tag`, so the caller can ask and invoke again.

When the feature only has `spec.md` (no `tasks.md` -- tlc-spec-driven's auto-sizing decided the feature is Small/Medium and skipped the Tasks phase), this skill still registers it in taskmaster for tracking, via the spec-only fallback (Step 0.5) -- taskmaster stays a complete progress log regardless of feature size, even though execution itself stays inline and unbatched for these features.

## Steps

| #   | Step                   | Action                                                                                                                     | Output / Gate                                                                                                   |
| --- | ---------------------- | -------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| 0   | Resolve tag            | Read the root key tag from Input                                                                                           | tag stored for steps 6-7 — see [json-schemas.md](references/json-schemas.md) for wrapper shape                  |
| 0.5 | Check for tasks.md     | If `.specs/features/{TAG}/tasks.md` is missing: `spec.md` exists → spec-only fallback; otherwise stop, nothing to register | See "Spec-only fallback" below — skip steps 1-4, go straight to Step 5                                          |
| 1   | Read tasks.md fully    | Read Execution Diagram, task tables, cross-checks before writing any JSON                                                  | diagram + cross-checks are source of truth, not just `Depends on` (which may omit transitive deps)              |
| 2   | Build dependency graph | Directed edges: `task_id → [deps]`                                                                                         | validate every dep against the ASCII diagram                                                                    |
| 3   | Calculate waves (BFS)  | Wave 1 = no deps; Wave N+1 = deps all in waves ≤N                                                                          | tasks in same wave have zero deps between each other — example in [json-schemas.md](references/json-schemas.md) |
| 4   | Identify critical path | Bottom-up traversal: longest sequential dependency chain                                                                   | determines minimum execution time                                                                               |
| 5   | Map fields             | Task → JSON schema                                                                                                         | field mapping table in [json-schemas.md](references/json-schemas.md)                                            |
| 6   | Assemble output        | Build tasks.json                                                                                                           | schema + examples in [json-schemas.md](references/json-schemas.md)                                              |
| 7   | Create + validate      | Run scripts (below)                                                                                                        | file must pass validation before delivery                                                                       |

A tlc-spec-lean feature (`plan.md` and `checks.md`, no `spec.md`) is not registered: the lean path does not use Task Master, and nothing would update its status.

## Spec-only fallback (Step 0.5)

For Small/Medium features with only `spec.md`:

1. Read `spec.md` fully -- extract every requirement ID and its acceptance criteria.
2. Create one synthetic task per requirement/AC: `title` = requirement summary, `description` = the AC text, `id` assigned sequentially in spec order.
3. All synthetic tasks go in `wave 1` with `dependencies: []` -- there is no real dependency graph to compute, this is a registry, not an execution plan.
4. `metadata.onCriticalPath` = `false` for all (no critical path concept applies).
5. `testStrategy` = `"none"` unless the AC itself specifies a test/verification method.
6. Proceed to Step 5 (field mapping is already done above) then Steps 6-7 unchanged.

### Step 7 commands

```bash
mkdir -p .taskmaster/tasks
cp <skill-path>/index.html .taskmaster/index.html   # Kanban viewer, static asset

python3 <skill-path>/scripts/merge-tasks.py \
  .taskmaster/tasks/tasks.json "<tag>" '<tasks_json_string>'

python3 <skill-path>/scripts/validate-tasks.py tasks .taskmaster/tasks/tasks.json
```

- `merge-tasks.py` preserves all existing tags while adding/updating the new one.
- If validation fails, fix and re-validate before confirming delivery.

## Final Checklist

### tasks.json

- [ ] All tasks.md tasks present (count matches) -- or, for spec-only fallback, all requirement/AC ids present
- [ ] `dependencies` are integer ids, not `"T01"` strings
- [ ] Same-wave tasks have zero deps between each other
- [ ] `testStrategy` non-empty where tests exist
- [ ] `priority: "high"` only for critical-path/system-blocking tasks
- [ ] Each task has `metadata: { wave, onCriticalPath }`
- [ ] Valid JSON (`validate-tasks.py tasks` passes)
- [ ] New tag merged without overwriting existing tags
- [ ] Root key = resolved tag; `tasks` nested under it, no global metadata

## Final response

State the tag, the task count, which source ran (tasks.md or spec-only fallback), and the `validate-tasks.py` result, alongside any other fields your final response requires.

## Reference files

- [references/json-schemas.md](references/json-schemas.md) — tag wrapper, field mapping table, wave/critical-path examples, full tasks.json schema example
- [references/walkthrough-example.md](references/walkthrough-example.md) — end-to-end worked example (input → actions → result)

Files in this skill

  • SKILL.md8.3 KB
  • index.html10.7 KB
  • references/json-schemas.md2.7 KB
  • references/walkthrough-example.md1 KB
  • scripts/README.md2 KB
  • scripts/merge-tasks.py1.9 KB
  • scripts/validate-tasks.py3.2 KB
  • test-merge.sh2 KB

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 ai-agents →

Comments

Loading comments…

Newsletter

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