Skip to content

Commit 5726f53

Browse files
Update implement prompt to update PR (#203)
## Description This pull request updates the implementation instructions in `.github/prompts/implement.prompt.md` to improve task tracking and clarify how pull request descriptions should be managed. The main focus is on making task progress more visible in real-time and ensuring the PR description is always ready to be used as release notes. **Task tracking and status updates:** * Added a critical requirement to update task status immediately after each task is completed: * Mark the task as `[X]` in `tasks.md` and update the PR description checkbox for each completed task. * Updates must be made task-by-task, not at the end. * Provided guidance for using GitHub tools or `gh pr edit` to update the PR description, ensuring real-time visibility of task progress. **Pull request description management:** * Changed instructions to require replacing the entire PR description with release notes: * The existing PR description, including the task list, must be cleared and replaced with release notes. * This ensures the PR description is immediately ready to be used as GitHub Release notes upon merging. * Updated the example command to clarify that the PR description should be replaced with release notes. ## Type of change <!-- Use the check-boxes [x] on the options that are relevant. --> - [ ] 📖 [Docs] - [ ] 🪲 [Fix] - [x] 🩹 [Patch] - [ ] ⚠️ [Security fix] - [ ] 🚀 [Feature] - [ ] 🌟 [Breaking change] ## Checklist <!-- Use the check-boxes [x] on the options that are relevant. --> - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas
1 parent b0c44ad commit 5726f53

File tree

1 file changed

+11
-20
lines changed

1 file changed

+11
-20
lines changed

.github/prompts/implement.prompt.md

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -26,24 +26,20 @@ $ARGUMENTS
2626
- Get the issue number associated with the current feature branch
2727
- **Add 'Implementing' label** to the issue and PR immediately in the target repository
2828
- **Remove 'Planning' label** from the issue and PR
29-
3029
**GitHub Integration**: If GitHub tools are available, update labels automatically in the target repository. If not available, use:
3130
```bash
3231
# If fork: gh issue edit <issue-number> --repo <upstream_owner>/<upstream_repo> --remove-label "Planning" --add-label "Implementing"
3332
# If local: gh issue edit <issue-number> --remove-label "Planning" --add-label "Implementing"
3433
gh issue edit <issue-number> --remove-label "Planning" --add-label "Implementing"
3534
```
36-
3735
2. Run [`.specify/scripts/powershell/check-prerequisites.ps1 -Json -RequireTasks -IncludeTasks`](../../.specify/scripts/powershell/check-prerequisites.ps1) from repo root and parse FEATURE_DIR and AVAILABLE_DOCS list. All paths must be absolute.
38-
3936
3. Load and analyze the implementation context:
4037
- **REQUIRED**: Read tasks.md for the complete task list and execution plan
4138
- **REQUIRED**: Read plan.md for tech stack, architecture, and file structure
4239
- **IF EXISTS**: Read data-model.md for entities and relationships
4340
- **IF EXISTS**: Read contracts/ for API specifications and test requirements
4441
- **IF EXISTS**: Read research.md for technical decisions and constraints
4542
- **IF EXISTS**: Read quickstart.md for integration scenarios
46-
4743
4. Parse tasks.md structure and extract:
4844
- **Detect iteration state**: Check task completion markers
4945
- Tasks marked [X] are complete - skip unless user requests changes
@@ -53,7 +49,6 @@ $ARGUMENTS
5349
- **Task dependencies**: Sequential vs parallel execution rules
5450
- **Task details**: ID, description, file paths, parallel markers [P]
5551
- **Execution flow**: Order and dependency requirements
56-
5752
5. Execute implementation following the task plan:
5853
- **Skip completed tasks**: Don't re-implement tasks marked [X] unless explicitly requested
5954
- **Resume from last incomplete task**: Start with first [ ] task found
@@ -62,36 +57,37 @@ $ARGUMENTS
6257
- **Follow TDD approach**: Execute test tasks before their corresponding implementation tasks
6358
- **File-based coordination**: Tasks affecting the same files must run sequentially
6459
- **Validation checkpoints**: Verify each phase completion before proceeding
65-
6660
6. Implementation execution rules:
6761
- **Setup first**: Initialize project structure, dependencies, and configuration
6862
- **Tests before code**: If you need to write tests for contracts, entities, and integration scenarios
6963
- **Core development**: Implement models, services, CLI commands, and endpoints
7064
- **Integration work**: Database connections, middleware, logging, and external services
7165
- **Polish and validation**: Unit tests, performance optimization, and documentation
72-
7366
7. Progress tracking and error handling:
7467
- Report progress after each completed task
7568
- Halt execution if any non-parallel task fails
7669
- For parallel tasks [P], continue with successful tasks and report failed ones
7770
- Provide clear error messages with context for debugging
7871
- Suggest next steps if implementation cannot proceed
79-
- **IMPORTANT**: For completed tasks, make sure to mark the task as [X] in the tasks file.
80-
72+
- **CRITICAL - Update task status immediately after completion**:
73+
* After completing each task, mark it as [X] in tasks.md
74+
* Update the PR description to mark the corresponding task checkbox from `- [ ] T###:` to `- [X] T###:`
75+
* This MUST be done task-by-task as you progress, not at the end
76+
* If GitHub tools are available, use them to update the PR description
77+
* If not available, use: `gh pr edit <PR-number> --body "<updated-description>"`
78+
* Ensure task progress is visible in real-time to users watching the PR
8179
8. Completion validation:
8280
- Verify all required tasks are completed
8381
- Check that implemented features match the original specification
8482
- Validate that tests pass and coverage meets requirements
8583
- Confirm the implementation follows the technical plan
8684
- Report final status with summary of completed work
87-
8885
9. Update the constitution:
8986
- Read the [Constitution](../../.specify/memory/constitution.md) file.
9087
- Read the [constitution prompt](./constitution.prompt.md) for guidance on how to update the constitution.
9188
- Update the constitution file with details on what has been implemented in this PR
9289
- Document the functionality that was added or changed, remove the sections that are no longer relevant
9390
- Ensure the constitution reflects the current state of the codebase
94-
9591
10. Update the CHANGELOG:
9692
- **Locate or create CHANGELOG.md** in the repository root
9793
- **Add a new entry** for this feature/change following the Keep a Changelog format
@@ -109,7 +105,6 @@ $ARGUMENTS
109105
* Include brief usage examples where helpful
110106
* Link to the PR or issue: `[#<issue-number>]`
111107
- **Keep it concise**: Focus on user-impacting changes, not internal refactoring details
112-
113108
11. Final commit and push:
114109
- **Stage all implemented changes** including:
115110
* All source code files created or modified
@@ -123,7 +118,6 @@ $ARGUMENTS
123118
* Include reference to issue: `Fixes #<issue-number>`
124119
- **Push the branch** to remote
125120
- Verify the push completed successfully
126-
127121
12. Update PR description with release notes:
128122
- **Determine workflow mode and target repository**:
129123
- Check if `.fork-info.json` exists in the feature directory (same directory as spec.md)
@@ -141,7 +135,6 @@ $ARGUMENTS
141135
- **Retrieve the issue title**: Get the title from the linked GitHub issue (created in `/specify`) from the target repository
142136
- **Use the same title for the PR**: Verify the PR title matches the issue title exactly. If they differ, update the PR title to match the issue.
143137
- If unable to retrieve the issue title, determine the PR type and icon based on the changes:
144-
145138
| Type of change | Icon | Label |
146139
|-|-|-|
147140
| Docs | 📖 | Docs |
@@ -150,9 +143,10 @@ $ARGUMENTS
150143
| Patch | 🩹 | Patch |
151144
| Feature | 🚀 | Minor |
152145
| Breaking change | 🌟 | Major |
153-
154146
- Fallback PR title format (if issue title unavailable): `<Icon> [Type of change]: <Short description>`
155-
- **Write PR description as a release note**:
147+
- **REPLACE the entire PR description with release notes**:
148+
* **IMPORTANT**: Clear the existing PR description completely (including task list) and replace it with the release notes
149+
* This ensures the PR description is ready to be used as GitHub Release notes when merged to main
156150
* **Opening summary** (1-2 paragraphs):
157151
- Start with what was accomplished in user-focused language
158152
- Write in past tense: "Added...", "Improved...", "Fixed..."
@@ -183,15 +177,13 @@ $ARGUMENTS
183177
- **Apply appropriate label(s)** based on the type of change
184178
- **Link the PR** to the associated issue
185179
- **Update `.fork-info.json`** (if it exists) with the latest PR number (if not already present)
186-
187180
**GitHub Integration**: If GitHub tools or integrations are available (such as GitHub MCP Server or other GitHub integrations), use them to update the PR description in the target repository. If not available, provide this fallback command:
188181
```bash
189-
# Update PR description
182+
# Replace PR description with release notes
190183
# If fork: gh pr edit <PR-number> --repo <upstream_owner>/<upstream_repo> --body "<release-note-description>"
191184
# If local: gh pr edit <PR-number> --body "<release-note-description>"
192185
gh pr edit <PR-number> --body "<release-note-description>"
193186
```
194-
195187
13. Mark PR as ready for review:
196188
- **Determine target repository** (same logic as step 12):
197189
- Check if `.fork-info.json` exists in the feature directory
@@ -200,7 +192,6 @@ $ARGUMENTS
200192
- **Remove 'Implementing' label** from the linked issue and the PR in the target repository
201193
- **Mark PR as ready for review** (no longer draft)
202194
- **After updates**: Ensure `.fork-info.json` (if it exists) has both issue and PR numbers stored
203-
204195
**GitHub Integration**: If GitHub tools are available, update labels and PR status automatically in the target repository. If not available, use:
205196
```bash
206197
# Mark PR as ready for review

0 commit comments

Comments
 (0)