@se-studio/skills 1.9.6 → 1.9.8

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @se-studio/skills
2
2
 
3
+ ## 1.9.8
4
+
5
+ ### Patch Changes
6
+
7
+ - Document role-gated publish, and allow browser CORS on the OAuth token and register routes.
8
+
9
+ ## 1.9.7
10
+
11
+ ### Patch Changes
12
+
13
+ - Advertise OAuth scopes and Client ID Metadata Documents, and add typed MCP tools so ChatGPT and other remote clients can read and save drafts without a shell.
14
+
3
15
  ## 1.9.6
4
16
 
5
17
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/skills",
3
- "version": "1.9.6",
3
+ "version": "1.9.8",
4
4
  "description": "SE Studio agent skills for marketing site development with Contentful CMS",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,12 +25,7 @@ Use this skill when you need to read or edit content in Contentful using **hoste
25
25
 
26
26
  ## Safety Rules
27
27
 
28
- **This tool CANNOT and WILL NOT:**
29
- - Publish any entry
30
- - Unpublish any entry
31
- - Archive or delete published entries
32
-
33
- All `save` operations create **draft** versions. A human must review and publish in Contentful.
28
+ `save` writes **drafts**. Publish, unpublish, and archive use `publish plan`, then `publish apply` after an explicit yes, and only when the signed-in Contentful role allows it. AI Editor cannot. Do not publish as part of save.
34
29
 
35
30
  **Assets:** Upload **is** supported (`asset upload`). Default workflow: **search and reuse** existing assets first (`index sync` → `asset search`). Search by concept (`asset search --concept` / `--concept-all`) finds a subject and a tone, including files no page uses yet. Concepts are not blog tags. When uploading:
36
31
  - **Raster/video:** `cms_edit_request_staged_upload` → curl → `cms_edit_media` prepare → wait → catalog → import with real alt. Video, and an image master over 4MB, is a presigned direct PUT (100MB, `intake: direct`) then prepare with that URL. Smaller images still use `stagedUploadIds`. Never `asset upload --staged/--url/--base64` for jpeg/png/webp/gif/mp4. The stored asset is the processed file.
@@ -204,7 +199,7 @@ Shows a diff of all modified fields across all changed entries.
204
199
  cms-edit save
205
200
  ```
206
201
 
207
- Writes all changes to Contentful as **drafts**. The changes are visible in Contentful's web app but NOT live until a human publishes them.
202
+ Writes all changes to Contentful as **drafts**. They stay drafts until `publish plan` then `publish apply`, after an explicit yes, and only if the Contentful role allows it.
208
203
 
209
204
  After saving, the session is cleared automatically if all changes were saved.
210
205
 
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: contentful-cms-setup
3
- description: "Guide a user through connecting hosted cms-edit MCP for Claude or Grok (OAuth)."
3
+ description: "Guide a user through connecting hosted cms-edit MCP for Claude, ChatGPT, Grok, Cursor, or Gemini (OAuth)."
4
4
  ---
5
5
 
6
6
  # Skill: cms-edit Setup
7
7
 
8
- Use this skill when the user wants to connect Claude or Grok to their Contentful site via **hosted cms-edit MCP**.
8
+ Use this skill when the user wants to connect Claude, ChatGPT, Grok, Cursor, VS Code, or Gemini CLI to their Contentful site via **hosted cms-edit MCP**.
9
9
 
10
10
  Local stdio MCP and the setup wizard are **not supported**. Editors connect through the site's `/cms-edit` onboarding flow.
11
11
 
@@ -68,6 +68,27 @@ Full guide: `packages/contentful-cms/docs/mcp/hosted-guide.md` (Grok Build secti
68
68
 
69
69
  ---
70
70
 
71
+ ## Hosted setup (ChatGPT and other remote MCP clients)
72
+
73
+ The MCP URL is the same URL as Claude (`https://<host>/api/mcp`). The client must speak remote Streamable HTTP and OAuth. There is no local stdio server and no OpenAPI Action.
74
+
75
+ ### ChatGPT
76
+
77
+ 1. Settings → **Apps & Connectors** → create a custom MCP server
78
+ 2. Paste the MCP URL and choose **OAuth**
79
+ 3. Sign in with **Contentful**
80
+ 4. Ask it to call `search` or `cms_edit_version`
81
+
82
+ Draft writes (`set_field`, `save_draft`) need a Business, Enterprise, or Edu workspace. Pro can be read-only. ChatGPT freezes the tool list at connect time: after a cms-edit upgrade, remove the connector and add it again.
83
+
84
+ Clients that cannot run a shell use `append_text` for bodies over 8192 bytes, then `cms_edit` with `--staged`. `save_draft` does not publish.
85
+
86
+ ### Cursor, VS Code, Gemini CLI
87
+
88
+ Add the MCP URL as a remote HTTP server and complete OAuth. Cursor: `~/.cursor/mcp.json` `url`. VS Code: `.vscode/mcp.json` `servers` with `type: http`. Gemini CLI: `mcpServers.<name>.url`.
89
+
90
+ ---
91
+
71
92
  ## Developers (CLI + skills, not local MCP)
72
93
 
73
94
  For engineering work in a site repo (Cursor, Grok, terminal):