$npx -y skills add totvs/engpro-advpl-tlpp-skills --skill advpl-tlpp-sddPlan and implement Protheus projects/features with 4 adaptive phases — Specify, Design, Tasks, Execute. Auto-sizes depth based on complexity. Creates atomic tasks with verification criteria, atomic commits, requirement traceability, and persistent memory across sessions. Specific
| 1 | # Protheus Spec-Driven Development |
| 2 | |
| 3 | Plan and implement Protheus projects with precision. Granular tasks. Clear dependencies. Right tools. Zero ceremony. |
| 4 | |
| 5 | ``` |
| 6 | ┌──────────┐ ┌──────────┐ ┌─────────┐ ┌─────────┐ |
| 7 | │ SPECIFY │ → │ DESIGN │ → │ TASKS │ → │ EXECUTE │ |
| 8 | └──────────┘ └──────────┘ └─────────┘ └─────────┘ |
| 9 | required optional* optional* required |
| 10 | |
| 11 | * Agent auto-skips when scope does not justify |
| 12 | ``` |
| 13 | |
| 14 | ## Auto-Sizing: The Core Principle |
| 15 | |
| 16 | **Complexity determines depth, not a fixed pipeline.** Before starting any feature, assess scope and apply only what's needed: |
| 17 | |
| 18 | | Scope | What | Specify | Design | Tasks | Execute | |
| 19 | | ----------- | ----------------------------- | -------------------------------------------------------- | ----------------------------------------------- | ------------------------------ | ------------------------------------------------------ | |
| 20 | | **Small** | ≤3 files, one-sentence | **Quick mode** — skips pipeline entirely | - | - | - | |
| 21 | | **Medium** | Clear feature, <10 tasks | Spec (brief) | Skip — inline design | Skip — implicit tasks | Implement + verify | |
| 22 | | **Large** | Multi-component feature | Full spec + requirement IDs | Architecture + components | Full breakdown + deps | Implement + verify per task | |
| 23 | | **Complex** | Ambiguity, new domain | Full spec + [discuss gray areas](references/discuss.md) | [Research](references/design.md) + architecture | Breakdown + parallel plan | Implement + [interactive UAT](references/validate.md) | |
| 24 | |
| 25 | **Rules:** |
| 26 | |
| 27 | - **Specify and Execute are always required** — you always need to know WHAT and to DO |
| 28 | - **Design is skipped** when the change is straightforward (no architectural decisions, no new patterns) |
| 29 | - **Tasks is skipped** when there are ≤3 obvious steps (they remain implicit in Execute) |
| 30 | - **Discuss is triggered inside Specify** only when the agent detects gray areas that need user input |
| 31 | - **Interactive UAT is triggered inside Execute** only for user-facing features with complex behavior |
| 32 | - **Quick mode** is the express lane — for bug fixes, entry points, config, and small tweaks |
| 33 | |
| 34 | **Safety valve:** Even when Tasks is skipped, Execute ALWAYS begins by listing atomic steps inline (see [implement.md](references/implement.md)). If that listing reveals >5 steps or complex dependencies, STOP and create a formal `tasks.md` — the Tasks phase was wrongly skipped. |
| 35 | |
| 36 | ## Project Structure |
| 37 | |
| 38 | ``` |
| 39 | .specs/ |
| 40 | ├── project/ |
| 41 | │ ├── PROJECT.md # Vision & goals |
| 42 | │ ├── ROADMAP.md # Features & milestones |
| 43 | │ └── STATE.md # Memory: decisions, blockers, lessons, todos, deferred ideas |
| 44 | ├── codebase/ # Brownfield analysis (existing projects) |
| 45 | │ ├── STACK.md |
| 46 | │ ├── ARCHITECTURE.md |
| 47 | │ ├── CONVENTIONS.md |
| 48 | │ ├── STRUCTURE.md |
| 49 | │ ├── TESTING.md |
| 50 | │ ├── INTEGRATIONS.md |
| 51 | │ └── CONCERNS.md |
| 52 | ├── features/ # Feature specifications |
| 53 | │ └── [feature]/ |
| 54 | │ ├── spec.md # Requirements with traceable IDs |
| 55 | │ ├── context.md # User decisions for gray areas (only when discuss is triggered) |
| 56 | │ ├── design.md # Architecture & components (only for Large/Complex) |
| 57 | │ └── tasks.md # Atomic tasks with verification (only for Large/Complex) |
| 58 | └── quick/ # Ad-hoc tasks (quick mode) |
| 59 | └── NNN-slug/ |
| 60 | ├── TASK.md |
| 61 | └── SUMMARY.md |
| 62 | ``` |
| 63 | |
| 64 | ## Workflow |