@se-studio/skills 1.7.14 → 1.7.16
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/CHANGELOG.md +12 -0
- package/package.json +1 -1
- package/references/agent-session/local-env.md +2 -0
- package/references/contentful-cms-cms-guidelines/html-component-authoring.md +7 -1
- package/skills/contentful-cms-core/SKILL.md +4 -3
- package/skills/contentful-cms-sync-schema/SKILL.md +1 -0
- package/skills/site-workflows-agent-session/SKILL.md +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @se-studio/skills
|
|
2
2
|
|
|
3
|
+
## 1.7.16
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Hosted cms-edit can stage HTML/CSS/JS and from-json payloads via curl (kind=text|json), summarize long Text in diff, and reject inline MCP args over 8k.
|
|
8
|
+
|
|
9
|
+
## 1.7.15
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Document HtmlComponent externalScripts in cms-edit playbooks and reject non-array JSON on Array-of-Symbol set.
|
|
14
|
+
|
|
3
15
|
## 1.7.14
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -15,6 +15,8 @@ Gitignored `.env.local` files do **not** copy into a new worktree. Agents then i
|
|
|
15
15
|
|
|
16
16
|
`localEnvRoot` is set on `projects.registry.json` (`~/source/local-env`).
|
|
17
17
|
|
|
18
|
+
**Cloud agents** do not use this store. They pull Vercel **Development** (`docs/CLOUD_AGENTS.md`). Dedicated cloud CDA/CPA copies may exist under `~/source/local-env/cloud-agents/` for humans (Cursor secrets for example-empty); they are not git and must not be committed.
|
|
19
|
+
|
|
18
20
|
Tracked files are whatever `.env.local` / `.env.*.local` exist on the **develop** checkout (`apps/*/.env.local` and `cms-edit/host/.env.local` included). Nested `experiments/` trees are ignored.
|
|
19
21
|
|
|
20
22
|
The live Highlander repo (`highlander-health-website`, not the 2026 port) is `localEnvExtras` key `highlander-live` in the registry (not the `highlander` 2026 project). `pnpm local-env` catalogs it with the other sites.
|
|
@@ -4,7 +4,7 @@ description: Guidelines for authoring HTML content in HtmlComponent CMS entries.
|
|
|
4
4
|
license: Private
|
|
5
5
|
metadata:
|
|
6
6
|
author: se-core-product
|
|
7
|
-
version: "1.
|
|
7
|
+
version: "1.2.0"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# HtmlComponent Authoring Guide
|
|
@@ -258,6 +258,12 @@ Put third-party libraries in **`externalScripts`**, not `createElement('script')
|
|
|
258
258
|
|
|
259
259
|
The renderer waits until those scripts have loaded (`next/script` `onReady`) before running `customJs`. The same URL on two HtmlComponents shares one `next/script` id (`hc-ext-<hash>`). If the site has a Content-Security-Policy, allowlisted hosts must match `script-src`.
|
|
260
260
|
|
|
261
|
+
In cms-edit, `externalScripts` is an Array of Symbol — set it with `--json`, never a scalar string:
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
cms_edit ["set", "@cN", "externalScripts", "--json", "[\"/html-components/feature/lib.js\"]"]
|
|
265
|
+
```
|
|
266
|
+
|
|
261
267
|
---
|
|
262
268
|
|
|
263
269
|
## Common Patterns
|
|
@@ -15,11 +15,11 @@ Use this skill when you need to read or edit content in Contentful using **hoste
|
|
|
15
15
|
|
|
16
16
|
`cms-edit` lets you read and edit Contentful draft content without publishing.
|
|
17
17
|
|
|
18
|
-
**New page/article:** `schema` for this space → `create from-json --dry-run --strict` →
|
|
18
|
+
**New page/article:** `schema` for this space → if the payload is over 8k, staged `kind=json` then `create from-json --staged --dry-run --strict` → create. Tiny JSON may use `--json`. Nested tree key is `components`; discriminator is `type`.
|
|
19
19
|
|
|
20
|
-
**Edit a tree:** `open` → `export from-json` → edit JSON → `apply from-json
|
|
20
|
+
**Edit a tree:** `open` → `export from-json` → edit JSON → `apply from-json` (`--staged` when over 8k). Tiny patches: `set` / `rtf` / `add` then `diff` → `save`. Long HtmlComponent fields: `kind=text` then `set --staged`.
|
|
21
21
|
|
|
22
|
-
**Never publish.** Hosted MCP cannot see your disk — send JSON in the tool call
|
|
22
|
+
**Never publish.** Hosted MCP cannot see your disk — send JSON in the tool call **only if under 8192 bytes**.
|
|
23
23
|
|
|
24
24
|
## Safety Rules
|
|
25
25
|
|
|
@@ -33,6 +33,7 @@ All `save` operations create **draft** versions. A human must review and publish
|
|
|
33
33
|
**Assets:** Upload **is** supported (`asset upload`). Default workflow: **search and reuse** existing assets first (`index sync` → `asset search`). When uploading:
|
|
34
34
|
- **Raster/video:** `cms_edit_request_staged_upload` → curl → `cms_edit_media` prepare (`stagedUploadIds`) → wait → catalog → import with real alt. Never `asset upload --staged/--url/--base64` for jpeg/png/webp/gif/mp4.
|
|
35
35
|
- **SVG/PDF/Lottie:** `cms_edit_request_staged_upload` → curl → `asset upload --staged` (never `--base64`)
|
|
36
|
+
- **HtmlComponent / large JSON:** `cms_edit_request_staged_upload` with `kind=text` or `kind=json` → curl → `set --staged`, `rtf --staged`, `create from-json --staged`, or `apply from-json --staged`. Hosted MCP rejects inline `--json`/`--content` over 8192 bytes.
|
|
36
37
|
- Use a **sensible fileName** and **descriptive title** (and alt text where the site uses it)
|
|
37
38
|
- Avoid oversized images — width over **2000px** is usually wasteful for web (exact limits vary by project; check `asset audit` / media review guidance)
|
|
38
39
|
- Prefer `--if-exists-by-filename` to avoid duplicates
|
|
@@ -88,6 +88,7 @@ Standard order when diff shows these gaps:
|
|
|
88
88
|
| 6 | `17-add-article-authors.js` | `article.authors` array + backfill from `author` |
|
|
89
89
|
| 7 | `21-add-article-bottom-content.js` | `article.bottomContent` array (idempotent; clones `content` link types) |
|
|
90
90
|
| 8 | `25-add-meta-field.js` | Optional Long text `meta` JSON bag on template/page/article/tag/person and related types. Idempotent. Unused until filled. |
|
|
91
|
+
| 9 | `28-add-html-component-external-scripts.js` | Optional `externalScripts` (array of URL strings) on existing `htmlComponent`. Idempotent. Greenfield spaces that run migration 12 after this change already get the field. |
|
|
91
92
|
|
|
92
93
|
Site-specific (run only when diff shows missing field **and** app uses it):
|
|
93
94
|
|
|
@@ -142,6 +142,8 @@ After the placement checklist, run the **refusal table** when the task involves
|
|
|
142
142
|
|
|
143
143
|
**Cloud / remote agents:** they already have an isolated checkout. Open a **draft PR** to the integration branch so other machines can see the work. Do not require a yaml file in se-core-product. Do not implement on a registry `productionPath`.
|
|
144
144
|
|
|
145
|
+
**Cloud env:** do not seed from `~/source/local-env`. Run the repo `scripts/cloud-env-pull.sh` (Vercel **Development**, Runtime Secret `VERCEL_TOKEN`). Do not invent a stub `.env.local`. Do not `vercel env pull` on a laptop develop checkout. Canonical: `docs/CLOUD_AGENTS.md` in se-core-product. CMS writes stay on hosted mcp. Grok Build should use the same pull later.
|
|
146
|
+
|
|
145
147
|
Primary checkouts (`path` / develop / dev) stay on the integration branch for fetch, deps, and short integration-only maintenance.
|
|
146
148
|
|
|
147
149
|
### Create worktree (mandatory for local feature/*)
|