pdmt5 0.2.2__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pdmt5-0.2.4/.agents/skills/local-qa/SKILL.md +22 -0
- {pdmt5-0.2.2/.claude → pdmt5-0.2.4/.agents}/skills/local-qa/scripts/qa.sh +1 -1
- pdmt5-0.2.4/.agents/skills/metatrader5-docs/SKILL.md +107 -0
- pdmt5-0.2.2/.codex/prompts/speckit.analyze.md → pdmt5-0.2.4/.agents/skills/speckit-analyze/SKILL.md +22 -13
- pdmt5-0.2.4/.agents/skills/speckit-baseline/SKILL.md +114 -0
- pdmt5-0.2.2/.codex/prompts/speckit.checklist.md → pdmt5-0.2.4/.agents/skills/speckit-checklist/SKILL.md +23 -13
- pdmt5-0.2.2/.codex/prompts/speckit.clarify.md → pdmt5-0.2.4/.agents/skills/speckit-clarify/SKILL.md +28 -16
- pdmt5-0.2.2/.claude/commands/speckit.constitution.md → pdmt5-0.2.4/.agents/skills/speckit-constitution/SKILL.md +30 -11
- pdmt5-0.2.2/.codex/prompts/speckit.implement.md → pdmt5-0.2.4/.agents/skills/speckit-implement/SKILL.md +20 -7
- pdmt5-0.2.2/.claude/commands/speckit.plan.md → pdmt5-0.2.4/.agents/skills/speckit-plan/SKILL.md +31 -16
- pdmt5-0.2.2/.claude/commands/speckit.specify.md → pdmt5-0.2.4/.agents/skills/speckit-specify/SKILL.md +33 -22
- pdmt5-0.2.2/.claude/commands/speckit.tasks.md → pdmt5-0.2.4/.agents/skills/speckit-tasks/SKILL.md +25 -16
- pdmt5-0.2.2/.claude/commands/speckit.taskstoissues.md → pdmt5-0.2.4/.agents/skills/speckit-taskstoissues/SKILL.md +20 -8
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.claude/settings.json +4 -1
- pdmt5-0.2.4/.github/workflows/ci.yml +77 -0
- pdmt5-0.2.4/.github/workflows/claude.yml +57 -0
- pdmt5-0.2.4/.github/workflows/release.yml +44 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.gitignore +0 -3
- pdmt5-0.2.4/AGENTS.md +81 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/PKG-INFO +8 -5
- {pdmt5-0.2.2 → pdmt5-0.2.4}/README.md +7 -4
- {pdmt5-0.2.2 → pdmt5-0.2.4}/docs/api/dataframe.md +18 -12
- {pdmt5-0.2.2 → pdmt5-0.2.4}/docs/api/index.md +6 -3
- {pdmt5-0.2.2 → pdmt5-0.2.4}/docs/api/trading.md +15 -13
- {pdmt5-0.2.2 → pdmt5-0.2.4}/docs/api/utils.md +7 -3
- {pdmt5-0.2.2 → pdmt5-0.2.4}/docs/index.md +9 -7
- {pdmt5-0.2.2 → pdmt5-0.2.4}/pdmt5/dataframe.py +81 -52
- {pdmt5-0.2.2 → pdmt5-0.2.4}/pdmt5/mt5.py +63 -56
- {pdmt5-0.2.2 → pdmt5-0.2.4}/pdmt5/trading.py +25 -22
- {pdmt5-0.2.2 → pdmt5-0.2.4}/pdmt5/utils.py +27 -13
- {pdmt5-0.2.2 → pdmt5-0.2.4}/pyproject.toml +1 -6
- pdmt5-0.2.4/specs/042-mt5-core-client/checklists/requirements.md +23 -0
- pdmt5-0.2.4/specs/042-mt5-core-client/contracts/openapi.yaml +814 -0
- pdmt5-0.2.4/specs/042-mt5-core-client/data-model.md +60 -0
- pdmt5-0.2.4/specs/042-mt5-core-client/plan.md +72 -0
- pdmt5-0.2.4/specs/042-mt5-core-client/quickstart.md +38 -0
- pdmt5-0.2.4/specs/042-mt5-core-client/research.md +30 -0
- pdmt5-0.2.4/specs/042-mt5-core-client/tasks.md +75 -0
- pdmt5-0.2.4/specs/043-mt5-dataframe-client/checklists/requirements.md +21 -0
- pdmt5-0.2.4/specs/043-mt5-dataframe-client/contracts/openapi.yaml +814 -0
- pdmt5-0.2.4/specs/043-mt5-dataframe-client/data-model.md +47 -0
- pdmt5-0.2.4/specs/043-mt5-dataframe-client/plan.md +73 -0
- pdmt5-0.2.4/specs/043-mt5-dataframe-client/quickstart.md +43 -0
- pdmt5-0.2.4/specs/043-mt5-dataframe-client/research.md +30 -0
- pdmt5-0.2.4/specs/043-mt5-dataframe-client/tasks.md +74 -0
- pdmt5-0.2.4/specs/044-mt5-trading-client/checklists/requirements.md +21 -0
- pdmt5-0.2.4/specs/044-mt5-trading-client/contracts/openapi.yaml +814 -0
- pdmt5-0.2.4/specs/044-mt5-trading-client/data-model.md +49 -0
- pdmt5-0.2.4/specs/044-mt5-trading-client/plan.md +73 -0
- pdmt5-0.2.4/specs/044-mt5-trading-client/quickstart.md +40 -0
- pdmt5-0.2.4/specs/044-mt5-trading-client/research.md +30 -0
- pdmt5-0.2.4/specs/044-mt5-trading-client/tasks.md +71 -0
- pdmt5-0.2.4/specs/046-mt5-client-operations/checklists/requirements.md +30 -0
- pdmt5-0.2.4/specs/046-mt5-client-operations/contracts/openapi.yaml +814 -0
- pdmt5-0.2.4/specs/046-mt5-client-operations/data-model.md +53 -0
- pdmt5-0.2.4/specs/046-mt5-client-operations/plan.md +75 -0
- pdmt5-0.2.4/specs/046-mt5-client-operations/quickstart.md +52 -0
- pdmt5-0.2.4/specs/046-mt5-client-operations/research.md +30 -0
- pdmt5-0.2.4/specs/046-mt5-client-operations/spec.md +131 -0
- pdmt5-0.2.4/specs/046-mt5-client-operations/tasks.md +79 -0
- pdmt5-0.2.4/specs/047-mt5-client-operations/checklists/requirements.md +30 -0
- pdmt5-0.2.4/specs/047-mt5-client-operations/contracts/openapi.yaml +814 -0
- pdmt5-0.2.4/specs/047-mt5-client-operations/data-model.md +53 -0
- pdmt5-0.2.4/specs/047-mt5-client-operations/plan.md +72 -0
- pdmt5-0.2.4/specs/047-mt5-client-operations/quickstart.md +51 -0
- pdmt5-0.2.4/specs/047-mt5-client-operations/research.md +30 -0
- pdmt5-0.2.4/specs/047-mt5-client-operations/spec.md +99 -0
- pdmt5-0.2.4/specs/047-mt5-client-operations/tasks.md +74 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/tests/test_dataframe.py +127 -77
- {pdmt5-0.2.2 → pdmt5-0.2.4}/tests/test_mt5.py +11 -13
- {pdmt5-0.2.2 → pdmt5-0.2.4}/tests/test_trading.py +126 -96
- {pdmt5-0.2.2 → pdmt5-0.2.4}/tests/test_utils.py +3 -5
- {pdmt5-0.2.2 → pdmt5-0.2.4}/uv.lock +8 -8
- pdmt5-0.2.2/.claude/commands/speckit.analyze.md +0 -184
- pdmt5-0.2.2/.claude/commands/speckit.checklist.md +0 -294
- pdmt5-0.2.2/.claude/commands/speckit.clarify.md +0 -181
- pdmt5-0.2.2/.claude/commands/speckit.implement.md +0 -135
- pdmt5-0.2.2/.claude/skills/codex-ask/SKILL.md +0 -187
- pdmt5-0.2.2/.claude/skills/codex-exec/SKILL.md +0 -313
- pdmt5-0.2.2/.claude/skills/codex-review/SKILL.md +0 -357
- pdmt5-0.2.2/.claude/skills/codex-search/SKILL.md +0 -431
- pdmt5-0.2.2/.claude/skills/local-qa/SKILL.md +0 -19
- pdmt5-0.2.2/.claude/skills/speckit-analyze/SKILL.md +0 -86
- pdmt5-0.2.2/.claude/skills/speckit-checklist/SKILL.md +0 -106
- pdmt5-0.2.2/.claude/skills/speckit-clarify/SKILL.md +0 -99
- pdmt5-0.2.2/.claude/skills/speckit-constitution/SKILL.md +0 -89
- pdmt5-0.2.2/.claude/skills/speckit-implement/SKILL.md +0 -78
- pdmt5-0.2.2/.claude/skills/speckit-plan/SKILL.md +0 -71
- pdmt5-0.2.2/.claude/skills/speckit-specify/SKILL.md +0 -75
- pdmt5-0.2.2/.claude/skills/speckit-tasks/SKILL.md +0 -79
- pdmt5-0.2.2/.claude/skills/speckit-taskstoissues/SKILL.md +0 -131
- pdmt5-0.2.2/.codex/prompts/speckit.constitution.md +0 -82
- pdmt5-0.2.2/.codex/prompts/speckit.plan.md +0 -89
- pdmt5-0.2.2/.codex/prompts/speckit.specify.md +0 -256
- pdmt5-0.2.2/.codex/prompts/speckit.tasks.md +0 -137
- pdmt5-0.2.2/.codex/prompts/speckit.taskstoissues.md +0 -30
- pdmt5-0.2.2/.github/workflows/ci.yml +0 -136
- pdmt5-0.2.2/AGENTS.md +0 -174
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.claude/agents/codex.md +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.github/FUNDING.yml +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.github/dependabot.yml +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.github/renovate.json +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.specify/memory/constitution.md +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.specify/scripts/bash/check-prerequisites.sh +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.specify/scripts/bash/common.sh +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.specify/scripts/bash/create-new-feature.sh +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.specify/scripts/bash/setup-plan.sh +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.specify/scripts/bash/update-agent-context.sh +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.specify/templates/agent-file-template.md +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.specify/templates/checklist-template.md +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.specify/templates/plan-template.md +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.specify/templates/spec-template.md +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/.specify/templates/tasks-template.md +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/CLAUDE.md +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/LICENSE +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/docs/api/mt5.md +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/mkdocs.yml +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/pdmt5/__init__.py +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/specs/042-mt5-core-client/spec.md +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/specs/043-mt5-dataframe-client/spec.md +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/specs/044-mt5-trading-client/spec.md +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/specs/045-mt5-utils/spec.md +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/tests/__init__.py +0 -0
- {pdmt5-0.2.2 → pdmt5-0.2.4}/tests/test_init.py +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: local-qa
|
|
3
|
+
description: Run local QA including formatting, linting, and testing for the repository. Use whenever any file has been updated.
|
|
4
|
+
disable-model-invocation: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Local QA (format, lint, and test)
|
|
8
|
+
|
|
9
|
+
Run the local QA script `scripts/qa.sh` in this skill.
|
|
10
|
+
|
|
11
|
+
## Procedure
|
|
12
|
+
|
|
13
|
+
- Execute the script exactly as shown above when this skill is triggered.
|
|
14
|
+
- Capture and summarize key output (success/failure, major warnings, and any files modified).
|
|
15
|
+
- If the script fails due to missing tooling (`command not found`, missing executable, or equivalent), install the missing tool(s) and rerun `./scripts/qa.sh`.
|
|
16
|
+
- Install tools using this order of preference:
|
|
17
|
+
1. Use the project's package manager when applicable (`uv`/`poetry` for Python, package manager scripts/dependencies for Node.js).
|
|
18
|
+
2. Use a system package manager (`brew` on macOS, `apt` on Debian/Ubuntu) when project-local install is not applicable.
|
|
19
|
+
3. Use language-specific installers as fallback (`pipx`/`pip`, `npm`, `go install`, etc.).
|
|
20
|
+
- If multiple tools are missing, repeat install -> rerun until QA completes or you hit a blocker.
|
|
21
|
+
- If installation fails or requires unavailable privileges, report what was attempted, the exact failure, and stop.
|
|
22
|
+
- Do not run unrelated commands; only run commands needed for QA and missing-tool installation.
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: metatrader5-docs
|
|
3
|
+
description: Search the official MQL5 documentation for MetaTrader5 Python package usage. Use when the user needs help with MT5 Python API functions, parameters, return values, or usage examples.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# MetaTrader5 Python Documentation Search
|
|
7
|
+
|
|
8
|
+
Search the official MQL5 documentation at `https://www.mql5.com/en/docs/python_metatrader5` for MetaTrader5 Python package usage.
|
|
9
|
+
|
|
10
|
+
## Agent-Agnostic Compatibility
|
|
11
|
+
|
|
12
|
+
- Prefer the agent's native web-fetch capability (for example: `WebFetch`, browser tool, or built-in URL retrieval).
|
|
13
|
+
- If no native fetch tool exists, use CLI fallback (`curl` or `wget`) to retrieve docs pages.
|
|
14
|
+
- If network access is blocked, state the limitation and provide the best guidance from known MT5 docs structure.
|
|
15
|
+
|
|
16
|
+
## Procedure
|
|
17
|
+
|
|
18
|
+
1. Identify the MT5 Python function(s) relevant to the user's query.
|
|
19
|
+
2. Fetch the corresponding documentation page(s) using the available web retrieval method.
|
|
20
|
+
3. Summarize the function signature, parameters, return value, and usage examples.
|
|
21
|
+
4. If the user's query is general or unclear, fetch the index page first to find the right function.
|
|
22
|
+
|
|
23
|
+
## Documentation URL Map
|
|
24
|
+
|
|
25
|
+
Base URL: `https://www.mql5.com/en/docs/python_metatrader5`
|
|
26
|
+
|
|
27
|
+
| Function | URL Path |
|
|
28
|
+
| ---------------------- | --------------------------- |
|
|
29
|
+
| `initialize` | `/mt5initialize_py` |
|
|
30
|
+
| `login` | `/mt5login_py` |
|
|
31
|
+
| `shutdown` | `/mt5shutdown_py` |
|
|
32
|
+
| `version` | `/mt5version_py` |
|
|
33
|
+
| `last_error` | `/mt5lasterror_py` |
|
|
34
|
+
| `account_info` | `/mt5accountinfo_py` |
|
|
35
|
+
| `terminal_info` | `/mt5terminalinfo_py` |
|
|
36
|
+
| `symbols_total` | `/mt5symbolstotal_py` |
|
|
37
|
+
| `symbols_get` | `/mt5symbolsget_py` |
|
|
38
|
+
| `symbol_info` | `/mt5symbolinfo_py` |
|
|
39
|
+
| `symbol_info_tick` | `/mt5symbolinfotick_py` |
|
|
40
|
+
| `symbol_select` | `/mt5symbolselect_py` |
|
|
41
|
+
| `market_book_add` | `/mt5marketbookadd_py` |
|
|
42
|
+
| `market_book_get` | `/mt5marketbookget_py` |
|
|
43
|
+
| `market_book_release` | `/mt5marketbookrelease_py` |
|
|
44
|
+
| `copy_rates_from` | `/mt5copyratesfrom_py` |
|
|
45
|
+
| `copy_rates_from_pos` | `/mt5copyratesfrompos_py` |
|
|
46
|
+
| `copy_rates_range` | `/mt5copyratesrange_py` |
|
|
47
|
+
| `copy_ticks_from` | `/mt5copyticksfrom_py` |
|
|
48
|
+
| `copy_ticks_range` | `/mt5copyticksrange_py` |
|
|
49
|
+
| `orders_total` | `/mt5orderstotal_py` |
|
|
50
|
+
| `orders_get` | `/mt5ordersget_py` |
|
|
51
|
+
| `order_calc_margin` | `/mt5ordercalcmargin_py` |
|
|
52
|
+
| `order_calc_profit` | `/mt5ordercalcprofit_py` |
|
|
53
|
+
| `order_check` | `/mt5ordercheck_py` |
|
|
54
|
+
| `order_send` | `/mt5ordersend_py` |
|
|
55
|
+
| `positions_total` | `/mt5positionstotal_py` |
|
|
56
|
+
| `positions_get` | `/mt5positionsget_py` |
|
|
57
|
+
| `history_orders_total` | `/mt5historyorderstotal_py` |
|
|
58
|
+
| `history_orders_get` | `/mt5historyordersget_py` |
|
|
59
|
+
| `history_deals_total` | `/mt5historydealstotal_py` |
|
|
60
|
+
| `history_deals_get` | `/mt5historydealsget_py` |
|
|
61
|
+
|
|
62
|
+
## Function Categories
|
|
63
|
+
|
|
64
|
+
Use these categories to narrow down the user's query:
|
|
65
|
+
|
|
66
|
+
- **Connection**: `initialize`, `login`, `shutdown`
|
|
67
|
+
- **Information**: `version`, `last_error`, `account_info`, `terminal_info`
|
|
68
|
+
- **Symbols**: `symbols_total`, `symbols_get`, `symbol_info`, `symbol_info_tick`, `symbol_select`
|
|
69
|
+
- **Market Depth**: `market_book_add`, `market_book_get`, `market_book_release`
|
|
70
|
+
- **Market Data**: `copy_rates_from`, `copy_rates_from_pos`, `copy_rates_range`, `copy_ticks_from`, `copy_ticks_range`
|
|
71
|
+
- **Orders**: `orders_total`, `orders_get`, `order_calc_margin`, `order_calc_profit`, `order_check`, `order_send`
|
|
72
|
+
- **Positions**: `positions_total`, `positions_get`
|
|
73
|
+
- **History**: `history_orders_total`, `history_orders_get`, `history_deals_total`, `history_deals_get`
|
|
74
|
+
|
|
75
|
+
## Fetching Documentation
|
|
76
|
+
|
|
77
|
+
For each relevant function, retrieve its documentation using whichever method the agent supports:
|
|
78
|
+
|
|
79
|
+
- Native fetch tools (preferred).
|
|
80
|
+
- Browser automation tools.
|
|
81
|
+
- Shell fallback, for example:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
curl -fsSL "https://www.mql5.com/en/docs/python_metatrader5<url_path>"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Extraction target for each page:
|
|
88
|
+
|
|
89
|
+
- Function signature with all parameters.
|
|
90
|
+
- Parameter descriptions and types.
|
|
91
|
+
- Return value description.
|
|
92
|
+
- Notes/remarks.
|
|
93
|
+
- Full code example.
|
|
94
|
+
|
|
95
|
+
When the query spans multiple functions, fetch pages in parallel when the agent/tooling supports it.
|
|
96
|
+
|
|
97
|
+
## Response Format
|
|
98
|
+
|
|
99
|
+
Present the results as:
|
|
100
|
+
|
|
101
|
+
1. **Function**: `MetaTrader5.function_name()`
|
|
102
|
+
2. **Description**: What the function does
|
|
103
|
+
3. **Signature**: Full call signature with parameters
|
|
104
|
+
4. **Parameters**: Table or list of parameter names, types, and descriptions
|
|
105
|
+
5. **Returns**: Return type and description
|
|
106
|
+
6. **Example**: Code example from the documentation
|
|
107
|
+
7. **Source**: Link to the official documentation page
|
pdmt5-0.2.2/.codex/prompts/speckit.analyze.md → pdmt5-0.2.4/.agents/skills/speckit-analyze/SKILL.md
RENAMED
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: speckit-analyze
|
|
2
3
|
description: Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
|
|
3
4
|
---
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
# Spec Kit Analyze Skill
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
$ARGUMENTS
|
|
9
|
-
```
|
|
8
|
+
## When to Use
|
|
10
9
|
|
|
11
|
-
You
|
|
10
|
+
- You have `spec.md`, `plan.md`, and `tasks.md` and need a read-only consistency analysis before implementation.
|
|
11
|
+
|
|
12
|
+
## Inputs
|
|
13
|
+
|
|
14
|
+
- `specs/<feature>/spec.md`, `plan.md`, `tasks.md`
|
|
15
|
+
- `.specify/memory/constitution.md`
|
|
16
|
+
- Any user concerns or focus areas from the request
|
|
12
17
|
|
|
13
18
|
## Goal
|
|
14
19
|
|
|
15
|
-
Identify inconsistencies, duplications, ambiguities, and underspecified items across the three core artifacts (`spec.md`, `plan.md`, `tasks.md`) before implementation. This
|
|
20
|
+
Identify inconsistencies, duplications, ambiguities, and underspecified items across the three core artifacts (`spec.md`, `plan.md`, `tasks.md`) before implementation. This skill MUST run only after a complete `tasks.md` exists (typically after speckit-tasks).
|
|
16
21
|
|
|
17
22
|
## Operating Constraints
|
|
18
23
|
|
|
19
|
-
**STRICTLY READ-ONLY**: Do **not** modify any files. Output a structured analysis report. Offer an optional remediation plan (user must explicitly approve before any follow-up
|
|
24
|
+
**STRICTLY READ-ONLY**: Do **not** modify any files. Output a structured analysis report. Offer an optional remediation plan (user must explicitly approve before any follow-up edits are performed manually).
|
|
20
25
|
|
|
21
|
-
**Constitution Authority**: The project constitution (`.specify/memory/constitution.md`) is **non-negotiable** within this analysis scope. Constitution conflicts are automatically CRITICAL and require adjustment of the spec, plan, or tasks—not dilution, reinterpretation, or silent ignoring of the principle. If a principle itself needs to change, that must occur in a separate, explicit constitution update outside
|
|
26
|
+
**Constitution Authority**: The project constitution (`.specify/memory/constitution.md`) is **non-negotiable** within this analysis scope. Constitution conflicts are automatically CRITICAL and require adjustment of the spec, plan, or tasks—not dilution, reinterpretation, or silent ignoring of the principle. If a principle itself needs to change, that must occur in a separate, explicit constitution update outside this skill.
|
|
22
27
|
|
|
23
|
-
##
|
|
28
|
+
## Workflow
|
|
24
29
|
|
|
25
30
|
### 1. Initialize Analysis Context
|
|
26
31
|
|
|
@@ -30,7 +35,7 @@ Run `.specify/scripts/bash/check-prerequisites.sh --json --require-tasks --inclu
|
|
|
30
35
|
- PLAN = FEATURE_DIR/plan.md
|
|
31
36
|
- TASKS = FEATURE_DIR/tasks.md
|
|
32
37
|
|
|
33
|
-
Abort with an error message if any required file is missing (instruct the user to run missing prerequisite
|
|
38
|
+
Abort with an error message if any required file is missing (instruct the user to run the missing prerequisite skill or script).
|
|
34
39
|
For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").
|
|
35
40
|
|
|
36
41
|
### 2. Load Artifacts (Progressive Disclosure)
|
|
@@ -154,14 +159,18 @@ Output a Markdown report (no file writes) with the following structure:
|
|
|
154
159
|
|
|
155
160
|
At end of report, output a concise Next Actions block:
|
|
156
161
|
|
|
157
|
-
- If CRITICAL issues exist: Recommend resolving before
|
|
162
|
+
- If CRITICAL issues exist: Recommend resolving before speckit-implement
|
|
158
163
|
- If only LOW/MEDIUM: User may proceed, but provide improvement suggestions
|
|
159
|
-
- Provide explicit
|
|
164
|
+
- Provide explicit next-step suggestions: e.g., "Run speckit-specify to refine requirements", "Run speckit-plan to adjust architecture", "Manually edit tasks.md to add coverage for 'performance-metrics'"
|
|
160
165
|
|
|
161
166
|
### 8. Offer Remediation
|
|
162
167
|
|
|
163
168
|
Ask the user: "Would you like me to suggest concrete remediation edits for the top N issues?" (Do NOT apply them automatically.)
|
|
164
169
|
|
|
170
|
+
## Outputs
|
|
171
|
+
|
|
172
|
+
- Read-only analysis report in the response (no file writes)
|
|
173
|
+
|
|
165
174
|
## Operating Principles
|
|
166
175
|
|
|
167
176
|
### Context Efficiency
|
|
@@ -181,4 +190,4 @@ Ask the user: "Would you like me to suggest concrete remediation edits for the t
|
|
|
181
190
|
|
|
182
191
|
## Context
|
|
183
192
|
|
|
184
|
-
|
|
193
|
+
the user's request and any stated focus areas
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: speckit-baseline
|
|
3
|
+
description: Generate feature specifications by analyzing existing source code.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Spec Kit Baseline Skill
|
|
7
|
+
|
|
8
|
+
## When to Use
|
|
9
|
+
|
|
10
|
+
- You need a spec for existing or legacy code.
|
|
11
|
+
- You want to document a feature before refactoring.
|
|
12
|
+
- You inherited a codebase without written requirements.
|
|
13
|
+
|
|
14
|
+
## Inputs
|
|
15
|
+
|
|
16
|
+
- A target path, file list, or glob pattern describing the code to analyze.
|
|
17
|
+
- Repo context with `.specify/` scripts and templates.
|
|
18
|
+
|
|
19
|
+
If the target is missing or ambiguous, ask a focused question before continuing.
|
|
20
|
+
|
|
21
|
+
## Goal
|
|
22
|
+
|
|
23
|
+
Generate a technology-agnostic spec for existing code, then create the feature branch/spec file using the standard Spec Kit templates.
|
|
24
|
+
|
|
25
|
+
## Workflow
|
|
26
|
+
|
|
27
|
+
1. **Parse target input**: Identify files, directories, or patterns to analyze.
|
|
28
|
+
- Accept file paths, glob patterns, or directory paths.
|
|
29
|
+
- If empty: stop and ask for a concrete target.
|
|
30
|
+
|
|
31
|
+
2. **Discover and read source files**:
|
|
32
|
+
- Expand globs to a file list.
|
|
33
|
+
- Read file contents for analysis.
|
|
34
|
+
- Identify primary language(s) and frameworks.
|
|
35
|
+
- Map key file relationships and dependencies.
|
|
36
|
+
|
|
37
|
+
3. **Analyze code structure**:
|
|
38
|
+
- Identify entry points and public interfaces.
|
|
39
|
+
- Extract function/method signatures and behaviors.
|
|
40
|
+
- Find data models and entities.
|
|
41
|
+
- Detect API endpoints and routes.
|
|
42
|
+
- Identify user-facing functionality.
|
|
43
|
+
|
|
44
|
+
4. **Generate a short name** (2-4 words) from the analyzed code:
|
|
45
|
+
- Use action-noun format (e.g., "user-auth", "payment-processing").
|
|
46
|
+
- Base on primary functionality discovered.
|
|
47
|
+
- Preserve technical terms where meaningful.
|
|
48
|
+
|
|
49
|
+
5. **Create the feature branch and spec file**:
|
|
50
|
+
- Find the highest existing feature number for this short name (branches/specs).
|
|
51
|
+
- Run `.specify/scripts/bash/create-new-feature.sh --json` with the calculated number and short name.
|
|
52
|
+
- Read BRANCH_NAME, FEATURE_DIR, and SPEC_FILE paths from the script JSON output.
|
|
53
|
+
- For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").
|
|
54
|
+
|
|
55
|
+
6. **Load the spec template** from `.specify/templates/spec-template.md`.
|
|
56
|
+
|
|
57
|
+
7. **Draft the specification** using the template structure:
|
|
58
|
+
- **User Stories**: Infer from user-facing code paths and interactions.
|
|
59
|
+
- **Acceptance Scenarios**: Derive from validation logic, error handling, and tests.
|
|
60
|
+
- **Functional Requirements**: Extract from business rules and constraints.
|
|
61
|
+
- **Key Entities**: Identify from data models and schemas.
|
|
62
|
+
- **Success Criteria**: Infer from metrics, logging, or performance-related code.
|
|
63
|
+
- **Assumptions**: Document inferences made during analysis.
|
|
64
|
+
|
|
65
|
+
8. **Abstract implementation details**:
|
|
66
|
+
- Convert technical patterns to user-focused requirements.
|
|
67
|
+
- Remove framework-specific terminology.
|
|
68
|
+
- Focus on WHAT the code does, not HOW it does it.
|
|
69
|
+
|
|
70
|
+
9. **Create spec quality checklist** at `FEATURE_DIR/checklists/requirements.md`.
|
|
71
|
+
|
|
72
|
+
10. **Report completion** with:
|
|
73
|
+
- Branch name and spec file path.
|
|
74
|
+
- Summary of analyzed files.
|
|
75
|
+
- Key features discovered.
|
|
76
|
+
- Areas needing clarification or review.
|
|
77
|
+
|
|
78
|
+
## Outputs
|
|
79
|
+
|
|
80
|
+
- `specs/<feature>/spec.md`
|
|
81
|
+
- `specs/<feature>/checklists/requirements.md`
|
|
82
|
+
|
|
83
|
+
## Key rules
|
|
84
|
+
|
|
85
|
+
- Focus on extracting WHAT and WHY from HOW.
|
|
86
|
+
- Abstract away implementation details in the generated spec.
|
|
87
|
+
- Document assumptions made during code analysis.
|
|
88
|
+
- Flag areas where code behavior is unclear.
|
|
89
|
+
- Preserve discovered business rules and constraints.
|
|
90
|
+
- Use `[NEEDS CLARIFICATION]` for ambiguous code sections (max 3).
|
|
91
|
+
- Generated specs should be validated by someone who knows the feature.
|
|
92
|
+
|
|
93
|
+
## Examples
|
|
94
|
+
|
|
95
|
+
**Code Pattern → Spec Requirement**:
|
|
96
|
+
|
|
97
|
+
- `if (user.role === 'admin')` → "System MUST restrict action to administrator users"
|
|
98
|
+
- `password.length >= 8` → "Passwords MUST be at least 8 characters"
|
|
99
|
+
- `cache.set(key, value, 3600)` → "System MUST cache results for improved performance"
|
|
100
|
+
- `try { ... } catch (e) { notify(e) }` → "System MUST notify users when errors occur"
|
|
101
|
+
|
|
102
|
+
**Code Pattern → User Story**:
|
|
103
|
+
|
|
104
|
+
- Login endpoint with OAuth → "As a user, I can sign in using my social account"
|
|
105
|
+
- Shopping cart logic → "As a customer, I can add items to my cart for later purchase"
|
|
106
|
+
- Report generation → "As an analyst, I can generate reports on system activity"
|
|
107
|
+
|
|
108
|
+
## Next Steps
|
|
109
|
+
|
|
110
|
+
After generating spec.md:
|
|
111
|
+
|
|
112
|
+
- **Clarify** with domain experts using speckit-clarify.
|
|
113
|
+
- **Plan** modernization/refactoring with speckit-plan.
|
|
114
|
+
- **Compare** the generated spec with actual requirements to identify gaps.
|
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: speckit-checklist
|
|
2
3
|
description: Generate a custom checklist for the current feature based on user requirements.
|
|
3
4
|
---
|
|
4
5
|
|
|
6
|
+
# Spec Kit Checklist Skill
|
|
7
|
+
|
|
8
|
+
## When to Use
|
|
9
|
+
|
|
10
|
+
- You need a requirements-quality checklist tailored to a feature or domain.
|
|
11
|
+
|
|
12
|
+
## Inputs
|
|
13
|
+
|
|
14
|
+
- The user's request describing the checklist focus and scope.
|
|
15
|
+
- Existing artifacts (spec/plan/tasks) for context when available.
|
|
16
|
+
|
|
17
|
+
If the request is empty or unclear, ask a targeted question before continuing.
|
|
18
|
+
|
|
5
19
|
## Checklist Purpose: "Unit Tests for English"
|
|
6
20
|
|
|
7
21
|
**CRITICAL CONCEPT**: Checklists are **UNIT TESTS FOR REQUIREMENTS WRITING** - they validate the quality, clarity, and completeness of requirements in a given domain.
|
|
@@ -23,15 +37,7 @@ description: Generate a custom checklist for the current feature based on user r
|
|
|
23
37
|
|
|
24
38
|
**Metaphor**: If your spec is code written in English, the checklist is its unit test suite. You're testing whether the requirements are well-written, complete, unambiguous, and ready for implementation - NOT whether the implementation works.
|
|
25
39
|
|
|
26
|
-
##
|
|
27
|
-
|
|
28
|
-
```text
|
|
29
|
-
$ARGUMENTS
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
You **MUST** consider the user input before proceeding (if not empty).
|
|
33
|
-
|
|
34
|
-
## Execution Steps
|
|
40
|
+
## Workflow
|
|
35
41
|
|
|
36
42
|
1. **Setup**: Run `.specify/scripts/bash/check-prerequisites.sh --json` from repo root and parse JSON for FEATURE_DIR and AVAILABLE_DOCS list.
|
|
37
43
|
- All file paths must be absolute.
|
|
@@ -40,7 +46,7 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
40
46
|
2. **Clarify intent (dynamic)**: Derive up to THREE initial contextual clarifying questions (no pre-baked catalog). They MUST:
|
|
41
47
|
- Be generated from the user's phrasing + extracted signals from spec/plan/tasks
|
|
42
48
|
- Only ask about information that materially changes checklist content
|
|
43
|
-
- Be skipped individually if already unambiguous in
|
|
49
|
+
- Be skipped individually if already unambiguous in the user's request
|
|
44
50
|
- Prefer precision over breadth
|
|
45
51
|
|
|
46
52
|
Generation algorithm:
|
|
@@ -69,7 +75,7 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
69
75
|
|
|
70
76
|
Output the questions (label Q1/Q2/Q3). After answers: if ≥2 scenario classes (Alternate / Exception / Recovery / Non-Functional domain) remain unclear, you MAY ask up to TWO more targeted follow‑ups (Q4/Q5) with a one-line justification each (e.g., "Unresolved recovery path risk"). Do not exceed five total questions. Skip escalation if user explicitly declines more.
|
|
71
77
|
|
|
72
|
-
3. **Understand user request**: Combine
|
|
78
|
+
3. **Understand user request**: Combine the user's request + clarifying answers:
|
|
73
79
|
- Derive checklist theme (e.g., security, review, deploy, ux)
|
|
74
80
|
- Consolidate explicit must-have items mentioned by user
|
|
75
81
|
- Map focus selections to category scaffolding
|
|
@@ -93,7 +99,7 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
93
99
|
- Format: `[domain].md`
|
|
94
100
|
- If file exists, append to existing file
|
|
95
101
|
- Number items sequentially starting from CHK001
|
|
96
|
-
- Each
|
|
102
|
+
- Each checklist run creates a NEW file (never overwrites existing checklists)
|
|
97
103
|
|
|
98
104
|
**CORE PRINCIPLE - Test the Requirements, Not the Implementation**:
|
|
99
105
|
Every checklist item MUST evaluate the REQUIREMENTS THEMSELVES for:
|
|
@@ -211,7 +217,7 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
211
217
|
- Actor/timing
|
|
212
218
|
- Any explicit user-specified must-have items incorporated
|
|
213
219
|
|
|
214
|
-
**Important**: Each
|
|
220
|
+
**Important**: Each checklist run creates a checklist file using short, descriptive names unless the file already exists. This allows:
|
|
215
221
|
|
|
216
222
|
- Multiple checklists of different types (e.g., `ux.md`, `test.md`, `security.md`)
|
|
217
223
|
- Simple, memorable filenames that indicate checklist purpose
|
|
@@ -292,3 +298,7 @@ Sample items:
|
|
|
292
298
|
- Correct: Validation of requirement quality
|
|
293
299
|
- Wrong: "Does it do X?"
|
|
294
300
|
- Correct: "Is X clearly specified?"
|
|
301
|
+
|
|
302
|
+
## Outputs
|
|
303
|
+
|
|
304
|
+
- `specs/<feature>/checklists/<domain>.md` (new checklist file per run)
|
pdmt5-0.2.2/.codex/prompts/speckit.clarify.md → pdmt5-0.2.4/.agents/skills/speckit-clarify/SKILL.md
RENAMED
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: speckit-clarify
|
|
2
3
|
description: Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
|
|
3
|
-
handoffs:
|
|
4
|
-
- label: Build Technical Plan
|
|
5
|
-
agent: speckit.plan
|
|
6
|
-
prompt: Create a plan for the spec. I am building with...
|
|
7
4
|
---
|
|
8
5
|
|
|
9
|
-
|
|
6
|
+
# Spec Kit Clarify Skill
|
|
10
7
|
|
|
11
|
-
|
|
12
|
-
$ARGUMENTS
|
|
13
|
-
```
|
|
8
|
+
## When to Use
|
|
14
9
|
|
|
15
|
-
|
|
10
|
+
- The feature spec exists but needs targeted clarification before planning.
|
|
16
11
|
|
|
17
|
-
##
|
|
12
|
+
## Inputs
|
|
13
|
+
|
|
14
|
+
- The current feature spec in `specs/<feature>/spec.md`.
|
|
15
|
+
- The user's clarification intent or constraints from the request.
|
|
16
|
+
|
|
17
|
+
If the request is empty or the spec is missing, ask a targeted question before proceeding.
|
|
18
|
+
|
|
19
|
+
## Workflow
|
|
18
20
|
|
|
19
21
|
Goal: Detect and reduce ambiguity or missing decision points in the active feature specification and record the clarifications directly in the spec file.
|
|
20
22
|
|
|
21
|
-
Note: This clarification workflow is expected to run (and be completed) BEFORE
|
|
23
|
+
Note: This clarification workflow is expected to run (and be completed) BEFORE the speckit-plan skill. If the user explicitly states they are skipping clarification (e.g., exploratory spike), you may proceed, but must warn that downstream rework risk increases.
|
|
22
24
|
|
|
23
25
|
Execution steps:
|
|
24
26
|
|
|
@@ -26,7 +28,7 @@ Execution steps:
|
|
|
26
28
|
- `FEATURE_DIR`
|
|
27
29
|
- `FEATURE_SPEC`
|
|
28
30
|
- (Optionally capture `IMPL_PLAN`, `TASKS` for future chained flows.)
|
|
29
|
-
- If JSON parsing fails, abort and instruct user to re-run
|
|
31
|
+
- If JSON parsing fails, abort and instruct the user to re-run speckit-specify or verify the feature branch environment.
|
|
30
32
|
- For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").
|
|
31
33
|
|
|
32
34
|
2. Load the current spec file. Perform a structured ambiguity & coverage scan using this taxonomy. For each category, mark status: Clear / Partial / Missing. Produce an internal coverage map used for prioritization (do not output raw map unless no questions will be asked).
|
|
@@ -165,17 +167,27 @@ Execution steps:
|
|
|
165
167
|
- Path to updated spec.
|
|
166
168
|
- Sections touched (list names).
|
|
167
169
|
- Coverage summary table listing each taxonomy category with Status: Resolved (was Partial/Missing and addressed), Deferred (exceeds question quota or better suited for planning), Clear (already sufficient), Outstanding (still Partial/Missing but low impact).
|
|
168
|
-
- If any Outstanding or Deferred remain, recommend whether to proceed to
|
|
169
|
-
- Suggested next
|
|
170
|
+
- If any Outstanding or Deferred remain, recommend whether to proceed to speckit-plan or run speckit-clarify again later post-plan.
|
|
171
|
+
- Suggested next step.
|
|
170
172
|
|
|
171
173
|
Behavior rules:
|
|
172
174
|
|
|
173
175
|
- If no meaningful ambiguities found (or all potential questions would be low-impact), respond: "No critical ambiguities detected worth formal clarification." and suggest proceeding.
|
|
174
|
-
- If spec file missing, instruct user to run
|
|
176
|
+
- If spec file missing, instruct the user to run speckit-specify first (do not create a new spec here).
|
|
175
177
|
- Never exceed 5 total asked questions (clarification retries for a single question do not count as new questions).
|
|
176
178
|
- Avoid speculative tech stack questions unless the absence blocks functional clarity.
|
|
177
179
|
- Respect user early termination signals ("stop", "done", "proceed").
|
|
178
180
|
- If no questions asked due to full coverage, output a compact coverage summary (all categories Clear) then suggest advancing.
|
|
179
181
|
- If quota reached with unresolved high-impact categories remaining, explicitly flag them under Deferred with rationale.
|
|
180
182
|
|
|
181
|
-
Context for prioritization:
|
|
183
|
+
Context for prioritization: the user's request and any stated constraints
|
|
184
|
+
|
|
185
|
+
## Outputs
|
|
186
|
+
|
|
187
|
+
- Updated `specs/<feature>/spec.md` with clarifications appended and integrated
|
|
188
|
+
|
|
189
|
+
## Next Steps
|
|
190
|
+
|
|
191
|
+
After clarifications are resolved:
|
|
192
|
+
|
|
193
|
+
- **Plan** implementation with speckit-plan.
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: speckit-constitution
|
|
2
3
|
description: Create or update the project constitution from interactive or provided principle inputs, ensuring all dependent templates stay in sync.
|
|
3
|
-
handoffs:
|
|
4
|
-
- label: Build Specification
|
|
5
|
-
agent: speckit.specify
|
|
6
|
-
prompt: Implement the feature specification based on the updated constitution. I want to build...
|
|
7
4
|
---
|
|
8
5
|
|
|
9
|
-
|
|
6
|
+
# Spec Kit Constitution Skill
|
|
10
7
|
|
|
11
|
-
|
|
12
|
-
$ARGUMENTS
|
|
13
|
-
```
|
|
8
|
+
## When to Use
|
|
14
9
|
|
|
15
|
-
|
|
10
|
+
- Initial project setup or when governance principles need updates.
|
|
16
11
|
|
|
17
|
-
##
|
|
12
|
+
## Inputs
|
|
13
|
+
|
|
14
|
+
- User-provided principles or amendments.
|
|
15
|
+
- Existing `.specify/memory/constitution.md` and templates.
|
|
16
|
+
|
|
17
|
+
If the request is missing or ambiguous, ask focused questions before proceeding.
|
|
18
|
+
|
|
19
|
+
## Workflow
|
|
18
20
|
|
|
19
21
|
You are updating the project constitution at `.specify/memory/constitution.md`. This file is a TEMPLATE containing placeholder tokens in square brackets (e.g. `[PROJECT_NAME]`, `[PRINCIPLE_1_NAME]`). Your job is to (a) collect/derive concrete values, (b) fill the template precisely, and (c) propagate any amendments across dependent artifacts.
|
|
20
22
|
|
|
@@ -44,7 +46,13 @@ Follow this execution flow:
|
|
|
44
46
|
- Read `.specify/templates/plan-template.md` and ensure any "Constitution Check" or rules align with updated principles.
|
|
45
47
|
- Read `.specify/templates/spec-template.md` for scope/requirements alignment—update if constitution adds/removes mandatory sections or constraints.
|
|
46
48
|
- Read `.specify/templates/tasks-template.md` and ensure task categorization reflects new or removed principle-driven task types (e.g., observability, versioning, testing discipline).
|
|
47
|
-
-
|
|
49
|
+
- Review runtime prompts/agents for outdated references and align with updated principles:
|
|
50
|
+
- `.claude/commands/speckit.*.md`
|
|
51
|
+
- `.codex/prompts/speckit.*.md`
|
|
52
|
+
- `.gemini/commands/speckit.*.toml`
|
|
53
|
+
- `.github/prompts/speckit.*.prompt.md`
|
|
54
|
+
- `.github/agents/speckit.*.agent.md`
|
|
55
|
+
- `skills/speckit-*/SKILL.md`
|
|
48
56
|
- Read any runtime guidance docs (e.g., `README.md`, `docs/quickstart.md`, or agent-specific guidance files if present). Update references to principles changed.
|
|
49
57
|
|
|
50
58
|
5. Produce a Sync Impact Report (prepend as an HTML comment at top of the constitution file after update):
|
|
@@ -80,3 +88,14 @@ If the user supplies partial updates (e.g., only one principle revision), still
|
|
|
80
88
|
If critical info missing (e.g., ratification date truly unknown), insert `TODO(<FIELD_NAME>): explanation` and include in the Sync Impact Report under deferred items.
|
|
81
89
|
|
|
82
90
|
Do not create a new template; always operate on the existing `.specify/memory/constitution.md` file.
|
|
91
|
+
|
|
92
|
+
## Outputs
|
|
93
|
+
|
|
94
|
+
- Updated `.specify/memory/constitution.md` (with Sync Impact Report comment)
|
|
95
|
+
- Any updated templates or runtime guidance files required to stay consistent with the constitution
|
|
96
|
+
|
|
97
|
+
## Next Steps
|
|
98
|
+
|
|
99
|
+
After updating the constitution:
|
|
100
|
+
|
|
101
|
+
- **Specify** new features with speckit-specify.
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: speckit-implement
|
|
2
3
|
description: Execute the implementation plan by processing and executing all tasks defined in tasks.md
|
|
3
4
|
---
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
# Spec Kit Implement Skill
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
$ARGUMENTS
|
|
9
|
-
```
|
|
8
|
+
## When to Use
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
- The plan and tasks are complete and you are ready to implement.
|
|
12
11
|
|
|
13
|
-
##
|
|
12
|
+
## Inputs
|
|
13
|
+
|
|
14
|
+
- `specs/<feature>/tasks.md` and `plan.md`
|
|
15
|
+
- Optional artifacts: `data-model.md`, `contracts/`, `research.md`, `quickstart.md`
|
|
16
|
+
- User constraints (e.g., scope, testing expectations)
|
|
17
|
+
|
|
18
|
+
If tasks are missing or incomplete, ask the user to run speckit-tasks first.
|
|
19
|
+
|
|
20
|
+
## Workflow
|
|
14
21
|
|
|
15
22
|
1. Run `.specify/scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks` from repo root and parse FEATURE_DIR and AVAILABLE_DOCS list. All paths must be absolute. For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").
|
|
16
23
|
|
|
@@ -132,4 +139,10 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
132
139
|
- Confirm the implementation follows the technical plan
|
|
133
140
|
- Report final status with summary of completed work
|
|
134
141
|
|
|
135
|
-
Note: This
|
|
142
|
+
Note: This skill assumes a complete task breakdown exists in tasks.md. If tasks are incomplete or missing, suggest running speckit-tasks first to regenerate the task list.
|
|
143
|
+
|
|
144
|
+
## Outputs
|
|
145
|
+
|
|
146
|
+
- Implementation changes in the codebase
|
|
147
|
+
- Updated `specs/<feature>/tasks.md` with completed tasks checked off
|
|
148
|
+
- Any generated/updated ignore files (e.g., `.gitignore`, `.dockerignore`, `.eslintignore`, `.prettierignore`)
|