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 CHANGED
@@ -14,7 +14,7 @@ npx skills add noeljabraham/The-Effective-Prompt
14
14
 
15
15
  ![Effective Prompt demo](https://raw.githubusercontent.com/noeljabraham/The-Effective-Prompt/main/assets/demo.gif)
16
16
 
17
- `effective-prompt` preserves your intent, finds missing requirements and contradictions, and returns a clearer prompt for Claude Code, Codex, and Google Antigravity.
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 interactive Write an email announcing our new product.
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 interactive Write an email announcing our new product.
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 source is [`skills/effective-prompt/SKILL.md`](skills/effective-prompt/SKILL.md).
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
- process.exit(result.status ?? 1);
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effective-prompt",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Improve AI prompts with quick and interactive modes for Claude Code, Codex, and Antigravity.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -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,4 @@
1
+ interface:
2
+ display_name: "Effective Prompt Interactive"
3
+ short_description: "Improve a prompt through focused questions"
4
+ default_prompt: "Use $effective-prompt-interactive to interview me before improving my draft."
@@ -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.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Effective Prompt Quick"
3
+ short_description: "Improve a prompt immediately without questions"
4
+ default_prompt: "Use $effective-prompt-quick to improve my draft without changing its intent."
@@ -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
@@ -1,4 +0,0 @@
1
- interface:
2
- display_name: "Effective Prompt"
3
- short_description: "Turn rough requests into clear AI prompts"
4
- default_prompt: "Use $effective-prompt to improve my draft without changing its intent."