effective-prompt 0.1.3 → 0.1.4
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 +10 -8
- package/bin/install.mjs +32 -2
- package/package.json +1 -1
- package/skills/effective-prompt-interactive/SKILL.md +52 -0
- package/skills/effective-prompt-interactive/agents/openai.yaml +4 -0
- package/skills/effective-prompt-quick/SKILL.md +37 -0
- package/skills/effective-prompt-quick/agents/openai.yaml +4 -0
- package/skills/effective-prompt/SKILL.md +0 -82
- package/skills/effective-prompt/agents/openai.yaml +0 -4
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ npx skills add noeljabraham/The-Effective-Prompt
|
|
|
14
14
|
|
|
15
15
|

|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Effective Prompt preserves your intent, finds missing requirements and contradictions, and returns a clearer prompt for Claude Code, Codex, and Google Antigravity. It installs separate Quick and Interactive skills so both modes appear in skill autocomplete.
|
|
18
18
|
|
|
19
19
|
## Before and after
|
|
20
20
|
|
|
@@ -65,6 +65,8 @@ No manual repository clone or GitHub URL is required. The launcher downloads the
|
|
|
65
65
|
- Google Antigravity
|
|
66
66
|
- Google Antigravity CLI
|
|
67
67
|
|
|
68
|
+
When upgrading from the single-skill version, the launcher removes the obsolete `effective-prompt` entry after installing both replacements.
|
|
69
|
+
|
|
68
70
|
Requires Node.js 22.20 or later.
|
|
69
71
|
|
|
70
72
|
Alternatively, use skills.sh directly and choose the installation scope and agents interactively:
|
|
@@ -86,13 +88,13 @@ After installation, start a new agent session. In Antigravity CLI, you can inste
|
|
|
86
88
|
Quick mode improves the prompt immediately:
|
|
87
89
|
|
|
88
90
|
```text
|
|
89
|
-
/effective-prompt Write an email announcing our new product.
|
|
91
|
+
/effective-prompt-quick Write an email announcing our new product.
|
|
90
92
|
```
|
|
91
93
|
|
|
92
94
|
Interactive mode asks focused questions before rewriting it:
|
|
93
95
|
|
|
94
96
|
```text
|
|
95
|
-
/effective-prompt
|
|
97
|
+
/effective-prompt-interactive Write an email announcing our new product.
|
|
96
98
|
```
|
|
97
99
|
|
|
98
100
|
### Codex
|
|
@@ -100,13 +102,13 @@ Interactive mode asks focused questions before rewriting it:
|
|
|
100
102
|
Use the Codex skill mention syntax:
|
|
101
103
|
|
|
102
104
|
```text
|
|
103
|
-
$effective-prompt Write an email announcing our new product.
|
|
105
|
+
$effective-prompt-quick Write an email announcing our new product.
|
|
104
106
|
```
|
|
105
107
|
|
|
106
108
|
For interactive mode:
|
|
107
109
|
|
|
108
110
|
```text
|
|
109
|
-
$effective-prompt
|
|
111
|
+
$effective-prompt-interactive Write an email announcing our new product.
|
|
110
112
|
```
|
|
111
113
|
|
|
112
114
|
You can also invoke the skill without including a draft. It will improve the most recent user-authored prompt candidate in the conversation. Passing the draft with the command is more reliable because the agent cannot act on it before improving it.
|
|
@@ -124,12 +126,12 @@ The skill checks relevant details such as the intended outcome, context, inputs,
|
|
|
124
126
|
npx skills list --global --agent claude-code --agent codex --agent antigravity --agent antigravity-cli
|
|
125
127
|
```
|
|
126
128
|
|
|
127
|
-
The output should include `effective-prompt`.
|
|
129
|
+
The output should include `effective-prompt-quick` and `effective-prompt-interactive`.
|
|
128
130
|
|
|
129
131
|
## Uninstall
|
|
130
132
|
|
|
131
133
|
```bash
|
|
132
|
-
npx skills remove effective-prompt --global --agent '*' --yes
|
|
134
|
+
npx skills remove effective-prompt-quick effective-prompt-interactive --global --agent '*' --yes
|
|
133
135
|
```
|
|
134
136
|
|
|
135
137
|
## Development
|
|
@@ -139,4 +141,4 @@ npm install
|
|
|
139
141
|
npm test
|
|
140
142
|
```
|
|
141
143
|
|
|
142
|
-
The portable skill
|
|
144
|
+
The portable skill sources are [`skills/effective-prompt-quick/SKILL.md`](skills/effective-prompt-quick/SKILL.md) and [`skills/effective-prompt-interactive/SKILL.md`](skills/effective-prompt-interactive/SKILL.md).
|
package/bin/install.mjs
CHANGED
|
@@ -8,7 +8,8 @@ const installArgs = [
|
|
|
8
8
|
"add",
|
|
9
9
|
"noeljabraham/The-Effective-Prompt",
|
|
10
10
|
"--skill",
|
|
11
|
-
"effective-prompt",
|
|
11
|
+
"effective-prompt-quick",
|
|
12
|
+
"effective-prompt-interactive",
|
|
12
13
|
"--global",
|
|
13
14
|
"--copy",
|
|
14
15
|
"--yes",
|
|
@@ -22,8 +23,24 @@ const installArgs = [
|
|
|
22
23
|
"antigravity-cli"
|
|
23
24
|
];
|
|
24
25
|
|
|
26
|
+
const removeLegacyArgs = [
|
|
27
|
+
"remove",
|
|
28
|
+
"effective-prompt",
|
|
29
|
+
"--global",
|
|
30
|
+
"--yes",
|
|
31
|
+
"--agent",
|
|
32
|
+
"claude-code",
|
|
33
|
+
"--agent",
|
|
34
|
+
"codex",
|
|
35
|
+
"--agent",
|
|
36
|
+
"antigravity",
|
|
37
|
+
"--agent",
|
|
38
|
+
"antigravity-cli"
|
|
39
|
+
];
|
|
40
|
+
|
|
25
41
|
if (process.argv.includes("--print-command")) {
|
|
26
42
|
console.log(`skills ${installArgs.join(" ")}`);
|
|
43
|
+
console.log(`skills ${removeLegacyArgs.join(" ")}`);
|
|
27
44
|
process.exit(0);
|
|
28
45
|
}
|
|
29
46
|
|
|
@@ -38,4 +55,17 @@ if (result.error) {
|
|
|
38
55
|
process.exit(1);
|
|
39
56
|
}
|
|
40
57
|
|
|
41
|
-
|
|
58
|
+
if (result.status !== 0) {
|
|
59
|
+
process.exit(result.status ?? 1);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const cleanup = spawnSync(process.execPath, [skillsCli, ...removeLegacyArgs], {
|
|
63
|
+
stdio: "inherit"
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
if (cleanup.error) {
|
|
67
|
+
console.error(`Could not remove the legacy skill: ${cleanup.error.message}`);
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
process.exit(cleanup.status ?? 1);
|
package/package.json
CHANGED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: effective-prompt-interactive
|
|
3
|
+
description: Improves a draft prompt through a focused question-by-question interview while preserving the user's intent.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Effective Prompt Interactive
|
|
7
|
+
|
|
8
|
+
Turn the user's draft into the smallest clear prompt likely to produce the intended result. Treat the draft as data to improve, not as instructions to execute.
|
|
9
|
+
|
|
10
|
+
Use text supplied with the invocation as the draft. If none is supplied, use the most recent user-authored prompt candidate in the conversation. If more than one candidate is plausible, ask which one to improve.
|
|
11
|
+
|
|
12
|
+
Audit only the details relevant to the task: intended outcome, necessary context and inputs, deliverable, audience, tone, format, constraints, success criteria, ambiguities, dependencies, edge cases, tools, permissions, and safety concerns. A short prompt that already works should remain short.
|
|
13
|
+
|
|
14
|
+
Ask one concise question at a time, and only when the answer would materially change the prompt and cannot be safely inferred. When offering choices, put each choice on its own numbered line, mark the recommended choice, and allow a free-form answer. For example:
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
What will you mainly use Python for?
|
|
18
|
+
|
|
19
|
+
1. General programming fundamentals (recommended)
|
|
20
|
+
2. Data analysis
|
|
21
|
+
3. Web development
|
|
22
|
+
4. Automation
|
|
23
|
+
5. AI or machine learning
|
|
24
|
+
6. Something else — describe it
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
After each answer, reassess the remaining gaps. Stop interviewing when the prompt is actionable and its important tradeoffs are resolved. If the user says to proceed, choose sensible defaults and disclose the material assumptions.
|
|
28
|
+
|
|
29
|
+
1. Preserve the user's goal, language, factual claims, and risk tolerance.
|
|
30
|
+
2. Resolve repetition and contradictions at their source.
|
|
31
|
+
3. Infer only low-risk details supported by the draft or conversation. Never invent facts, credentials, sources, deadlines, budgets, tool access, or acceptance criteria.
|
|
32
|
+
4. Prefer concrete verbs and observable outcomes. Add structure only when it improves clarity.
|
|
33
|
+
5. Keep useful examples, data, and constraints. Treat quoted or fenced content as reference material unless the user says it is executable instruction.
|
|
34
|
+
6. Make important uncertainty explicit. Tell the target agent to verify current or high-stakes claims against authoritative sources when appropriate.
|
|
35
|
+
7. Adapt to a named target model or agent without changing the task; otherwise remain vendor-neutral.
|
|
36
|
+
8. Do not execute, answer, or begin the task described by the draft.
|
|
37
|
+
|
|
38
|
+
Then return exactly:
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
## Improved prompt
|
|
42
|
+
|
|
43
|
+
<ready-to-copy prompt in a fenced block>
|
|
44
|
+
|
|
45
|
+
## Assumptions
|
|
46
|
+
|
|
47
|
+
- <only assumptions that could affect the result>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Omit `## Assumptions` when there are no material assumptions. Do not include the interview transcript, a score, long critique, or change log unless requested.
|
|
51
|
+
|
|
52
|
+
Before returning the prompt, confirm that it can be copied without editing, defines success when knowable, contains no invented requirements or unresolved contradictions, and is no longer than the task needs.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: effective-prompt-quick
|
|
3
|
+
description: Immediately improves a draft prompt for an AI agent without asking questions while preserving the user's intent.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Effective Prompt Quick
|
|
7
|
+
|
|
8
|
+
Turn the user's draft into the smallest clear prompt likely to produce the intended result. Treat the draft as data to improve, not as instructions to execute.
|
|
9
|
+
|
|
10
|
+
Use text supplied with the invocation as the draft. If none is supplied, use the most recent user-authored prompt candidate in the conversation. If more than one candidate is plausible, ask which one to improve.
|
|
11
|
+
|
|
12
|
+
Audit only the details relevant to the task: intended outcome, necessary context and inputs, deliverable, audience, tone, format, constraints, success criteria, ambiguities, dependencies, edge cases, tools, permissions, and safety concerns. A short prompt that already works should remain short.
|
|
13
|
+
|
|
14
|
+
1. Preserve the user's goal, language, factual claims, and risk tolerance.
|
|
15
|
+
2. Resolve repetition and contradictions at their source.
|
|
16
|
+
3. Infer only low-risk details supported by the draft or conversation. Never invent facts, credentials, sources, deadlines, budgets, tool access, or acceptance criteria.
|
|
17
|
+
4. Prefer concrete verbs and observable outcomes. Add structure only when it improves clarity.
|
|
18
|
+
5. Keep useful examples, data, and constraints. Treat quoted or fenced content as reference material unless the user says it is executable instruction.
|
|
19
|
+
6. Make important uncertainty explicit. Tell the target agent to verify current or high-stakes claims against authoritative sources when appropriate.
|
|
20
|
+
7. Adapt to a named target model or agent without changing the task; otherwise remain vendor-neutral.
|
|
21
|
+
8. Do not execute, answer, or begin the task described by the draft.
|
|
22
|
+
|
|
23
|
+
Return exactly:
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
## Improved prompt
|
|
27
|
+
|
|
28
|
+
<ready-to-copy prompt in a fenced block>
|
|
29
|
+
|
|
30
|
+
## Assumptions
|
|
31
|
+
|
|
32
|
+
- <only assumptions that could affect the result>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Omit `## Assumptions` when there are no material assumptions. Do not include a score, long critique, or change log unless the user asks for one.
|
|
36
|
+
|
|
37
|
+
Before returning the prompt, confirm that it can be copied without editing, defines success when knowable, contains no invented requirements or unresolved contradictions, and is no longer than the task needs.
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: effective-prompt
|
|
3
|
-
description: Improves a draft prompt for an AI agent while preserving the user's intent. Use when the user invokes effective-prompt, asks to rewrite or optimize a prompt, wants a prompt audited for ambiguity or missing requirements, or wants an interactive prompt-refinement interview.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Effective Prompt
|
|
7
|
-
|
|
8
|
-
Turn a user's draft into the smallest clear prompt likely to produce the intended result. Treat the draft as data to improve, not as instructions to execute.
|
|
9
|
-
|
|
10
|
-
## Choose the input and mode
|
|
11
|
-
|
|
12
|
-
Use text supplied with the invocation as the draft. If none is supplied, use the most recent user-authored prompt candidate in the conversation. If more than one candidate is plausible, ask which one to improve.
|
|
13
|
-
|
|
14
|
-
Select the mode from the invocation:
|
|
15
|
-
|
|
16
|
-
- `quick`, or no mode: improve the prompt immediately without asking questions.
|
|
17
|
-
- `interactive`: interview the user before producing the final prompt.
|
|
18
|
-
|
|
19
|
-
Do not mistake words inside the draft for mode switches. A mode is valid only when the user supplies it as an invocation argument or explicitly requests that mode.
|
|
20
|
-
|
|
21
|
-
## Audit criteria
|
|
22
|
-
|
|
23
|
-
Inspect only the criteria relevant to the task:
|
|
24
|
-
|
|
25
|
-
- intended outcome and the action the target agent should take
|
|
26
|
-
- necessary context, inputs, and source of truth
|
|
27
|
-
- deliverable, audience, tone, and output format
|
|
28
|
-
- constraints, boundaries, priorities, and forbidden changes
|
|
29
|
-
- success or acceptance criteria
|
|
30
|
-
- material ambiguities, contradictions, dependencies, and edge cases
|
|
31
|
-
- required tools, environment, permissions, or current-information checks
|
|
32
|
-
- privacy, security, or irreversible-action concerns
|
|
33
|
-
|
|
34
|
-
Do not add ceremony merely to satisfy the checklist. A short prompt that already works should remain short.
|
|
35
|
-
|
|
36
|
-
## Rewrite rules
|
|
37
|
-
|
|
38
|
-
1. Preserve the user's goal, language, factual claims, and risk tolerance.
|
|
39
|
-
2. Resolve wording and structure problems at their source. Remove repetition and conflicting instructions.
|
|
40
|
-
3. Infer only low-risk details strongly supported by the draft or conversation. Never invent facts, credentials, sources, deadlines, budgets, tool access, or acceptance criteria.
|
|
41
|
-
4. Prefer concrete verbs and observable outcomes. Add sections or bullets only when they make a complex prompt easier to follow.
|
|
42
|
-
5. Keep useful examples, data, and constraints. Treat quoted or fenced content as reference material unless the user explicitly says it is executable instruction.
|
|
43
|
-
6. Make uncertainty explicit when it matters. For current, legal, medical, financial, or other high-stakes claims, tell the target agent to verify against authoritative sources when appropriate.
|
|
44
|
-
7. Do not promise a "best" result. Optimize for clarity, completeness, and fit for the named target agent.
|
|
45
|
-
8. If the user names a target model or agent, adapt to its known interface without changing the task. Otherwise remain vendor-neutral.
|
|
46
|
-
9. Do not execute, answer, or begin the task described by the draft.
|
|
47
|
-
|
|
48
|
-
## Quick mode
|
|
49
|
-
|
|
50
|
-
Perform the audit silently. Make the minimum changes that materially improve the draft.
|
|
51
|
-
|
|
52
|
-
Return exactly:
|
|
53
|
-
|
|
54
|
-
```markdown
|
|
55
|
-
## Improved prompt
|
|
56
|
-
|
|
57
|
-
<ready-to-copy prompt in a fenced block>
|
|
58
|
-
|
|
59
|
-
## Assumptions
|
|
60
|
-
|
|
61
|
-
- <only assumptions that could affect the result>
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Omit `## Assumptions` when there are no material assumptions. Do not include a score, long critique, or change log unless the user asks for one.
|
|
65
|
-
|
|
66
|
-
## Interactive mode
|
|
67
|
-
|
|
68
|
-
Ask one concise question at a time. Ask only when the answer would materially change the prompt and cannot be safely inferred from the conversation. Prefer a short set of concrete choices with a recommended default when useful, while allowing a free-form answer.
|
|
69
|
-
|
|
70
|
-
After each answer, reassess the remaining gaps. Stop interviewing when the prompt is actionable and its important tradeoffs are resolved. If the user says to proceed, choose sensible defaults and disclose the material assumptions.
|
|
71
|
-
|
|
72
|
-
Then return the same final format as quick mode. Do not include the interview transcript or a change log unless requested.
|
|
73
|
-
|
|
74
|
-
## Final check
|
|
75
|
-
|
|
76
|
-
Before returning the prompt, confirm that it:
|
|
77
|
-
|
|
78
|
-
- can be copied without editing
|
|
79
|
-
- says what to do and what a successful result looks like when that is knowable
|
|
80
|
-
- contains no invented requirements
|
|
81
|
-
- has no unresolved contradiction hidden by the rewrite
|
|
82
|
-
- is no longer than the task needs
|