opencode-skills-collection 4.1.18 → 4.1.20
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/bundled-skills/.antigravity-install-manifest.json +20 -1
- package/bundled-skills/ai-headshot-studio/SKILL.md +107 -99
- package/bundled-skills/ai-image-generation-studio/SKILL.md +108 -93
- package/bundled-skills/ai-logo-maker/SKILL.md +108 -93
- package/bundled-skills/ai-multilingual-dubbing/SKILL.md +108 -93
- package/bundled-skills/ai-photo-restyler/SKILL.md +108 -93
- package/bundled-skills/ai-podcast-voiceover/SKILL.md +108 -93
- package/bundled-skills/aident-loadout/SKILL.md +88 -0
- package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +27 -254
- package/bundled-skills/antigravity-maintainer-batch-release/agents/openai.yaml +1 -1
- package/bundled-skills/antigravity-maintainer-batch-release/references/component-validation.md +18 -0
- package/bundled-skills/antigravity-maintainer-batch-release/references/core-preview.md +20 -0
- package/bundled-skills/antigravity-maintainer-batch-release/references/maintenance-contract.md +83 -0
- package/bundled-skills/antigravity-maintainer-batch-release/references/maintenance-cycle.md +149 -0
- package/bundled-skills/antigravity-maintainer-batch-release/references/public-surfaces.md +22 -0
- package/bundled-skills/antigravity-maintainer-batch-release/references/skillspector.md +40 -0
- package/bundled-skills/apify-facebook-ads-library-scraper/SKILL.md +197 -0
- package/bundled-skills/apify-facebook-ads-library-scraper/references/gotchas.md +45 -0
- package/bundled-skills/apify-linkedin-jobs-scraper/SKILL.md +181 -0
- package/bundled-skills/apify-linkedin-jobs-scraper/references/gotchas.md +57 -0
- package/bundled-skills/apify-tiktok-scraper/SKILL.md +199 -0
- package/bundled-skills/apify-tiktok-scraper/references/gotchas.md +45 -0
- package/bundled-skills/arcmira-find-quotes/SKILL.md +5 -0
- package/bundled-skills/beatra/SKILL.md +109 -90
- package/bundled-skills/beatra-ai-video-studio/SKILL.md +110 -90
- package/bundled-skills/curlshot/SKILL.md +139 -0
- package/bundled-skills/datacircle/SKILL.md +159 -98
- package/bundled-skills/deed-page/SKILL.md +161 -0
- package/bundled-skills/design-token-contrast/SKILL.md +128 -0
- package/bundled-skills/design-token-contrast/references/contraste-checker.md +330 -0
- package/bundled-skills/ecommerce-listing-image-set/SKILL.md +109 -90
- package/bundled-skills/goal-instruction-writer/LICENSE +21 -0
- package/bundled-skills/goal-instruction-writer/SKILL.md +275 -0
- package/bundled-skills/goal-instruction-writer/references/contribution-walkthrough.md +9 -0
- package/bundled-skills/goal-instruction-writer/references/drift-control.md +160 -0
- package/bundled-skills/goal-instruction-writer/references/examples.md +220 -0
- package/bundled-skills/goal-instruction-writer/references/goal-contract.md +169 -0
- package/bundled-skills/goal-instruction-writer/references/loop-preview.md +113 -0
- package/bundled-skills/keenable-search-mcp/SKILL.md +176 -0
- package/bundled-skills/krexa/SKILL.md +221 -0
- package/bundled-skills/krexa/references/limits.md +42 -0
- package/bundled-skills/krexa/references/setup.md +60 -0
- package/bundled-skills/krexa/references/tools.md +59 -0
- package/bundled-skills/llm-cost-optimization/SKILL.md +1 -1
- package/bundled-skills/llmops-platform-engineering/SKILL.md +1 -1
- package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +1 -1
- package/bundled-skills/music-generation-studio/SKILL.md +109 -90
- package/bundled-skills/outreachgenie-list-audit/LICENSE +21 -0
- package/bundled-skills/outreachgenie-list-audit/SKILL.md +60 -0
- package/bundled-skills/outreachgenie-list-audit/assets/fictional-snapshot.json +256 -0
- package/bundled-skills/outreachgenie-list-audit/references/capture.md +53 -0
- package/bundled-skills/outreachgenie-list-audit/references/checks.md +35 -0
- package/bundled-skills/outreachgenie-list-audit/references/setup.md +25 -0
- package/bundled-skills/outreachgenie-list-audit/scripts/audit.py +766 -0
- package/bundled-skills/outreachgenie-list-audit/scripts/test_audit.py +360 -0
- package/bundled-skills/pangolinfo-amazon-data-research/SKILL.md +170 -0
- package/bundled-skills/poster-design-studio/SKILL.md +109 -90
- package/bundled-skills/ppl-personal-crm/SKILL.md +118 -0
- package/bundled-skills/product-photo-studio/SKILL.md +109 -90
- package/bundled-skills/project-memory-log/LICENSE +21 -0
- package/bundled-skills/project-memory-log/SKILL.md +110 -0
- package/bundled-skills/project-memory-log/references/example-document-catalog.md +22 -0
- package/bundled-skills/project-memory-log/references/example-notes.md +16 -0
- package/bundled-skills/project-memory-log/references/example-operation-log.md +46 -0
- package/bundled-skills/project-memory-log/references/record-formats.md +77 -0
- package/bundled-skills/solidping/SKILL.md +87 -0
- package/bundled-skills/story-bible-continuity/SKILL.md +149 -0
- package/bundled-skills/story-bible-continuity/references/sbc-checker.md +367 -0
- package/bundled-skills/story-bible-continuity/references/story-bible-schema.md +91 -0
- package/bundled-skills/suno-lyrics-to-song/SKILL.md +109 -90
- package/bundled-skills/taasky/SKILL.md +376 -0
- package/bundled-skills/talking-avatar-video/SKILL.md +109 -90
- package/bundled-skills/uiverify-triage-visual-changes/SKILL.md +304 -0
- package/bundled-skills/unpaid-intern/SKILL.md +159 -0
- package/bundled-skills/viral-video-teardown-remake/SKILL.md +109 -90
- package/bundled-skills/voice-cloning-studio/SKILL.md +109 -90
- package/bundled-skills/voiceover-narration-studio/SKILL.md +109 -90
- package/package.json +1 -1
- package/skills_index.json +654 -24
|
@@ -11,7 +11,7 @@ author: beatra-ai
|
|
|
11
11
|
tags: [ecommerce, product-images, text-to-image, mcp, paid-api, beatra]
|
|
12
12
|
tools: [claude, codex, cursor, gemini]
|
|
13
13
|
license: "MIT-0"
|
|
14
|
-
license_source: "https://github.com/beatra-ai/ecommerce-product-images-skill/blob/
|
|
14
|
+
license_source: "https://github.com/beatra-ai/ecommerce-product-images-skill/blob/c70a939466ce192fa15eb60a46e83980def6c938/LICENSE"
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
# Ecommerce Product Images Skill
|
|
@@ -24,21 +24,20 @@ Turn real product photos and confirmed SKU facts into a matching ecommerce image
|
|
|
24
24
|
This catalog entry is a **reviewed pointer, not the executable package**. It
|
|
25
25
|
contains no client code and performs no Beatra operation by itself. The package
|
|
26
26
|
it points to bundles three standard-library Python scripts that make network
|
|
27
|
-
calls
|
|
27
|
+
calls and store a credential. It has no self-updater: it never downloads
|
|
28
|
+
code and never changes its own files. Read
|
|
28
29
|
[Install](#install-pinned-verified-approved-twice) and
|
|
29
30
|
[Security & Safety Notes](#security--safety-notes) before activating it.
|
|
30
31
|
|
|
31
32
|
| Pinned identity | Value |
|
|
32
33
|
| --- | --- |
|
|
33
|
-
| Package | `ecommerce-listing-image-set` `0.2.
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
| Source tree | [`beatra-ai/ecommerce-product-images-skill@ef9056d`](https://github.com/beatra-ai/ecommerce-product-images-skill/tree/ef9056dcb0d886ad8eb1e3a49803c1143598506c/skills/ecommerce-listing-image-set) (full SHA `ef9056dcb0d886ad8eb1e3a49803c1143598506c`) |
|
|
34
|
+
| Package | `ecommerce-listing-image-set` `0.2.8` |
|
|
35
|
+
| Source commit | [`beatra-ai/ecommerce-product-images-skill@c70a939`](https://github.com/beatra-ai/ecommerce-product-images-skill/tree/c70a939466ce192fa15eb60a46e83980def6c938/skills/ecommerce-listing-image-set) (full SHA `c70a939466ce192fa15eb60a46e83980def6c938`) |
|
|
36
|
+
| Package tree | `5a5b569f794bb6fc9ecd4897cb2a62dbbac34e43` (Git tree ID of `skills/ecommerce-listing-image-set` at that commit) |
|
|
37
37
|
| License | MIT No Attribution (MIT-0) |
|
|
38
38
|
|
|
39
|
-
The
|
|
40
|
-
binaries). Confirm that with the inspect commands below.
|
|
41
|
-
byte-identical to the source tree at the pinned commit.
|
|
39
|
+
The pinned tree holds regular files only (no symlinks, no executable bits, no
|
|
40
|
+
binaries). Confirm that with the inspect commands below.
|
|
42
41
|
|
|
43
42
|
## When to Use This Skill
|
|
44
43
|
|
|
@@ -48,72 +47,55 @@ byte-identical to the source tree at the pinned commit.
|
|
|
48
47
|
|
|
49
48
|
## Install (pinned, verified, approved twice)
|
|
50
49
|
|
|
51
|
-
### Step 1:
|
|
50
|
+
### Step 1: Fetch the pinned tree into a review directory
|
|
52
51
|
|
|
53
|
-
Explain that this
|
|
52
|
+
Explain that this fetches an external package from `github.com`, then ask
|
|
54
53
|
for approval. Only after approval:
|
|
55
54
|
|
|
56
55
|
```bash
|
|
57
56
|
umask 077
|
|
58
57
|
review_dir="$(mktemp -d)"
|
|
59
58
|
cd "$review_dir" || exit 1
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
'ecommerce-listing-image-set-skill-0.2.0.zip' | shasum -a 256 -c -
|
|
59
|
+
git clone --quiet --filter=blob:none --no-checkout https://github.com/beatra-ai/ecommerce-product-images-skill.git src
|
|
60
|
+
git -C src checkout --quiet c70a939466ce192fa15eb60a46e83980def6c938 -- skills/ecommerce-listing-image-set
|
|
61
|
+
test "$(git -C src rev-parse 'c70a939466ce192fa15eb60a46e83980def6c938:skills/ecommerce-listing-image-set')" = '5a5b569f794bb6fc9ecd4897cb2a62dbbac34e43' && echo TREE-OK
|
|
64
62
|
```
|
|
65
63
|
|
|
66
|
-
Stop if the
|
|
67
|
-
catalog entry, not from
|
|
64
|
+
Stop if the last command does not print `TREE-OK`. The expected commit and
|
|
65
|
+
tree IDs come from this catalog entry, not from the package or its website,
|
|
66
|
+
and Git addresses every fetched object by its hash.
|
|
68
67
|
|
|
69
68
|
### Step 2: Inspect before activation
|
|
70
69
|
|
|
71
70
|
```bash
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
find ecommerce-listing-image-set -type l -print # expect no output
|
|
75
|
-
find ecommerce-listing-image-set -type f -perm -111 -print # expect no output
|
|
76
|
-
grep -n '"auto_update": True' ecommerce-listing-image-set/scripts/mcp_client.py
|
|
71
|
+
git -C src ls-tree -r c70a939466ce192fa15eb60a46e83980def6c938 -- skills/ecommerce-listing-image-set | awk '$1 != "100644"' # expect no output
|
|
72
|
+
grep -n -E 'maybe_auto_update|download_update|_apply_update' src/skills/ecommerce-listing-image-set/scripts/mcp_client.py # expect no output
|
|
77
73
|
```
|
|
78
74
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
git clone --quiet --filter=blob:none --no-checkout https://github.com/beatra-ai/ecommerce-product-images-skill.git src
|
|
84
|
-
git -C src checkout --quiet ef9056dcb0d886ad8eb1e3a49803c1143598506c -- skills/ecommerce-listing-image-set
|
|
85
|
-
(cd ecommerce-listing-image-set && find . -type f | LC_ALL=C sort | xargs shasum -a 256) > archive.sha
|
|
86
|
-
(cd src/skills/ecommerce-listing-image-set && find . -type f | LC_ALL=C sort | xargs shasum -a 256) > tree.sha
|
|
87
|
-
cmp archive.sha tree.sha && echo IDENTICAL
|
|
88
|
-
```
|
|
75
|
+
The first check lists any symlink, executable, or submodule entry; the second
|
|
76
|
+
finds the entry points of the self-updater that earlier versions shipped.
|
|
89
77
|
|
|
90
|
-
Report to the user what the review found: `SKILL.md`, `manifest.json`,
|
|
91
|
-
|
|
78
|
+
Report to the user what the review found: `SKILL.md`, `manifest.json`,
|
|
79
|
+
`install-source.json` (the one-line marker `{"schema_version":1,"source":"github"}`),
|
|
80
|
+
the bundled Markdown references, and `scripts/authorize.py`,
|
|
92
81
|
`scripts/mcp_client.py`, `scripts/uninstall.py` (Python 3.10+, standard
|
|
93
82
|
library only, no dependency installation, no lifecycle hooks). Summarize the
|
|
94
|
-
network, credential, local-state, telemetry, and
|
|
95
|
-
under [Security & Safety Notes](#security--safety-notes).
|
|
83
|
+
network, credential, local-state, telemetry, and version-notice behavior
|
|
84
|
+
listed under [Security & Safety Notes](#security--safety-notes).
|
|
96
85
|
|
|
97
|
-
### Step 3: Copy in
|
|
86
|
+
### Step 3: Copy in
|
|
98
87
|
|
|
99
88
|
Ask for a **second, separate** approval, because this changes agent
|
|
100
89
|
configuration. Then copy the reviewed tree to the host's skills directory
|
|
101
|
-
(Claude Code shown; use the equivalent path for other hosts)
|
|
102
|
-
turn off silent self-update for that exact path:
|
|
90
|
+
(Claude Code shown; use the equivalent path for other hosts):
|
|
103
91
|
|
|
104
92
|
```bash
|
|
105
93
|
dest="$HOME/.claude/skills/ecommerce-listing-image-set"
|
|
106
|
-
test ! -e "$dest" || { echo "destination exists; stop and ask the user"; exit 1; }
|
|
107
|
-
cp -R ecommerce-listing-image-set "$dest"
|
|
108
|
-
python3 "$dest/scripts/mcp_client.py" update --auto off
|
|
94
|
+
test ! -e "$dest" && test ! -L "$dest" || { echo "destination exists; stop and ask the user"; exit 1; }
|
|
95
|
+
cp -R "src/skills/ecommerce-listing-image-set" "$dest"
|
|
109
96
|
```
|
|
110
97
|
|
|
111
|
-
|
|
112
|
-
`Automatic Beatra package updates are disabled.` It writes only
|
|
113
|
-
`~/.beatra/updates/<id>/state.json` and makes no network request. Run it
|
|
114
|
-
before `authorize.py`, `verify`, `tools`, `upload`, or `call`: in this
|
|
115
|
-
pinned version self-update is **on by default**. The setting is keyed to the
|
|
116
|
-
resolved install path, so repeat it after moving or re-copying the directory.
|
|
98
|
+
There is no update switch to turn off in this version.
|
|
117
99
|
|
|
118
100
|
### Step 4: Authorize as its own decision
|
|
119
101
|
|
|
@@ -156,16 +138,17 @@ arguments; never submit a replacement while the task is running.
|
|
|
156
138
|
|
|
157
139
|
## Update
|
|
158
140
|
|
|
159
|
-
This
|
|
160
|
-
|
|
161
|
-
|
|
141
|
+
This pinned version cannot update itself: it has no code that downloads or
|
|
142
|
+
replaces package files. `update` only reports what the store or tool that
|
|
143
|
+
installed the copy offers; for a copy installed by the steps above it finds
|
|
144
|
+
no such record and says to update the way you installed it. See the version
|
|
145
|
+
notice under [Security & Safety Notes](#security--safety-notes).
|
|
162
146
|
|
|
163
|
-
To move to a newer version, repeat Steps 1 to 3 for that
|
|
164
|
-
review directory,
|
|
165
|
-
(
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
from `beatra.ai` without changing files.
|
|
147
|
+
To move to a newer version, repeat Steps 1 to 3 for that commit in a new
|
|
148
|
+
review directory, show the user the file-level changes against the installed
|
|
149
|
+
copy (for example `git -C src diff --stat c70a939 <new-commit> -- skills/ecommerce-listing-image-set`),
|
|
150
|
+
and replace the directory only after approval. A version not listed in this
|
|
151
|
+
entry has not been reviewed here.
|
|
169
152
|
|
|
170
153
|
## Uninstall
|
|
171
154
|
|
|
@@ -177,21 +160,25 @@ python3 "$dest/scripts/uninstall.py"
|
|
|
177
160
|
|
|
178
161
|
Read the JSON decision. `disconnected` means this was the last Beatra skill on
|
|
179
162
|
the device: the token was revoked (when `revoked` is `true`) and the files
|
|
180
|
-
`credentials.json`, `installation.json`, `host.json`, `skills.json`,
|
|
181
|
-
`
|
|
182
|
-
|
|
183
|
-
|
|
163
|
+
`credentials.json`, `installation.json`, `host.json`, `skills.json`,
|
|
164
|
+
`network.json`, `balance-holds.json`, `pending_authorization.json`, and
|
|
165
|
+
`.authorize.lock` under `~/.beatra` were removed. `keep_connection` means
|
|
166
|
+
another Beatra skill still uses the shared token, which stays.
|
|
167
|
+
`revoke_retry` means the server refused the revocation and nothing changed;
|
|
168
|
+
run it again shortly. The script never deletes the package directory: after
|
|
169
|
+
confirming the path it prints with the user, delete `$dest`.
|
|
184
170
|
|
|
185
171
|
`uninstall.py` does not remove `~/.beatra/updates/`. When the decision is
|
|
186
172
|
`disconnected` and no other Beatra skill is installed, remove that directory
|
|
187
|
-
|
|
188
|
-
days idle and can be revoked at once in the
|
|
173
|
+
and then the empty `~/.beatra`; otherwise leave them. A token that could not
|
|
174
|
+
be revoked expires after 15 days idle and can be revoked at once in the
|
|
175
|
+
Beatra Console under Agents.
|
|
189
176
|
|
|
190
177
|
## Best Practices
|
|
191
178
|
|
|
192
179
|
- ✅ Keep one approval per paid call, per upload set, and per install step.
|
|
193
180
|
- ✅ Report net charged credits from the terminal task, not the estimate.
|
|
194
|
-
- ❌ Do not
|
|
181
|
+
- ❌ Do not replace the installed copy with an unreviewed version silently.
|
|
195
182
|
- ❌ Do not print, paste, or move the token out of `~/.beatra/credentials.json`.
|
|
196
183
|
- ❌ Do not retry a paid call with a new request ID after an uncertain response.
|
|
197
184
|
|
|
@@ -202,47 +189,79 @@ days idle and can be revoked at once in the Beatra Console under Agents.
|
|
|
202
189
|
upstream model providers and can change; the service is provided as is.
|
|
203
190
|
- Outputs are probabilistic, not guaranteed unique or non-infringing, and need
|
|
204
191
|
human review before publication.
|
|
205
|
-
- This catalog entry reviews only the pinned
|
|
192
|
+
- This catalog entry reviews only the pinned tree above. A newer version is
|
|
206
193
|
a different review.
|
|
207
194
|
|
|
208
195
|
## Security & Safety Notes
|
|
209
196
|
|
|
210
197
|
`risk: critical` is deliberate.
|
|
211
198
|
|
|
212
|
-
- **Network.**
|
|
213
|
-
|
|
214
|
-
`
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
`
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
199
|
+
- **Network.** Every request is HTTPS and refuses redirects. Authorization
|
|
200
|
+
uses `api.beatra.ai` and tool calls go to `mcp.beatra.ai`; an upload is a
|
|
201
|
+
`PUT` of the approved file to the HTTPS address the server returns, without
|
|
202
|
+
the bearer token. Unless a cached decision is still valid (10 minutes to 7
|
|
203
|
+
days), each run first asks `https://api.beatra.ai/skill-route`, and also
|
|
204
|
+
`https://api.beatra.cn/skill-route` when the first is slow or answers `cn`,
|
|
205
|
+
which network to use. These probes carry no credential or package identity.
|
|
206
|
+
When the answer is `cn`, authorization and tool calls go to `api.beatra.cn`
|
|
207
|
+
and `mcp.beatra.cn` with the same bearer token, and the version notice
|
|
208
|
+
reads from `www.beatra.cn`; Beatra serves these `.cn` hosts from mainland
|
|
209
|
+
China.
|
|
210
|
+
`python3 "$dest/scripts/mcp_client.py" network --use ai` pins the `.ai`
|
|
211
|
+
hosts and stops the probes; a failed version-notice read can still retry
|
|
212
|
+
once on the other network.
|
|
213
|
+
- **Version notice, no self-update.** This version has no code that downloads
|
|
214
|
+
or replaces package files and writes nothing inside the install directory.
|
|
215
|
+
Before `verify`, `tools`, `upload`, or `call`, at most once every 24 hours
|
|
216
|
+
per install path, it records the check time and looks, read-only, for
|
|
217
|
+
records another installer left beside the package (ClawHub `origin.json`,
|
|
218
|
+
SkillHub or `skills` CLI lock entries, `gh skill` frontmatter). A copy
|
|
219
|
+
installed by the steps above normally has none and makes no request. When
|
|
220
|
+
one is found, it reads `https://beatra.ai/skills/ecommerce-listing-image-set/sources.json`
|
|
221
|
+
(no credential, 3-second timeout, 64 KiB cap) and, if that installer offers a
|
|
222
|
+
newer version, prints one line to stderr with the installer's own update
|
|
223
|
+
command. It never runs the command.
|
|
223
224
|
- **Uploads and third parties.** Prompts and uploaded media are sent to Beatra
|
|
224
225
|
and forwarded to the third-party model provider executing the task. Beatra
|
|
225
|
-
|
|
226
|
+
runs the service outside mainland China; on the `cn` route (see Network)
|
|
227
|
+
requests reach it through Beatra's hosts in mainland China. See the
|
|
226
228
|
[privacy policy](https://beatra.ai/en/privacy).
|
|
227
229
|
- **Billing.** Paid tools consume prepaid credits. Credits for tasks that fail
|
|
228
230
|
for reasons attributable to Beatra or the upstream model are returned
|
|
229
231
|
automatically; otherwise purchases are non-refundable, and actual usage can
|
|
230
232
|
exceed the estimate and leave a negative balance. See the
|
|
231
233
|
[terms](https://beatra.ai/en/terms).
|
|
232
|
-
- **Credentials.** `authorize.py` runs an OAuth device flow, opens the browser
|
|
233
|
-
and stores one bearer token in
|
|
234
|
-
`0700`, file `0600`). The token never
|
|
235
|
-
or output. It carries full Beatra
|
|
236
|
-
sliding 15-day idle lifetime, and is
|
|
237
|
-
device.
|
|
234
|
+
- **Credentials.** `authorize.py` runs an OAuth device flow, opens the browser
|
|
235
|
+
on the approval page, and stores one bearer token in
|
|
236
|
+
`~/.beatra/credentials.json` (directory `0700`, file `0600`). The token never
|
|
237
|
+
goes into argv, environment variables, or output. It carries full Beatra
|
|
238
|
+
scope, including `wallet:spend`, has a sliding 15-day idle lifetime, and is
|
|
239
|
+
shared by every Beatra skill on the device. While the user has not yet
|
|
240
|
+
selected Allow, the pending device code is kept in
|
|
241
|
+
`~/.beatra/pending_authorization.json` (`0600`) so a rerun finishes the same
|
|
242
|
+
approval instead of opening a new one. When `verify`, `tools`, `upload`, or
|
|
243
|
+
`call` finds no working token, the client makes one check of that saved
|
|
244
|
+
approval and stores the token if the user has already selected Allow; it
|
|
245
|
+
never starts a new authorization or opens a browser.
|
|
238
246
|
- **Local state.** `~/.beatra/` also holds `installation.json` (random
|
|
239
247
|
installation reference), `host.json` (agent platform and hostname),
|
|
240
|
-
`skills.json` (installed Beatra skill paths), `
|
|
241
|
-
|
|
242
|
-
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
248
|
+
`skills.json` (installed Beatra skill paths), `network.json` (route
|
|
249
|
+
decision, with a country code when the route answer includes one),
|
|
250
|
+
`balance-holds.json` (after an insufficient-credit refusal, that tool is
|
|
251
|
+
answered locally for up to 30 minutes; `call --recheck-balance` sends one
|
|
252
|
+
call), a short-lived `.authorize.lock`, and, per install path,
|
|
253
|
+
`updates/<id>/state.json` (last version check), `source.json` (install
|
|
254
|
+
source), and `registration.json` (last registration). Files are `0600`
|
|
255
|
+
except `host.json`, which follows the umask.
|
|
256
|
+
- **Telemetry.** Authorization sends the hostname as the device name, the
|
|
257
|
+
package slug and version, the detected agent platform (for example
|
|
258
|
+
`claude-code`, from environment variables), and the installation reference.
|
|
259
|
+
After connecting, at most once a day unless the version, platform, route, or
|
|
260
|
+
install source changes, the client makes a non-billable
|
|
261
|
+
`beatra.installations.register` call with those package and platform
|
|
262
|
+
fields, the release channel, the network route, the install source
|
|
263
|
+
(`github` for this tree), and coarse runtime facts: OS and OS version, CPU
|
|
264
|
+
architecture, Python version, locale, and UTC offset. Every tool call adds
|
|
246
265
|
`source_package_slug` and `source_platform`. There is no opt-out for these
|
|
247
266
|
fields.
|
|
248
267
|
- **Retention.** Account data is kept for the life of the account. Task
|
|
@@ -254,6 +273,6 @@ days idle and can be revoked at once in the Beatra Console under Agents.
|
|
|
254
273
|
|
|
255
274
|
## Additional Resources
|
|
256
275
|
|
|
257
|
-
- [Source tree at the pinned commit](https://github.com/beatra-ai/ecommerce-product-images-skill/tree/
|
|
276
|
+
- [Source tree at the pinned commit](https://github.com/beatra-ai/ecommerce-product-images-skill/tree/c70a939466ce192fa15eb60a46e83980def6c938/skills/ecommerce-listing-image-set)
|
|
258
277
|
- [Product page](https://beatra.ai/skills/ecommerce-listing-image-set)
|
|
259
278
|
- [Terms](https://beatra.ai/en/terms) and [privacy policy](https://beatra.ai/en/privacy)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 wusumac
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: goal-instruction-writer
|
|
3
|
+
description: "Preview, draft, refine, or audit durable agent Goals with acceptance evidence, drift controls, proportional verification, and bounded waiting. Use for multi-stage work, not one-shot prompts."
|
|
4
|
+
category: agent-orchestration
|
|
5
|
+
risk: safe
|
|
6
|
+
source: "https://github.com/wu736139669/goal-instruction-writer"
|
|
7
|
+
source_repo: wu736139669/goal-instruction-writer
|
|
8
|
+
source_type: community
|
|
9
|
+
date_added: "2026-10-18"
|
|
10
|
+
author: wu736139669
|
|
11
|
+
tags: [goals, planning, drift-control, verification]
|
|
12
|
+
tools: [codex]
|
|
13
|
+
license: "MIT"
|
|
14
|
+
license_source: "https://github.com/wu736139669/goal-instruction-writer/blob/1e5d106a2092c1ab8ab4f2f5836cf85167d1b3e7/LICENSE"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Goal Instruction Writer
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
Turn a vague request into a ready-to-run Goal instruction that an agent can
|
|
22
|
+
execute without guessing what success, progress, or stopping means. Preserve
|
|
23
|
+
the user's intent, language, authority boundaries, and requested scope.
|
|
24
|
+
This skill designs and audits the instruction contract; runtime access,
|
|
25
|
+
permissions, and external approvals still come from the host agent and user.
|
|
26
|
+
Describe the checks while writing a Goal; execute the underlying task only
|
|
27
|
+
when the user has also requested execution.
|
|
28
|
+
|
|
29
|
+
Read [references/goal-contract.md](references/goal-contract.md) when drafting
|
|
30
|
+
or auditing a Goal. Read [references/examples.md](references/examples.md) only
|
|
31
|
+
when a worked example would clarify the requested task. For work that spans
|
|
32
|
+
multiple phases, artifacts, or more than a few iterations, also read
|
|
33
|
+
[references/drift-control.md](references/drift-control.md). For preview-first
|
|
34
|
+
workflows, read [references/loop-preview.md](references/loop-preview.md).
|
|
35
|
+
|
|
36
|
+
## When to Use
|
|
37
|
+
|
|
38
|
+
- Use when the user asks to preview, draft, refine, or audit a Goal for a multi-stage agent task.
|
|
39
|
+
- Use when acceptance evidence, scope, verification cadence, drift recovery, or external waiting is ambiguous.
|
|
40
|
+
- Use for instruction design; ordinary one-shot prompts do not need this skill. Use `goal-loop` when the request is primarily about operating a host's native Goal loop.
|
|
41
|
+
|
|
42
|
+
## Choose the mode
|
|
43
|
+
|
|
44
|
+
- **Draft:** build a Goal from a rough request.
|
|
45
|
+
- **Refine:** preserve an existing Goal while closing missing objective,
|
|
46
|
+
evidence, loop, or termination fields.
|
|
47
|
+
- **Audit:** identify ambiguity, unbounded repetition, unverifiable criteria,
|
|
48
|
+
and unsafe or unauthorized transitions; propose the smallest fixes.
|
|
49
|
+
- **Convert:** turn a checklist, ticket, or project brief into a Goal without
|
|
50
|
+
expanding its scope.
|
|
51
|
+
- **Preview:** show the concrete loop, branches, drift gates, and stop
|
|
52
|
+
conditions before writing the final Goal. Do not emit an executable Goal or
|
|
53
|
+
perform external work in this mode.
|
|
54
|
+
|
|
55
|
+
If the mode is not stated, infer it from the input. Ask only questions whose
|
|
56
|
+
answers would change the objective, authority, acceptance evidence, or legal
|
|
57
|
+
terminal state. Otherwise state assumptions and continue.
|
|
58
|
+
|
|
59
|
+
## Preview before drafting
|
|
60
|
+
|
|
61
|
+
Use preview-first when the user asks to “先看循环”, “preview”, “先设计流程”,
|
|
62
|
+
or similar. Also prefer it for multi-stage, costly, irreversible, or materially
|
|
63
|
+
uncertain work. For a short, reversible task, a direct draft is enough.
|
|
64
|
+
|
|
65
|
+
The preview is a design checkpoint, not an approval to execute:
|
|
66
|
+
|
|
67
|
+
1. State the provisional outcome, baseline, and assumptions.
|
|
68
|
+
2. Show the loop as concrete state transitions, including the first work unit,
|
|
69
|
+
success and failure branches, progress evidence, drift checks, phase gates,
|
|
70
|
+
and legal stop states. Distinguish iteration checks from broader phase or
|
|
71
|
+
delivery checks, including evidence reuse and bounds for expensive checks.
|
|
72
|
+
3. List the decisions that could change the loop or its scope. For feedback,
|
|
73
|
+
adoption, pilot, launch, or validation work, include the evidence threshold,
|
|
74
|
+
what counts, and the feedback window.
|
|
75
|
+
4. End with a clear handoff: wait for the user to confirm or revise the loop
|
|
76
|
+
before generating the final Goal.
|
|
77
|
+
|
|
78
|
+
When the user confirms, carry the accepted preview into the final Goal without
|
|
79
|
+
quietly changing its loop, scope, or terminal rules. If the user revises it,
|
|
80
|
+
regenerate the preview or record the changed decision first. A preview response
|
|
81
|
+
must not claim that the Goal is complete and must not perform external side
|
|
82
|
+
effects merely because a loop was described.
|
|
83
|
+
|
|
84
|
+
## Build the three-layer contract
|
|
85
|
+
|
|
86
|
+
### 1. Goal: define the outcome
|
|
87
|
+
|
|
88
|
+
Write one sentence with an observable end state. It should say what artifact,
|
|
89
|
+
behavior, decision, or verified change will exist when the work is complete.
|
|
90
|
+
Then make the contract concrete:
|
|
91
|
+
|
|
92
|
+
- **Baseline:** what exists now and which revision, source, or facts are
|
|
93
|
+
authoritative.
|
|
94
|
+
- **Scope:** what may change and what is frozen.
|
|
95
|
+
- **Acceptance criteria:** observable checks tied to evidence, not activities
|
|
96
|
+
such as “keep working” or “try harder.”
|
|
97
|
+
- **Dependencies and authority:** tools, access, owner decisions, and external
|
|
98
|
+
gates the agent may or may not cross.
|
|
99
|
+
- **Deliverable:** the files, decision, report, or message that will be handed
|
|
100
|
+
back.
|
|
101
|
+
|
|
102
|
+
For Goals about feedback, adoption, pilots, launches, or validation, define a
|
|
103
|
+
**feedback evidence threshold** before drafting: what counts as feedback,
|
|
104
|
+
whether an entry point is enough or at least `N` non-author responses are
|
|
105
|
+
required, and the timebox or attempt window. Do not count author-only activity
|
|
106
|
+
unless the user explicitly chooses that threshold.
|
|
107
|
+
|
|
108
|
+
Prefer one load-bearing outcome per Goal. Split unrelated outcomes into
|
|
109
|
+
separate Goals. Replace vague verbs such as “improve,” “handle,” or “finish”
|
|
110
|
+
with a measurable result.
|
|
111
|
+
|
|
112
|
+
## Prevent drift in long-running work
|
|
113
|
+
|
|
114
|
+
For a long or multi-stage Goal, freeze a compact **Goal Anchor** before the
|
|
115
|
+
first iteration: the one-sentence outcome, criterion IDs, frozen scope, and
|
|
116
|
+
current phase. Treat it as an invariant. A new discovery may change the plan,
|
|
117
|
+
but it must not silently change the outcome, acceptance criteria, or authority.
|
|
118
|
+
An explicit owner decision creates a new Goal version or scope-change record.
|
|
119
|
+
|
|
120
|
+
At every iteration, record three links before acting:
|
|
121
|
+
|
|
122
|
+
1. **Target criterion:** which acceptance criterion this work advances.
|
|
123
|
+
2. **Expected delta:** what observable evidence should change if it works.
|
|
124
|
+
3. **Scope reason:** why this action is inside the frozen boundary now.
|
|
125
|
+
|
|
126
|
+
After verification, classify the result as:
|
|
127
|
+
|
|
128
|
+
- `ON_TARGET`: the named criterion moved or new relevant evidence supports a
|
|
129
|
+
justified next step.
|
|
130
|
+
- `SIDE_QUEST`: useful but not required for this Goal; park it in a deferred
|
|
131
|
+
list instead of expanding the loop.
|
|
132
|
+
- `DRIFTED`: the action changed the goal or scope without authorization, the
|
|
133
|
+
next step cannot be justified from the Anchor, or the no-progress threshold
|
|
134
|
+
is reached; stop and realign.
|
|
135
|
+
|
|
136
|
+
Run a phase gate every 3–5 iterations by default, at each milestone, and before
|
|
137
|
+
an irreversible or high-cost action. Re-read the Anchor, compare the current
|
|
138
|
+
state with the baseline, mark criteria open or verified, review deferred side
|
|
139
|
+
quests, and choose one justified next action. Never rewrite criteria to make
|
|
140
|
+
completed work appear on target.
|
|
141
|
+
|
|
142
|
+
### 2. Loop: define how progress is made
|
|
143
|
+
|
|
144
|
+
Use a bounded iteration with a visible progress signal:
|
|
145
|
+
|
|
146
|
+
1. **Inspect** the current state and the last durable cursor.
|
|
147
|
+
2. **Select** the smallest next work unit, name its target criterion, expected
|
|
148
|
+
delta, and scope reason.
|
|
149
|
+
3. **Act** within the allowed scope and authority.
|
|
150
|
+
4. **Verify** the result against the relevant criterion using the verification
|
|
151
|
+
strategy below; capture the evidence.
|
|
152
|
+
5. **Classify** the result as `ON_TARGET`, `SIDE_QUEST`, or `DRIFTED` and apply
|
|
153
|
+
the corresponding drift rule.
|
|
154
|
+
6. **Record** the delta, remaining gap, decision, and next cursor before
|
|
155
|
+
another iteration.
|
|
156
|
+
|
|
157
|
+
State the iteration limit that fits the task: a timebox, tool or token budget,
|
|
158
|
+
maximum attempts, or a finite work-unit list. Add a no-op rule: do not repeat
|
|
159
|
+
the same action without new information; after a repeated failure, change the
|
|
160
|
+
hypothesis or stop with the blocker. The loop must be able to explain why the
|
|
161
|
+
next iteration is different from the previous one.
|
|
162
|
+
|
|
163
|
+
For external dependencies, record the unmet criterion, next check time or
|
|
164
|
+
relevant notification, and deadline. Before that trigger, continue independent
|
|
165
|
+
work or yield with the checkpoint preserved. Waiting and a due check that
|
|
166
|
+
confirms the dependency is still pending do not count as failed actionable
|
|
167
|
+
attempts toward the default two-equivalent-no-progress threshold. Actual tool
|
|
168
|
+
calls and elapsed time still count against host limits. See
|
|
169
|
+
[scheduled waits](references/drift-control.md#scheduled-external-waits)
|
|
170
|
+
for polling, resumption, and deadline rules.
|
|
171
|
+
|
|
172
|
+
#### Verification strategy
|
|
173
|
+
|
|
174
|
+
Include a short verification strategy in the Goal. Preserve explicit user and
|
|
175
|
+
repository acceptance requirements while controlling when checks run:
|
|
176
|
+
|
|
177
|
+
- **Iteration checks:** choose the smallest checks sufficient for the affected
|
|
178
|
+
behavior. Broaden for change impact, new failures, unresolved uncertainty,
|
|
179
|
+
or a required gate.
|
|
180
|
+
- **Phase and delivery checks:** once the relevant implementation is stable,
|
|
181
|
+
complete the remaining required regression, build, integration, and artifact
|
|
182
|
+
checks. A phase gate reviews current evidence; it does not automatically
|
|
183
|
+
repeat the entire validation and delivery pipeline.
|
|
184
|
+
- **Evidence reuse:** tie results to the checked source or artifact, relevant
|
|
185
|
+
inputs, dependencies, and environment. Carry forward results while those
|
|
186
|
+
conditions remain valid. Documentation or receipt changes do not invalidate
|
|
187
|
+
unrelated runtime checks. Distinguish reused evidence from newly run checks.
|
|
188
|
+
- **Rerun reason:** before repeating a check, name the change or new evidence
|
|
189
|
+
that invalidates its result and select the affected checks. A source or
|
|
190
|
+
artifact change invalidates dependent evidence, including consumer checks
|
|
191
|
+
when the consumed artifact changes.
|
|
192
|
+
- **Cost and completion:** give expensive checks suitable command timeouts or
|
|
193
|
+
attempt bounds. A timeout leaves its criterion unverified; report the gap.
|
|
194
|
+
Finish when all criteria have valid evidence and delivery is complete;
|
|
195
|
+
further checking needs a concrete unresolved concern or invalidated result.
|
|
196
|
+
|
|
197
|
+
### 3. Termination: define legal endings
|
|
198
|
+
|
|
199
|
+
Make the terminal states explicit and mutually understandable:
|
|
200
|
+
|
|
201
|
+
- **Complete:** every acceptance criterion is verified and the deliverable is
|
|
202
|
+
available.
|
|
203
|
+
- **Blocked:** a named dependency, missing authority, or unresolved failure
|
|
204
|
+
prevents the next meaningful action; report the exact unblock needed.
|
|
205
|
+
- **Paused:** the owner explicitly asks to pause; preserve the cursor and do
|
|
206
|
+
not resume without authorization.
|
|
207
|
+
- **Timeboxed/Budgeted:** the limit is reached before completion; report the
|
|
208
|
+
verified progress, remaining gap, and the safest next action.
|
|
209
|
+
- **Stopped:** the owner cancels the work or an action would exceed the granted
|
|
210
|
+
authority; do not silently continue.
|
|
211
|
+
- **Realignment required:** a drift check fails; stop the current loop, preserve
|
|
212
|
+
the checkpoint, and resume only after the next action is re-anchored. Use
|
|
213
|
+
`GOAL REALIGNMENT REQUIRED` when a local terminal label is needed.
|
|
214
|
+
|
|
215
|
+
Do not use “continue until satisfied,” “try indefinitely,” or a success claim
|
|
216
|
+
based only on effort. If the task has a local convention for terminal strings,
|
|
217
|
+
preserve it; otherwise give each state a short, exact label and require the
|
|
218
|
+
final response to include it. A goal or acceptance criterion cannot be changed
|
|
219
|
+
just because the current work became difficult or interesting.
|
|
220
|
+
|
|
221
|
+
## Produce the answer
|
|
222
|
+
|
|
223
|
+
Return the result in the user's language. Unless they request another format,
|
|
224
|
+
use this order:
|
|
225
|
+
|
|
226
|
+
1. **Design notes:** one short paragraph explaining the objective, loop, and
|
|
227
|
+
termination and drift-control choices; list assumptions or high-value open
|
|
228
|
+
questions.
|
|
229
|
+
2. **Loop preview:** in Preview mode, show the state transitions, branches,
|
|
230
|
+
evidence, drift gates, terminal states, and unresolved decisions; stop there
|
|
231
|
+
and wait for confirmation.
|
|
232
|
+
3. **Ready-to-paste Goal:** in Draft, Refine, or Convert mode, include the full
|
|
233
|
+
instruction in a fenced block with `Objective`, `Goal anchor`, `Baseline and
|
|
234
|
+
scope`, `Acceptance criteria`, `Feedback evidence` when applicable,
|
|
235
|
+
`Verification strategy`, `Execution loop`, `Drift control`, `Limits and no-op
|
|
236
|
+
rule`, `Termination`, and `Reporting` sections.
|
|
237
|
+
4. **Audit notes:** if refining or auditing, name each remaining ambiguity and
|
|
238
|
+
the smallest change that resolves it.
|
|
239
|
+
|
|
240
|
+
The ready-to-paste block must be executable as an instruction, not a discussion
|
|
241
|
+
of how one might write an instruction. Keep acceptance checks and terminal
|
|
242
|
+
states concrete enough that a later reviewer can decide them from evidence.
|
|
243
|
+
|
|
244
|
+
## Examples
|
|
245
|
+
|
|
246
|
+
```text
|
|
247
|
+
Preview a Goal for a playable Godot game slice. Preserve save compatibility,
|
|
248
|
+
separate focused iteration checks from the Mac and Android delivery gate,
|
|
249
|
+
and define observable completion conditions. Do not execute the project.
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
```text
|
|
253
|
+
Audit a Goal that waits for an external review until an agreed UTC deadline.
|
|
254
|
+
Preserve a next-check trigger and budget limits, avoid premature polling,
|
|
255
|
+
and keep independently actionable documentation work moving.
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
For worked contracts, read [the examples](references/examples.md). Public,
|
|
259
|
+
English [workflow cases](https://github.com/wu736139669/goal-instruction-writer/blob/main/docs/cases/README.md)
|
|
260
|
+
record the evidence and limits of the maintainer's use.
|
|
261
|
+
|
|
262
|
+
## Limitations
|
|
263
|
+
|
|
264
|
+
- This skill designs instructions; execution, permissions, persistence, and invocation come from the host and the user.
|
|
265
|
+
- A saved next-check time does not create a scheduler. The host must supply the timer, event, or later authorized invocation and checkpoint access.
|
|
266
|
+
- The documented waiting branch has not been validated by a live wait/resume test.
|
|
267
|
+
- Drafting or previewing a Goal does not itself authorize the underlying task.
|
|
268
|
+
|
|
269
|
+
## Provenance
|
|
270
|
+
|
|
271
|
+
Adapted from the MIT-licensed [Goal Instruction Writer](https://github.com/wu736139669/goal-instruction-writer)
|
|
272
|
+
at [commit 1e5d106](https://github.com/wu736139669/goal-instruction-writer/commit/1e5d106a2092c1ab8ab4f2f5836cf85167d1b3e7).
|
|
273
|
+
The four bundled references and license retain the upstream bytes. Catalog
|
|
274
|
+
metadata, explicit activation guidance, examples, and limitations adapt the
|
|
275
|
+
entry to this library; the core Goal-writing contract is retained.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Contribution walkthrough
|
|
2
|
+
|
|
3
|
+
- Import Goal Instruction Writer from public commit `1e5d106a2092c1ab8ab4f2f5836cf85167d1b3e7` under its MIT license.
|
|
4
|
+
- Preserve all four supporting references and the MIT license; add catalog frontmatter, activation boundaries, examples, limitations, and provenance.
|
|
5
|
+
- Omit the optional Codex `agents/openai.yaml` interface and invocation metadata from this catalog copy to comply with the ordinary fork-intake path policy. The canonical upstream package retains that file; the instruction body and four supporting references are unchanged by this packaging adjustment.
|
|
6
|
+
- Keep this contribution walkthrough under `references/`, an allowed support directory. This adaptation does not change the repository's intake rules or request a policy exception.
|
|
7
|
+
- Complement `goal-loop`: this skill designs and audits the instruction contract, including preview branches, proportional verification, and scheduled-wait checkpoints. Host loop operation remains outside this package.
|
|
8
|
+
- [English cases and evidence limits](https://github.com/wu736139669/goal-instruction-writer/blob/main/docs/cases/README.md).
|
|
9
|
+
- Waiting/resumption remains documented intent pending a live wait/resume test. No scheduler or new execution authority is added.
|