effective-prompt 0.0.0-stage → 0.1.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 CHANGED
@@ -1,3 +1,102 @@
1
- # Temporary Holding Version
1
+ # Effective Prompt
2
+
3
+ `effective-prompt` is a portable [Agent Skill](https://agentskills.io) that rewrites a draft prompt without changing its intent.
4
+
5
+ It has two modes:
6
+
7
+ - **Quick** (default): silently audits the draft, fixes the important gaps, and returns a ready-to-use prompt.
8
+ - **Interactive**: asks only the questions whose answers would materially change the prompt, then returns the final version.
9
+
10
+ ## Use it
11
+
12
+ Claude Code and Google Antigravity expose installed skills as slash commands:
13
+
14
+ ```text
15
+ /effective-prompt Write a launch email for our new product.
16
+ /effective-prompt interactive Write a launch email for our new product.
17
+ ```
18
+
19
+ In Codex, invoke the skill as `$effective-prompt` and include `interactive` when you want the interview mode. Natural-language invocation also works on compatible agents.
20
+
21
+ If you invoke the skill without a draft, it uses the most recent user-authored prompt candidate in the conversation. Passing the draft with the command is more reliable because it prevents the agent from acting on the draft before improving it.
22
+
23
+ ## Install with one command
24
+
25
+ After this package is published to npm, users install it globally for Claude Code, Codex, Antigravity, and Antigravity CLI with:
26
+
27
+ ```bash
28
+ npx effective-prompt
29
+ ```
30
+
31
+ No repository clone or GitHub URL is required. The package delegates installation to the standard [`skills`](https://skills.sh) installer and copies the bundled skill into each agent's global skill directory.
32
+
33
+ Until the first npm release, run it from this repository with:
34
+
35
+ ```bash
36
+ npx skills add . --skill effective-prompt --global --copy --yes --agent claude-code --agent codex --agent antigravity --agent antigravity-cli
37
+ ```
38
+
39
+ The GitHub installer remains available as an alternative:
40
+
41
+ ```bash
42
+ npx skills add noeljabraham/The-Effective-Prompt --skill effective-prompt --global --copy --yes --agent claude-code --agent codex --agent antigravity --agent antigravity-cli
43
+ ```
44
+
45
+ Use this only if you intentionally want the skill installed for every agent supported by the installer, not just those four:
46
+
47
+ ```bash
48
+ npx skills add noeljabraham/The-Effective-Prompt --skill effective-prompt --global --copy --yes --agent '*'
49
+ ```
50
+
51
+ The installer requires Node.js 22.20 or later. `--copy` is used for reliable Antigravity discovery; copied installations can be refreshed with:
52
+
53
+ ```bash
54
+ npx skills update effective-prompt --global --yes
55
+ ```
56
+
57
+ ## Install manually
58
+
59
+ Copy `skills/effective-prompt` into the directory used by your agent:
60
+
61
+ | Agent | Personal/global location | Project location |
62
+ | --- | --- | --- |
63
+ | Claude Code | `~/.claude/skills/effective-prompt` | `.claude/skills/effective-prompt` |
64
+ | Codex | `~/.codex/skills/effective-prompt` | `.agents/skills/effective-prompt` |
65
+ | Antigravity App/IDE | `~/.gemini/config/skills/effective-prompt` | `.agents/skills/effective-prompt` |
66
+ | Antigravity CLI | `~/.gemini/antigravity-cli/skills/effective-prompt` | `.agents/skills/effective-prompt` |
67
+
68
+ After installing in Antigravity CLI, start a new conversation or run `/skills reload`.
69
+
70
+ ## Publish it
71
+
72
+ ### npm
73
+
74
+ The package name `effective-prompt` was available when this project was configured. Publish the first release from the repository root:
75
+
76
+ ```bash
77
+ npm login
78
+ npm publish --access public
79
+ ```
80
+
81
+ Publishing runs the installer test automatically. After publishing, verify the public package without changing agent files:
82
+
83
+ ```bash
84
+ npx effective-prompt --print-command
85
+ ```
86
+
87
+ Then test the real installation with `npx effective-prompt`.
88
+
89
+ ### Marketplaces
90
+
91
+ The simplest marketplace is [skills.sh](https://skills.sh):
92
+
93
+ 1. Create a public GitHub repository and push this project.
94
+ 2. Verify discovery with `npx skills add noeljabraham/The-Effective-Prompt --list`.
95
+ 3. Share the one-command installer above. Public GitHub skills become eligible for skills.sh discovery through installer usage.
96
+
97
+ Claude and Antigravity also have plugin marketplaces, but they require vendor-specific manifests, publisher metadata, branding, validation, and marketplace submission. Add those only when the author name, license, repository URL, and logo are final. The standalone `npx skills` installation preserves the short `/effective-prompt` command in Claude and Antigravity; a Claude plugin would namespace it as `/plugin-name:effective-prompt`.
98
+
99
+ Keep `skills/effective-prompt/SKILL.md` as the single source of behavior. Package that folder using each marketplace's plugin manifest and submission process; do not fork the instructions per vendor unless a platform requires a launcher-specific adapter.
100
+
101
+ Before publishing, test the skill against a small evaluation set: a vague request, a strong prompt that needs almost no editing, a prompt with conflicting constraints, a prompt requiring current information, and an interactive request with one genuinely blocking ambiguity.
2
102
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { spawnSync } from "node:child_process";
4
+ import { createRequire } from "node:module";
5
+ import { dirname, resolve } from "node:path";
6
+ import { fileURLToPath } from "node:url";
7
+
8
+ const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
9
+ const installArgs = [
10
+ "add",
11
+ packageRoot,
12
+ "--skill",
13
+ "effective-prompt",
14
+ "--global",
15
+ "--copy",
16
+ "--yes",
17
+ "--agent",
18
+ "claude-code",
19
+ "--agent",
20
+ "codex",
21
+ "--agent",
22
+ "antigravity",
23
+ "--agent",
24
+ "antigravity-cli"
25
+ ];
26
+
27
+ if (process.argv.includes("--print-command")) {
28
+ console.log(`skills ${installArgs.join(" ")}`);
29
+ process.exit(0);
30
+ }
31
+
32
+ const require = createRequire(import.meta.url);
33
+ const skillsCli = resolve(dirname(require.resolve("skills/package.json")), "bin/cli.mjs");
34
+ const result = spawnSync(process.execPath, [skillsCli, ...installArgs], {
35
+ stdio: "inherit"
36
+ });
37
+
38
+ if (result.error) {
39
+ console.error(`Could not start the skills installer: ${result.error.message}`);
40
+ process.exit(1);
41
+ }
42
+
43
+ process.exit(result.status ?? 1);
package/package.json CHANGED
@@ -1,6 +1,39 @@
1
1
  {
2
2
  "name": "effective-prompt",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.0",
4
+ "description": "Install the Effective Prompt skill for Claude Code, Codex, and Google Antigravity.",
5
+ "type": "module",
6
+ "bin": {
7
+ "effective-prompt": "bin/install.mjs"
8
+ },
9
+ "files": [
10
+ "bin",
11
+ "skills"
12
+ ],
13
+ "scripts": {
14
+ "test": "node --test",
15
+ "prepublishOnly": "npm test"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/noeljabraham/The-Effective-Prompt.git"
20
+ },
21
+ "homepage": "https://github.com/noeljabraham/The-Effective-Prompt#readme",
22
+ "bugs": {
23
+ "url": "https://github.com/noeljabraham/The-Effective-Prompt/issues"
24
+ },
25
+ "keywords": [
26
+ "agent-skills",
27
+ "ai",
28
+ "antigravity",
29
+ "claude-code",
30
+ "codex",
31
+ "prompt-engineering"
32
+ ],
33
+ "engines": {
34
+ "node": ">=22.20.0"
35
+ },
36
+ "dependencies": {
37
+ "skills": "^1.7.2"
38
+ }
39
+ }
@@ -0,0 +1,82 @@
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
@@ -0,0 +1,4 @@
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."