ima-claude 2.18.0 → 2.20.0
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.
- package/README.md +7 -0
- package/dist/cli.js +5 -1
- package/package.json +1 -1
- package/plugins/ima-claude/.claude-plugin/plugin.json +2 -2
- package/plugins/ima-claude/skills/agentic-workflows/SKILL.md +133 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/deliver.md +181 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/draft.md +99 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/gather.md +130 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/outline.md +106 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/review.md +137 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/standards/draft-format.md +159 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/standards/editorial-standards.md +160 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/standards/outline-format.md +110 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/avada-construction-guide.md +263 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/avada-webinar-example.txt +275 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/cta-block-catalog.md +169 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/espo-email-preparation.md +241 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/webinar-recap-email-espo.html +339 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/webinar-reminder-email-espo.html +458 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/workflows/editorial/webinar-summary.md +81 -0
- package/plugins/ima-claude/skills/design-to-code/SKILL.md +126 -0
- package/plugins/ima-claude/skills/design-to-code/references/guardrails.md +46 -0
- package/plugins/ima-claude/skills/design-to-code/references/phase-a-design-to-prompt.md +141 -0
- package/plugins/ima-claude/skills/design-to-code/references/phase-b-prompt-to-code.md +155 -0
- package/plugins/ima-claude/skills/design-to-code/references/prompt-template.md +95 -0
- package/plugins/ima-claude/skills/mcp-atlassian/SKILL.md +94 -14
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-attachments.md +115 -0
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-auth.md +103 -0
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-bulk.md +149 -0
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-misc.md +195 -0
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-sprints.md +158 -0
- package/plugins/ima-claude/skills/prompt-starter/SKILL.md +9 -6
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# Atlassian Direct API — Miscellaneous Operations
|
|
2
|
+
|
|
3
|
+
MCP gaps: comment edit/delete, watchers, components, versions, page deletion.
|
|
4
|
+
|
|
5
|
+
See [direct-api-auth.md](direct-api-auth.md) for auth setup.
|
|
6
|
+
|
|
7
|
+
All examples use Gateway (Bearer) auth.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Comments
|
|
12
|
+
|
|
13
|
+
### Edit a Jira Comment
|
|
14
|
+
|
|
15
|
+
**API:** `PUT /rest/api/3/issue/{issueKey}/comment/{commentId}`
|
|
16
|
+
**When:** Correcting or updating an existing comment.
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
curl -s -X PUT \
|
|
20
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
21
|
+
-H "Content-Type: application/json" \
|
|
22
|
+
-d '{
|
|
23
|
+
"body": {
|
|
24
|
+
"type": "doc",
|
|
25
|
+
"version": 1,
|
|
26
|
+
"content": [
|
|
27
|
+
{
|
|
28
|
+
"type": "paragraph",
|
|
29
|
+
"content": [{"type": "text", "text": "Updated comment text"}]
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
}' \
|
|
34
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/api/3/issue/PROJ-123/comment/10042"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
#### Notes
|
|
38
|
+
- Comment body must be ADF (not Markdown) for the v3 API
|
|
39
|
+
- Get comment IDs from `getJiraIssue` with `fields: ["comment"]`
|
|
40
|
+
- Only the comment author or an admin can edit
|
|
41
|
+
|
|
42
|
+
### Delete a Jira Comment
|
|
43
|
+
|
|
44
|
+
**API:** `DELETE /rest/api/3/issue/{issueKey}/comment/{commentId}`
|
|
45
|
+
**When:** Removing erroneous or sensitive comments.
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
curl -s -X DELETE \
|
|
49
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
50
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/api/3/issue/PROJ-123/comment/10042"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
#### Notes
|
|
54
|
+
- Returns HTTP 204 on success (no body)
|
|
55
|
+
- Only the comment author or an admin can delete
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Watchers
|
|
60
|
+
|
|
61
|
+
### Get Watchers
|
|
62
|
+
|
|
63
|
+
**API:** `GET /rest/api/3/issue/{issueKey}/watchers`
|
|
64
|
+
**When:** Checking who is watching an issue.
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
curl -s \
|
|
68
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
69
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/api/3/issue/PROJ-123/watchers" \
|
|
70
|
+
| jq '.watchers[] | {accountId, displayName}'
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Add a Watcher
|
|
74
|
+
|
|
75
|
+
**API:** `POST /rest/api/3/issue/{issueKey}/watchers`
|
|
76
|
+
**When:** Subscribing someone to issue notifications.
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
curl -s -X POST \
|
|
80
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
81
|
+
-H "Content-Type: application/json" \
|
|
82
|
+
-d '"5b10a2844c20165700ede21g"' \
|
|
83
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/api/3/issue/PROJ-123/watchers"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
#### Notes
|
|
87
|
+
- Body is a **raw JSON string** (the accountId in quotes), not an object
|
|
88
|
+
- Get `accountId` from MCP `lookupJiraAccountId`
|
|
89
|
+
|
|
90
|
+
### Remove a Watcher
|
|
91
|
+
|
|
92
|
+
**API:** `DELETE /rest/api/3/issue/{issueKey}/watchers?accountId={accountId}`
|
|
93
|
+
**When:** Unsubscribing someone from issue notifications.
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
curl -s -X DELETE \
|
|
97
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
98
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/api/3/issue/PROJ-123/watchers?accountId=5b10a2844c20165700ede21g"
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Components
|
|
104
|
+
|
|
105
|
+
### List Project Components
|
|
106
|
+
|
|
107
|
+
**API:** `GET /rest/api/3/project/{projectKey}/components`
|
|
108
|
+
**When:** Finding component IDs for issue creation or filtering.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
curl -s \
|
|
112
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
113
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/api/3/project/PROJ/components" \
|
|
114
|
+
| jq '.[] | {id, name, lead: .lead.displayName}'
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Create a Component
|
|
118
|
+
|
|
119
|
+
**API:** `POST /rest/api/3/component`
|
|
120
|
+
**When:** Adding a new component to a project.
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
curl -s -X POST \
|
|
124
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
125
|
+
-H "Content-Type: application/json" \
|
|
126
|
+
-d '{
|
|
127
|
+
"name": "Authentication",
|
|
128
|
+
"project": "PROJ",
|
|
129
|
+
"description": "Auth and identity management",
|
|
130
|
+
"leadAccountId": "5b10a2844c20165700ede21g"
|
|
131
|
+
}' \
|
|
132
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/api/3/component" \
|
|
133
|
+
| jq '{id, name}'
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Versions (Releases)
|
|
139
|
+
|
|
140
|
+
### List Project Versions
|
|
141
|
+
|
|
142
|
+
**API:** `GET /rest/api/3/project/{projectKey}/versions`
|
|
143
|
+
**When:** Finding version IDs for fix-version assignment.
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
curl -s \
|
|
147
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
148
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/api/3/project/PROJ/versions" \
|
|
149
|
+
| jq '.[] | {id, name, released, releaseDate}'
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Create a Version
|
|
153
|
+
|
|
154
|
+
**API:** `POST /rest/api/3/version`
|
|
155
|
+
**When:** Setting up a new release version.
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
curl -s -X POST \
|
|
159
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
160
|
+
-H "Content-Type: application/json" \
|
|
161
|
+
-d '{
|
|
162
|
+
"name": "v2.1.0",
|
|
163
|
+
"projectId": 10001,
|
|
164
|
+
"description": "Q2 release",
|
|
165
|
+
"releaseDate": "2026-06-30",
|
|
166
|
+
"released": false
|
|
167
|
+
}' \
|
|
168
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/api/3/version" \
|
|
169
|
+
| jq '{id, name}'
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
#### Notes
|
|
173
|
+
- Uses numeric `projectId`, not project key — get it from `getVisibleJiraProjects`
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Confluence Page Deletion
|
|
178
|
+
|
|
179
|
+
### Delete a Confluence Page
|
|
180
|
+
|
|
181
|
+
**API:** `DELETE /wiki/api/v2/pages/{pageId}`
|
|
182
|
+
**When:** Removing outdated or draft Confluence pages.
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
curl -s -X DELETE \
|
|
186
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
187
|
+
"https://api.atlassian.com/ex/confluence/$ATLASSIAN_CLOUD_ID/wiki/api/v2/pages/12345"
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
#### Notes
|
|
191
|
+
- Uses Confluence **v2 API** (not v1)
|
|
192
|
+
- Returns HTTP 204 on success
|
|
193
|
+
- Page is moved to trash first (recoverable for 30 days)
|
|
194
|
+
- Get page ID from MCP `getConfluencePage` or `searchConfluenceUsingCql`
|
|
195
|
+
- Child pages become orphans — reassign or delete them first
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# Atlassian Direct API — Sprint & Board Management
|
|
2
|
+
|
|
3
|
+
MCP gap: no Scrum/Kanban board or sprint tools. The Agile API uses a different base path.
|
|
4
|
+
|
|
5
|
+
See [direct-api-auth.md](direct-api-auth.md) for auth setup.
|
|
6
|
+
|
|
7
|
+
All examples use Gateway (Bearer) auth. The Agile API base is:
|
|
8
|
+
```
|
|
9
|
+
https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/agile/1.0
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
### List Boards
|
|
15
|
+
|
|
16
|
+
**API:** `GET /rest/agile/1.0/board`
|
|
17
|
+
**When:** Finding the board ID for a project.
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -s \
|
|
21
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
22
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/agile/1.0/board?projectKeyOrId=PROJ" \
|
|
23
|
+
| jq '.values[] | {id, name, type}'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
#### Notes
|
|
27
|
+
- Filter by project with `projectKeyOrId` param
|
|
28
|
+
- `type` is `scrum` or `kanban`
|
|
29
|
+
- Board ID is needed for all subsequent sprint operations
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
### Get Active Sprint
|
|
34
|
+
|
|
35
|
+
**API:** `GET /rest/agile/1.0/board/{boardId}/sprint?state=active`
|
|
36
|
+
**When:** Finding the current sprint to add issues to.
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
curl -s \
|
|
40
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
41
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/agile/1.0/board/42/sprint?state=active" \
|
|
42
|
+
| jq '.values[] | {id, name, state, startDate, endDate}'
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
#### Notes
|
|
46
|
+
- `state` filter accepts: `future`, `active`, `closed`
|
|
47
|
+
- Multiple states: `state=active,future`
|
|
48
|
+
- Only Scrum boards have sprints — Kanban boards return empty
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### Get Issues in a Sprint
|
|
53
|
+
|
|
54
|
+
**API:** `GET /rest/agile/1.0/sprint/{sprintId}/issue`
|
|
55
|
+
**When:** Reviewing what's in a sprint.
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
curl -s \
|
|
59
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
60
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/agile/1.0/sprint/100/issue?fields=summary,status,assignee" \
|
|
61
|
+
| jq '.issues[] | {key, summary: .fields.summary, status: .fields.status.name}'
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
#### Notes
|
|
65
|
+
- Use `fields` param to limit response size (same as Jira REST API v3)
|
|
66
|
+
- Supports `jql` param for additional filtering within the sprint
|
|
67
|
+
- Paginated: use `startAt` and `maxResults` for large sprints
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
### Move Issues to a Sprint
|
|
72
|
+
|
|
73
|
+
**API:** `POST /rest/agile/1.0/sprint/{sprintId}/issue`
|
|
74
|
+
**When:** Adding issues to a sprint (sprint planning).
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
curl -s -X POST \
|
|
78
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
79
|
+
-H "Content-Type: application/json" \
|
|
80
|
+
-d '{"issues": ["PROJ-101", "PROJ-102", "PROJ-103"]}' \
|
|
81
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/agile/1.0/sprint/100/issue"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
#### Notes
|
|
85
|
+
- Accepts issue keys or issue IDs
|
|
86
|
+
- Issues are moved from their current sprint (or backlog) to the target sprint
|
|
87
|
+
- No response body on success (HTTP 204)
|
|
88
|
+
- To move to backlog: use `POST /rest/agile/1.0/backlog/issue` with same body
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### Create a Sprint
|
|
93
|
+
|
|
94
|
+
**API:** `POST /rest/agile/1.0/sprint`
|
|
95
|
+
**When:** Setting up a new sprint.
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
curl -s -X POST \
|
|
99
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
100
|
+
-H "Content-Type: application/json" \
|
|
101
|
+
-d '{
|
|
102
|
+
"name": "Sprint 42",
|
|
103
|
+
"originBoardId": 42,
|
|
104
|
+
"startDate": "2026-04-06T09:00:00.000Z",
|
|
105
|
+
"endDate": "2026-04-20T17:00:00.000Z",
|
|
106
|
+
"goal": "Complete auth migration"
|
|
107
|
+
}' \
|
|
108
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/agile/1.0/sprint" \
|
|
109
|
+
| jq '{id, name, state}'
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
#### Notes
|
|
113
|
+
- `originBoardId` is required — use the board ID from "List Boards"
|
|
114
|
+
- Dates are ISO 8601
|
|
115
|
+
- Sprint starts in `future` state
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
### Start or Close a Sprint
|
|
120
|
+
|
|
121
|
+
**API:** `PUT /rest/agile/1.0/sprint/{sprintId}`
|
|
122
|
+
**When:** Starting a planned sprint or closing a completed one.
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Start a sprint
|
|
126
|
+
curl -s -X PUT \
|
|
127
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
128
|
+
-H "Content-Type: application/json" \
|
|
129
|
+
-d '{"state": "active"}' \
|
|
130
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/agile/1.0/sprint/100"
|
|
131
|
+
|
|
132
|
+
# Close a sprint (must specify where incomplete issues go)
|
|
133
|
+
curl -s -X PUT \
|
|
134
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
135
|
+
-H "Content-Type: application/json" \
|
|
136
|
+
-d '{"state": "closed"}' \
|
|
137
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/agile/1.0/sprint/100"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
#### Notes
|
|
141
|
+
- Only one sprint can be `active` per board at a time
|
|
142
|
+
- When closing, incomplete issues move to the backlog by default
|
|
143
|
+
- To move incomplete issues to a specific sprint, close the sprint via the Jira UI (API doesn't support the move-to-sprint parameter natively)
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
### Move Issues to Backlog
|
|
148
|
+
|
|
149
|
+
**API:** `POST /rest/agile/1.0/backlog/issue`
|
|
150
|
+
**When:** Removing issues from a sprint without deleting them.
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
curl -s -X POST \
|
|
154
|
+
-H "Authorization: Bearer $ATLASSIAN_BEARER_TOKEN" \
|
|
155
|
+
-H "Content-Type: application/json" \
|
|
156
|
+
-d '{"issues": ["PROJ-101", "PROJ-102"]}' \
|
|
157
|
+
"https://api.atlassian.com/ex/jira/$ATLASSIAN_CLOUD_ID/rest/agile/1.0/backlog/issue"
|
|
158
|
+
```
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prompt-starter
|
|
3
|
-
description:
|
|
3
|
+
description: Build better prompts from rough ideas. Selects template, pre-fills from Jira, opens in GUI editor, returns refined prompt. Does NOT execute the work — only crafts the prompt.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Prompt Starter
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
**You are a prompt builder, not an executor.** Your job is to take a rough idea and produce a well-structured, context-rich prompt. You NEVER execute the work described in the prompt — you only craft and return it.
|
|
9
|
+
|
|
10
|
+
Load a structured prompt template, pre-fill it with Jira context, open it in the user's GUI editor, and return the refined prompt for the user to run.
|
|
9
11
|
|
|
10
12
|
**Trigger words:**
|
|
11
13
|
- `brainstorm`, `research`, `explore` → `references/brainstorm.md`
|
|
@@ -103,12 +105,13 @@ When the background task completes (editor closed), read the file back:
|
|
|
103
105
|
Read ~/.claude/prompts/{session-name}.md
|
|
104
106
|
```
|
|
105
107
|
|
|
106
|
-
### Step 7:
|
|
108
|
+
### Step 7: Present the finished prompt — STOP
|
|
109
|
+
|
|
110
|
+
Present the final prompt to the user. Your job is done.
|
|
107
111
|
|
|
108
|
-
|
|
109
|
-
> Here's your prompt. Ready to execute, or want to adjust anything?
|
|
112
|
+
> Here's your refined prompt. You can paste it into a new conversation, adjust it further, or tell me to run it.
|
|
110
113
|
|
|
111
|
-
|
|
114
|
+
**CRITICAL: Do NOT execute the prompt.** The user decides when and where to run it. If the user explicitly says "run it" or "execute this", only then should you treat it as working instructions. Unsolicited execution defeats the entire purpose of this skill — the value is in the better prompt, not in skipping ahead to the work.
|
|
112
115
|
|
|
113
116
|
---
|
|
114
117
|
|