$npx -y skills add anombyte93/prd-taskmaster --skill customise-workflowCustomise the prd-taskmaster plugin workflow via curated brainstorm questions. The AI asks, the user answers in plain English, and the skill writes their preferences to .atlas-ai/config/atlas.json. Future runs of prd-taskmaster read that file and apply user preferences to phase g
| 1 | # customise-workflow |
| 2 | |
| 3 | AI-driven workflow customisation for the `prd-taskmaster` plugin. |
| 4 | Replaces manual JSON editing. Part of the plugin's companion-skills family. |
| 5 | |
| 6 | **Script**: `skills/customise-workflow/script.py` (all commands output JSON) |
| 7 | **Plugin config root**: `.atlas-ai/` (per-project, lives alongside TaskMaster's |
| 8 | `.taskmaster/`) |
| 9 | |
| 10 | ## When to Use |
| 11 | |
| 12 | Activate when the user says: "customise workflow", "customize workflow", |
| 13 | "adjust PRD settings", "tune the skill", "change my defaults", or |
| 14 | "personalise prd-taskmaster". |
| 15 | |
| 16 | Skip: generating a new PRD (use `/prd:go`), executing tasks (use |
| 17 | HANDOFF modes), or running research expansion (use `/expand-tasks`). |
| 18 | |
| 19 | ## The One Rule |
| 20 | |
| 21 | **The AI asks the questions and writes the config. The user never manually |
| 22 | edits JSON. The config file is the output, not the input.** If the user wants |
| 23 | tweaks beyond the curated questions, point them at `.atlas-ai/customizations/` |
| 24 | (see "Customizations directory" below) — do not hand them raw JSON. |
| 25 | |
| 26 | ## Flow |
| 27 | |
| 28 | ``` |
| 29 | LOAD → ASK → VALIDATE → WRITE → VERIFY |
| 30 | ``` |
| 31 | |
| 32 | ### Phase 1: LOAD current config |
| 33 | |
| 34 | Run the script to load existing preferences (or defaults if first run): |
| 35 | |
| 36 | ```bash |
| 37 | python3 skills/customise-workflow/script.py load-config |
| 38 | ``` |
| 39 | |
| 40 | Returns JSON with current preferences across 6 categories: provider, |
| 41 | validation, execution, template, autonomous, gates. Writes to |
| 42 | `.atlas-ai/config/atlas.json` if missing, seeding defaults. |
| 43 | |
| 44 | ### Phase 2: ASK curated questions |
| 45 | |
| 46 | Read `questions/curated-questions.md` and ask each one via `AskUserQuestion`. |
| 47 | The questions are curated so plain-English answers map cleanly to config keys. |
| 48 | Example: |
| 49 | |
| 50 | ``` |
| 51 | Q1: Which AI provider do you prefer for task generation? |
| 52 | Options: Gemini (free, token-efficient), Claude Code (free, Max only), |
| 53 | OpenAI GPT-4, Anthropic Direct API, OpenRouter, Ollama (local) |
| 54 | |
| 55 | Q2: How strict should PRD validation be? |
| 56 | Options: Strict (block on NEEDS_WORK), Normal (warn but allow GOOD+), |
| 57 | Lenient (accept ACCEPTABLE+) |
| 58 | |
| 59 | Q3: Which execution mode should prd-taskmaster default to? |
| 60 | Options: A (Plan Mode), B (Ralph loop), C (Atlas Fleet), ... |
| 61 | |
| 62 | ... |
| 63 | ``` |
| 64 | |
| 65 | Do NOT ask all questions at once. Ask one curated question at a time and |
| 66 | adapt follow-ups based on answers. (Same pattern as |
| 67 | `superpowers:brainstorming`.) |
| 68 | |
| 69 | ### Phase 3: VALIDATE answers |
| 70 | |
| 71 | Run the script with each user answer as it arrives. The script validates the |
| 72 | answer against allowed values and returns either `ok: true` or a hint about |
| 73 | what's wrong. |
| 74 | |
| 75 | ```bash |
| 76 | python3 skills/customise-workflow/script.py validate-answer \ |
| 77 | --key provider_main --value gemini-cli |
| 78 | ``` |
| 79 | |
| 80 | If validation fails, re-ask the question with the hint. Never write an invalid |
| 81 | value. |
| 82 | |
| 83 | ### Phase 4: WRITE config |
| 84 | |
| 85 | After all curated questions are answered, commit the config: |
| 86 | |
| 87 | ```bash |
| 88 | python3 skills/customise-workflow/script.py write-config --input /tmp/answers.json |
| 89 | ``` |
| 90 | |
| 91 | This writes to `.atlas-ai/config/atlas.json` in the current project. |
| 92 | Idempotent — re-running customise-workflow reads and updates the existing |
| 93 | file. The script creates the `.atlas-ai/config/` directory if missing. |
| 94 | |
| 95 | ### Phase 5: VERIFY |
| 96 | |
| 97 | Show the user their final config and confirm it matches their intent: |
| 98 | |
| 99 | ```bash |
| 100 | python3 skills/customise-workflow/script.py show-config |
| 101 | ``` |
| 102 | |
| 103 | If the user says "that's not what I meant" for any key, re-enter Phase 2 for |
| 104 | just that key, re-validate, and re-write. |
| 105 | |
| 106 | ## Script Commands Reference |
| 107 | |
| 108 | | Command | Purpose | |
| 109 | |---|---| |
| 110 | | `load-config` | Load current `.atlas-ai/config/atlas.json` (or defaults) | |
| 111 | | `list-questions` | Return the curated question set as JSON | |
| 112 | | `validate-answer --key K --value V` | Validate a single answer | |
| 113 | | `write-config --input <file>` | Write validated answers to `.atlas-ai/config/atlas.json` | |
| 114 | | `show-config` | Display current config | |
| 115 | | `reset-config` | Delete `.atlas-ai/config/atlas.json` (back to defaults) | |
| 116 | |
| 117 | ## Config Schema |
| 118 | |
| 119 | `.atlas-ai/config/atlas.json` has 7 top-level keys: |
| 120 | |
| 121 | ```json |
| 122 | { |
| 123 | "token_economy": "conservative|balanced|performance", |
| 124 | "provider": { |
| 125 | "main": "gemini-cli|claude-code|anthropic|openai|openrouter|ollama|...", |
| 126 | "model_main": "gemini-3- |