@juicesharp/rpiv-args 1.1.3 → 1.1.5
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 -10
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
[](https://www.npmjs.com/package/@juicesharp/rpiv-args)
|
|
12
12
|
[](https://opensource.org/licenses/MIT)
|
|
13
13
|
|
|
14
|
-
Pass arguments to your skills like a shell command. `rpiv-args` adds `$1`, `$ARGUMENTS`, `$@`, `${@:N}`, and `${@:N:L}` placeholders to [Pi Agent](https://github.com/badlogic/pi-mono) skills
|
|
14
|
+
Pass arguments to your skills like a shell command. `rpiv-args` adds `$1`, `$ARGUMENTS`, `$@`, `${@:N}`, and `${@:N:L}` placeholders to [Pi Agent](https://github.com/badlogic/pi-mono) skills - write `/skill:deploy api production` and your skill body sees `$1` = `api`, `$2` = `production`. Skills without placeholders are untouched, so installing `rpiv-args` is safe for any existing skill collection.
|
|
15
15
|
|
|
16
16
|
## Install
|
|
17
17
|
|
|
@@ -31,7 +31,7 @@ Or run `/rpiv-setup` if you have `@juicesharp/rpiv-pi` installed.
|
|
|
31
31
|
| `${@:N}` | Arguments from position N onward | `/skill:foo a b c` → `${@:2}` = `b c` |
|
|
32
32
|
| `${@:N:L}` | L arguments starting at position N | `/skill:foo a b c d` → `${@:2:2}` = `b c` |
|
|
33
33
|
|
|
34
|
-
**Indexing is 1-based**
|
|
34
|
+
**Indexing is 1-based** - `$1` is the first argument, `$2` is the second.
|
|
35
35
|
Out-of-range positions resolve to an empty string. For `${@:N[:L]}`, `N` is
|
|
36
36
|
clamped to `≥ 1` and out-of-range slices yield an empty string.
|
|
37
37
|
|
|
@@ -51,14 +51,14 @@ expansion). When a skill body contains at least one placeholder, the extension:
|
|
|
51
51
|
1. Parses arguments using shell-style quoting
|
|
52
52
|
2. Substitutes all placeholders in the body
|
|
53
53
|
3. Wraps the result in a `<skill>` block byte-identical to Pi's native format
|
|
54
|
-
4. Appends the raw arguments after the block
|
|
54
|
+
4. Appends the raw arguments after the block - matches Pi's standard output so any tool that parses `<skill>` blocks continues to work unchanged
|
|
55
55
|
|
|
56
56
|
When no placeholders are found in the skill body, the output is byte-identical
|
|
57
|
-
to Pi's built-in expansion
|
|
57
|
+
to Pi's built-in expansion - zero behavioral change.
|
|
58
58
|
|
|
59
59
|
## Writing skills with arguments
|
|
60
60
|
|
|
61
|
-
### `$ARGUMENTS` vs `$1`
|
|
61
|
+
### `$ARGUMENTS` vs `$1` - which to use
|
|
62
62
|
|
|
63
63
|
Use **`$ARGUMENTS`** (or `$@`) when the input is freeform text the LLM should
|
|
64
64
|
interpret naturally:
|
|
@@ -104,7 +104,7 @@ If a positional skill receives natural language input:
|
|
|
104
104
|
/skill:migrate-component can you migrate the search bar please
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
-
→ `Migrate the can component from you to migrate.`
|
|
107
|
+
→ `Migrate the can component from you to migrate.` - **broken**.
|
|
108
108
|
|
|
109
109
|
The LLM is good at interpreting `$ARGUMENTS` as a whole, but positional
|
|
110
110
|
placeholders blindly split on spaces. Use `$ARGUMENTS` unless your skill has
|
|
@@ -130,17 +130,17 @@ argument-hint: [component] [from] [to]
|
|
|
130
130
|
---
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
-
rpiv-args ignores this field
|
|
133
|
+
rpiv-args ignores this field - substitution is triggered by placeholders in the body, not the hint.
|
|
134
134
|
|
|
135
135
|
**Note**: Pi currently surfaces `argument-hint` in autocomplete for prompt
|
|
136
136
|
templates (`commands/*.md`) but **not** for skills (`/skill:<name>`). The
|
|
137
137
|
field is read by Pi but not displayed in the `/skill:` autocomplete UI at
|
|
138
|
-
present
|
|
138
|
+
present - treat it as documentation metadata until upstream Pi exposes it.
|
|
139
139
|
|
|
140
140
|
### Full example
|
|
141
141
|
|
|
142
142
|
<details>
|
|
143
|
-
<summary>Deploy skill
|
|
143
|
+
<summary>Deploy skill - SKILL.md, invocation, and the exact text the LLM sees</summary>
|
|
144
144
|
|
|
145
145
|
```yaml
|
|
146
146
|
---
|
|
@@ -179,7 +179,7 @@ api production
|
|
|
179
179
|
```
|
|
180
180
|
|
|
181
181
|
Note: the raw arguments (`api production`) are also appended after the
|
|
182
|
-
`</skill>` block
|
|
182
|
+
`</skill>` block - this is Pi's standard behavior and is preserved for
|
|
183
183
|
backward compatibility.
|
|
184
184
|
|
|
185
185
|
</details>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@juicesharp/rpiv-args",
|
|
3
|
-
"version": "1.1.
|
|
4
|
-
"description": "Pi extension
|
|
3
|
+
"version": "1.1.5",
|
|
4
|
+
"description": "Pi extension. Shell-style $1 and $ARGUMENTS placeholders, expanded into your Pi skills at invocation.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
7
7
|
"pi-extension",
|