by anombyte93
Zero-config goal-to-tasks engine for Claude Code (the Atlas engine). Graded PRD validation, dependency-ordered task graph, evidence-gated execution.
# Add to your Claude Code skills
git clone https://github.com/anombyte93/prd-taskmasterGuides for using ai agents skills like prd-taskmaster.
Last scanned: 5/20/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-20T07:43:52.911Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}prd-taskmaster is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by anombyte93. Zero-config goal-to-tasks engine for Claude Code (the Atlas engine). Graded PRD validation, dependency-ordered task graph, evidence-gated execution. It has 577 GitHub stars.
Yes. prd-taskmaster passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/anombyte93/prd-taskmaster" and add it to your Claude Code skills directory (see the Installation section above). prd-taskmaster ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
prd-taskmaster is primarily written in Python. It is open-source under anombyte93 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh prd-taskmaster against similar tools.
No comments yet. Be the first to share your thoughts!
name: prd-taskmaster description: >- Zero-config goal-to-tasks engine (the Atlas engine). Takes any goal (software, pentest, business, learning), runs adaptive discovery via brainstorming, generates a validated spec, parses into TaskMaster tasks, and hands off to execution. Use when user says "PRD", "product requirements", "I want to build", invokes /atlas, or wants task-driven development. allowed-tools:
Zero-config goal-to-tasks engine. AI handles discovery and content; the engine backend (MCP
server preferred, script.py fallback — see Phase 0) handles mechanics.
Command: /atlas is the canonical invocation (or /prd-taskmaster, or just say "I want to
build …"). The full plugin install also exposes phase skills; this standalone skill runs the whole
pipeline inline.
Script: ~/.claude/skills/prd-taskmaster/script.py (all commands output JSON). It is a thin
shim over the bundled prd_taskmaster/ package — the single source of truth shared with the plugin.
Manual flag: If the user says --manual, manual=true, or "do it manually", perform the
TaskMaster mechanics yourself: write .taskmaster/docs/prd.md, write .taskmaster/tasks/tasks.json
with tasks and subtasks, run validate-tasks, then run enrich-tasks. Do not block on TaskMaster
CLI/MCP parsing.
Activate: PRD, product requirements, taskmaster, task-driven development, "I want to build X", any goal. Skip: API docs, test specs, project timelines, PDF creation.
The engine has two interchangeable backends: the atlas-engine MCP server (preferred) and script.py (zero-dependency fallback). Resolve which one this session uses NOW. Do NOT silently default to script.py.
Claude Code note — deferred tools: MCP tools are often deferred: their names appear
in a system-reminder list but they are NOT callable until you load their schemas with the
ToolSearch tool. "I don't see a callable engine_preflight tool" does NOT mean the server
is absent — it almost always means you have not run ToolSearch yet.
Resolution procedure, in order:
ToolSearch tool exists in your session:
a. ToolSearch(query="select:mcp__atlas-engine__engine_preflight")
b. If no match: ToolSearch(query="+engine preflight atlas", max_results=10) — this
also catches plugin-scoped ids such as mcp__plugin_prd_go__engine_preflight.
c. If a schema loads → MCP-mode = ON. Record the prefix (e.g. mcp__atlas-engine__).
If both user-scope and plugin-scope match, prefer mcp__atlas-engine__.engine_preflight MCP tool is already directly callable →
MCP-mode = ON with that prefix.Announce the result before Phase 1, exactly one line:
Engine backend: MCP (<prefix>*) or Engine backend: script.py (CLI fallback).
Hard rules for the rest of the run:
python3 script.py <cmd> for an op that has an MCP tool in this session's
prefix is a compliance failure — the only exceptions are ops in the "Script/agent-only"
table and ops whose tool is missing from the resolved prefix (some plugin installs expose
fewer tools — fall back to script.py for just those ops).Run preflight and auto-detect everything. Ask zero setup questions.
MCP-mode (from Phase 0 — ONE batched call, no script spam): call
<prefix>engine_preflight once — it covers preflight + taskmaster detection + provider
configuration + capabilities and returns a summary list to present verbatim.
Skip every individual script call below entirely.
CLI-mode (zero-dependency installs): one batched subcommand, same result:
python3 ~/.claude/skills/prd-taskmaster/script.py engine-preflight
From preflight JSON, determine the state:
| Condition | Action |
|---|---|
prd_path exists + task_count > 0 |
Ask: execute tasks / update PRD / new PRD / review |
backend.ai_ops == "agent" |
Backend resolves automatically; print ONE info line: add an API key or install task-master-ai for headless AI ops; proceed |
| manual flag present | Proceed using Native Mode (TaskMaster optional), regardless of TaskMaster CLI/MCP state |
has_taskmaster == false + backend selected |
Run init-project (below), then continue |
has_taskmaster but no PRD |
Proceed to Discovery |
has_crash_state |
Offer: resume from crash point or start fresh |
Initialise the project if needed, then auto-configure providers (silent). Use
init-project for the resolved backend. For the taskmaster backend, this preserves
an existing .mcp.json; raw task-master init overwrites it with a placeholder template.
Use init-taskmaster only when explicitly operating the taskmaster backend:
python3 ~/.claude/skills/prd-taskmaster/script.py init-project # only when .taskmaster/ absent
python3 ~/.claude/skills/prd-taskmaster/script.py init-taskmaster # taskmaster backend only
python3 ~/.claude/skills/prd-taskmaster/script.py configure-providers
python3 ~/.claude/skills/prd-taskmaster/script.py detect-providers
If configure-providers returns recommended_action: "init_taskmaster", run
init-project first; if the backend is explicitly taskmaster, init-taskmaster
is also safe and preserves .mcp.json.
Report compact status:
✓ Backend: taskmaster-api|native-api|agent
✓ Detected: TaskMaster (MCP|CLI)
✓ Detected: Provider (Claude Code|Codex CLI|Anthropic API)
✓ Detected: Research (Perplexity API Free|Perplexity MCP|Perplexity API|fallback)
Gate: backend resolved (always true). Report ai_ops capability. Proceed to Discovery.
Always prefer subscription/native providers before paid API keys:
claude-code / sonnet when claude exists; otherwise codex-cli / gpt-5.2-codex when codex exists.codex-cli / gpt-5.2-codex when available; otherwise claude-code / sonnet.openai-compatible provider:
sonarhttp://127.0.0.1:8765.env key: OPENAI_COMPATIBLE_API_KEY="local-perplexity-api-free" (dummy local key only)Do not require ANTHROPIC_API_KEY or paid PERPLEXITY_API_KEY when native Claude/Codex and Perplexity API Free are available.
Read the phase file and follow it:
Read ~/.claude/skills/prd-taskmaster/phases/DISCOVER.md
Progressive, adaptive, domain-agnostic discovery via superpowers:brainstorming.
Gate: Discovery complete and user approved design. Proceed to Generate.
Read the phase file and follow it:
Read ~/.claude/skills/prd-taskmaster/phases/GENERATE.md
Generate spec, validate quality, parse tasks, enrich with metadata.
Gate: PRD validated GOOD+ and tasks created through TaskMaster parse/expand OR Native Mode. Proceed to Handoff.
Formerly "Manual Mechanics Mode". The engine produces the same validated task graph without
TaskMaster — use it when the user passes --manual, TaskMaster isn't installed, or its
parsing/expansion is a poor fit.
.taskmaster/docs/prd.md normally..taskmaster/tasks/tasks.json in TaskMaster-compatible shape:
tasks: []id, title, description, details, testStrategy, status, dependencies, priority, and subtasksid, title, description, status, and dependenciespython3 ~/.claude/skills/prd-taskmaster/script.py validate-tasks
python3 ~/.claude/skills/prd-taskmaster/script.py enrich-tasks
python3 ~/.claude/skills/prd-taskmaster/script.py validate-tasks --require-phase-config
Read the phase file and follow it:
Read ~/.claude/skills/prd-taskmaster/phases/HANDOFF.md
Detect capabilities, recommend ONE execution mode, hand off. Modes (user-facing names):
Verified Loop (recommended when superpowers + a loop runner are present), Auto-Execute
(TaskMaster's native loop), Plan & Drive (plan only). Atlas Fleet — parallel multi-session
execution — appears as an Atlas Pro option when a licensed atlas-launcher is detected;
otherwise it shows as a locked teaser pointing to https://atlas-ai.au/pro. The free engine is
always fully usable on its own.
Gate: User chose mode and handoff complete.
At debrief time, every executing agent records how the run went. MCP-mode:
<prefix>feedback_submit / <prefix>feedback_report. CLI-mode:
python3 script.py feedback-add --rating <1-5> --agent <name> --harness <claude-code|codex|gemini|api|other> --task-ref <id> --well <text> --failed <text> --suggest <text>. Feedback is stored in
.atlas-ai/feedback.jsonl; summarize it with python3 script.py feedback-report.
This table is normative — instruction sites reference operations by name. In MCP-mode use the MCP tool (substitute the Phase-0 prefix); in CLI-mode use the script.py command.
| Operation | MCP tool (MCP-mode) | script.py (CLI-mode / fallback) |
|---|---|---|
engine-preflight |
engine_preflight |
engine-preflight |
preflight |
preflight |
preflight |
detect-taskmaster |
detect_taskmaster |
detect-taskmaster |
backend-detect |
backend_detect |
backend-detect |
init |
init_project |
init-project |
init-taskmaster |
init_taskmaster |
init-taskmaster |
validate-setup |
validate_setup |
(covered by engine-preflight) |
detect-capabilities |
detect_capabilities |
detect-capabilities |
load-template |
load_template |
load-template --type comprehensive|minimal |
calc-tasks |
calc_tasks |
calc-tasks --requirements <count> [--scale solo|team|enterprise] |
validate-prd |
validate_prd |
validate-prd --input <path> |
backup-prd |
backup_prd |
backup-prd --input <path> |
parse-prd |
parse_prd |
parse-prd --input <path> --num-tasks N [--tag] |
rate |
rate_tasks |
rate [--tag] [--no-research] |
expand |
expand_tasks |
expand [--id N ...] [--no-research] [--tag] |
next |
next_task |
next-task [--tag] |
set-status |
set_task_status |
set-status --id <id> --status <status> [--tag] |
fleet-waves |
compute_fleet_waves |
fleet-waves |
feedback-add |
feedback_submit |
feedback-add --rating <1-5> ... |
feedback-report |
feedback_report |
feedback-report |
status |
render_status |
status [--phase P] [--format boxed|ascii|json] [--all] |
Render the progress panel at each phase boundary (and on demand) via status / render_status
— the boxed phase tracker, validation scorecard, ship-check gates, and execute progress.
Backend behavior is identical through either interface: the taskmaster backend wraps native
TaskMaster operations safely (init/parse/rate/expand); the native
backend uses direct API calls or returns agent_action_required; next/set-status are
engine-native under every backend.
| Command | Purpose |
|---|---|
configure-providers |
Configure native Claude/Codex + local Perplexity API Free defaults |
detect-providers |
Auto-detect AI providers |
validate-tasks [--input <path>] [--require-phase-config] |
Validate manually-authored tasks.json |
enrich-tasks |
Add phaseConfig metadata to tasks |
parallel-plan [--missing-only] |
Emit per-task research packets for parallel subagents |
parallel-apply --input <results.json> |
Merge parallel research results atomically |
parallel-extract --output <path> / parallel-inject --input <path> |
Tagged ⇄ flat tasks bridge |
economy-report |
Summarize telemetry per (op_class, model) |
Decision tree for expansion + research (token-economy aware):
Manual flag → Native Mode (unchanged)
pending tasks ≤ 3 → TaskMasterBackend.expand internal: serial NATIVE
rate --research, then expand per task (main dir)
task-master ≥ 0.43 AND research
role is a REAL structured API → TaskMasterBackend.expand internal: NATIVE-PARALLEL
(sonar/anthropic/openai… key) one serial analyze-complexity, then N isolated workdirs each running
native `expand --id N --research` with an economy-tier model; ONE
atomic harvest merge. Failed packets → agent-parallel rerun.
free local proxy / no API key /
TM provider errors / TM < 0.43 → native/agent path: AGENT-PARALLEL (fallback):
parallel-plan → N subagents → parallel-apply
Why isolation dirs: task-master 0.43+ uses proper-lockfile + atomic writes, but its 10s lock-stale window vs 30–120s AI calls makes concurrent invocations in ONE directory unsafe — N isolated project dirs sidestep the lock entirely and double as the per-attempt model mechanism (expand has no --model flag; each workdir carries its own config.json). The free local Perplexity proxy returns prose where TaskMaster needs strict JSON — that is why the proxy keeps the agent-normalized path while real APIs get the native path.
Pattern — the parallelism lives in the AGENT, not the script:
python3 ~/.claude/skills/prd-taskmaster/script.py parallel-plan --missing-only # research packets JSON
# AGENT: split packets into N groups (by lane/domain), spawn N parallel research
# subagents; each verifies files in-repo + researches APIs and returns
# [{id, complexityScore, recommendedSubtasks, reasoning, researchNotes, subtasks[]}]
# AGENT: concatenate results -> results.json
python3 ~/.claude/skills/prd-taskmaster/script.py parallel-apply --input results.json # ONE atomic write
# + writes .taskmaster/reports/task-complexity-report[_<tag>].json (TaskMaster format)
# + returns needs_more_subtasks (score >= threshold w/ too-few subtasks) for a second pass
If the perplexity-api-free MCP wrapper times out or says the proxy is unreachable, check direct
proxy health:
curl -sS -X POST http://127.0.0.1:8765/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model":"sonar","messages":[{"role":"user","content":"Return exactly: ok"}],"max_tokens":16}'
If direct curl works, continue: use MCP, direct proxy calls, or agent research to produce the
results.json schema, then normalize prose into valid JSON before parallel-apply. Do not block on
native task-master analyze-complexity --research.
Tag bridge for explicit flat-file workflows (the script also reads tagged TaskMaster files directly):
python3 ~/.claude/skills/prd-taskmaster/script.py parallel-extract --output /tmp/flat.json
python3 ~/.claude/skills/prd-taskmaster/script.py validate-tasks --input /tmp/flat.json
python3 ~/.claude/skills/prd-taskmaster/script.py enrich-tasks --input /tmp/flat.json
python3 ~/.claude/skills/prd-taskmaster/script.py validate-tasks --input /tmp/flat.json --require-phase-config
python3 ~/.claude/skills/prd-taskmaster/script.py parallel-inject --input /tmp/flat.json
All commands default --tag to .taskmaster/state.json currentTag and run from the project root.
Standalone: Works on its own. Takes any goal, produces spec + tasks.
Produces: spec.md + tasks.json (in .taskmaster/).
Then: hand off to an execution mode (Verified Loop / Auto-Execute / Plan & Drive), or
Atlas Fleet for parallel multi-session execution with Atlas Pro.
configure-providers; do not drift back to paid Anthropic/Perplexity APIs unless native/free routes are unavailableparallel-apply; native TaskMaster research is only acceptable when it returns valid structured output and validation passesprd-taskmaster by Atlas AI is an open-source engine for Claude Code that takes a one-line goal, interviews you like a senior PM, writes a graded, placeholder-proof PRD, compiles it into a dependency-ordered task graph, and executes every task with verification evidence — so "done" means proven, not claimed.
Free and MIT, forever.
⚠️ Pre-alpha — under active development. Atlas was recently consolidated into this engine and the newer systems (fleet orchestration, backend abstraction, token economy) have not been fully tested in the wild yet. Expect rough edges and breaking changes between releases, pin a version if you need stability, and please report what breaks. No warranty beyond the MIT license. Atlas Pro is not generally available — it is a private pilot (see below).
Atlas has four structural moats:
validate-tasks, evidence checks, and SHIP_CHECK_OK
make completion a deterministic state, not a claim.tasks.json — your PRD, task graph, and execution state stay as
plain repo files that survive vendor swaps.Atlas speaks TaskMaster natively — but doesn't need it. Existing TaskMaster projects get a
migration funnel: install task-master-ai only when you want the TaskMaster backend, while the
native backend keeps the same validated task graph available without that prerequisite.
Grade: GOOD ▰▰▰▰▰▰▰▰▱▱ 49/57 (86%) · 0 placeholders · 14 tasks parsed
goal → discovery interview → graded PRD → dependency-ordered task graph → verified execution
SHIP_CHECK_OK token.90 seconds to your first run.
curl -fsSL https://atlas-ai.au/install | bash
# installs the skill + prd_taskmaster package
# TaskMaster install is optional — unlocks the TaskMaster backend
# add the marketplace, then install the plugin
/plugin marketplace add anombyte93/prd-taskmaster
/plugin install prd
# optional — unlocks the TaskMaster backend
npm install -g task-master-ai
Open any project in Claude Code and type:
/prd:atlas (or /prd:go, or just say: "I want to build …")
Requires Python 3.11+ and Linux / macOS / WSL. The free engine needs no paid API key — it
uses the model CLIs you already have; an optional local research proxy can be plugged in
(bring your own — not bundled). npm installs run a postinstall step that pip-installs the
MCP server's Python deps (non-fatal warning if pip is unavailable).
Most AI coding tools tell you a task is done. This one makes "done" provable:
TBD, {{...}}, TODO — bare or bracketed) are a hard fail: the grade floors to NEEDS WORK and validate-prd exits non-zero.tasks.json tasks with dependencies, complexity scores, and full subtask coverage — not a flat checklist.SHIP_CHECK_OK is emitted only when every gate passes — and a single non-zero Exit status in any evidence file blocks it. It is structurally hard to fake. (One escape hatch exists for incident recovery: an explicit admin override flag that is audit-logged and marks the token [OVERRIDE] on stdout — never silent.)┌─ atlas ── PHASE 3/4: GENERATE ─────────────────────────────┐
│ Grade: GOOD ▰▰▰▰▰▰▰▰▱▱ 49/57 (86%) │
│ ✓ 11 checks passed structure · testability · metrics │
│ ⚠ 2 warnings (quoted + located, not just counted) │
│ ✓ 0 placeholders (TBD/TODO/{{...}} scan clean) │
│ Tasks: 14 parsed · 52 subtasks · dependencies mapped │
└────────────────────────────────────────────────────────────┘
Pre-alpha. The deterministic core — graded PRD validation, the task graph, the ship-check
gate, the CLI — is covered by ~300 tests and is the most stable surface. The newer systems
around it (cross-vendor fleet, backend abstraction, the token-economy ledger, the bundled Pro
MCPs) are recently built and not yet battle-tested; their numbers (e.g. cost savings) are
verified-rate estimates, not measured guarantees (see
docs/product/MODEL-ECONOMY.md). Expect breaking changes
between releases; pin a version for stability. Bug reports and use-case notes are the fastest way
to move it toward stable — open an issue.
Every job runs on the cheapest model that can do it — and escalates only when a validator says it failed. One setting controls how aggressive that is:
// .atlas-ai/fleet.json
{ "token_economy": "conservative" } // or "balanced" (default) / "performance"
Task decomposition and research run through the selected backend. Native mode works without a
TaskMaster install; installing task-master-ai >= 0.43.0 unlocks TaskMaster's model-agnostic AI
(any API you configure — Anthropic, OpenAI, Perplexity, Gemini, openai-compatible…) and isolated
workdir expansion when that backend is selected. Complexity 2 scaffolding gets a haiku-class
model; the hardest long-running work gets the frontier model; nothing defaults to expensive.
Local telemetry (economy-report) shows your real success-rate and latency per model so the
routing gets smarter on YOUR workload — priors and sources in
docs/product/MODEL-ECONOMY.md.
Atlas Pro is in private pilot — not generally available and not yet for sale. Pricing is not set. During the pilot, access is granted at our discretion to testers with a strong use case (often free). The table shows what Pro will add; the Pro-only rows are experimental and not fully tested. Want in? Request pilot access → (an on-site signup at
atlas-ai.au/pilotto be notified at launch is coming).
| Free (MIT) | Atlas Pro — private pilot | |
|---|---|---|
| Discovery interview (adaptive, one question at a time) | ✓ | ✓ |
| Graded PRD validation + placeholder scan | ✓ | ✓ |
Dependency-ordered task graph (tasks.json) |
✓ | ✓ |
| Verified solo execution — evidence required per task | ✓ | ✓ |
| Model-agnostic: Claude / Codex / Gemini | ✓ | ✓ |
| Parallel research fan-out | ✓ | ✓ |
| Token economy — start cheap, escalate only on failure (conservative/balanced/performance) | ✓ | ✓ |
| Optional TaskMaster backend expansion — any configured API, isolated workdirs | ✓ | ✓ |
Local cost telemetry + economy-report |
✓ | ✓ |
| Adaptive routing auto-tuning from telemetry | — | ✓ (roadmap) |
| Atlas Fleet — parallel waves of isolated workers, checker-gated merges, one final PR | — | ✓ |
| Browser-verification MCP (UI proof, not just logs) | — | ✓ |
| Secrets-vault MCP (keys never in your repo or prompts) | — | ✓ |
| License & priority support | community | ✓ |
The engine is the whole engine — the free tier is not a demo. Pro adds the fleet orchestrator and bundled MCPs (both pilot-stage, not fully tested). Request pilot access →
When a build is big enough to want overnight parallelism, Atlas Fleet lifts the same engine
from one session to many. It splits your task graph into dependency waves of file-disjoint
chunks, spawns model-agnostic workers (Claude / Codex / Gemini) in isolated git worktrees,
collects results through a durable inbox rather than trusting an agent's word, and merges waves
sequentially into an integration branch behind a checker gate — never touching main until one
final green PR.
It runs entirely on your machine. Your specs and tasks are plain files in your repo, nothing is held hostage. Fleet is pilot-stage and not yet hardened — treat it as a preview.