@se-studio/skills 1.6.7 → 1.6.9

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.6.9
4
+
5
+ ### Patch Changes
6
+
7
+ - 34a8a7f: Stop rotating hosted MCP refresh tokens on `/oauth/token`. Grok retries and parallel sessions were hitting `invalid_refresh_token` after the 1-hour access JWT expired. Include `refresh_token_expires_in` (30 days) on token responses.
8
+
9
+ ## 1.6.8
10
+
11
+ ### Patch Changes
12
+
13
+ - d74ec5c: Document Figma-as-absolute-gospel for new UI work in site-workflows-agent-session (until the user overrides).
14
+
3
15
  ## 1.6.7
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.6.7",
3
+ "version": "1.6.9",
4
4
  "description": "SE Studio agent skills for marketing site development with Contentful CMS",
5
5
  "repository": {
6
6
  "type": "git",
@@ -62,8 +62,13 @@ cms-edit open --id 4xKj2abcDef
62
62
 
63
63
  # Home page (slug is 'index')
64
64
  cms-edit open --page-slug /
65
+
66
+ # Include template menu/footer/nav (default open skips site chrome)
67
+ cms-edit open --include-chrome --page-slug /pricing
65
68
  ```
66
69
 
70
+ `open` / `peek` fetch the page (or article) tree and the template entry, but **not** template `menu` / `footer` / navigation. Edit nav with `nav open`. Pass `--include-chrome` only when you need those trees.
71
+
67
72
  **Flat lookup flags:** provide **exactly one** primary flag per `open` / `resolve` / `nav open`. See `cms-edit help lookup`. Run `cms-edit index sync` so catalog types resolve from the local index.
68
73
 
69
74
  ### Step 2: Read the snapshot
@@ -87,7 +87,7 @@ Do **not** register a local `mcpServers.cms-edit` entry in Claude Desktop — us
87
87
  → Confirm the user was invited to the Contentful space and is signing in with the correct account. In Grok, use `/mcps` → press `i` (not just toggle). Confirm config URL ends with `/api/mcp`.
88
88
 
89
89
  **Grok: Failed to get tools after auth / auth required**
90
- → MCP refresh succeeded but the CMA cache is missing **or Contentful rejected it**. cms-edit **3.5.3+** deletes the dead cache and returns `invalid_token` so Grok re-runs Contentful sign-in. If it still loops, delete the server’s entry in `~/.grok/mcp_credentials.json`, then `/mcps` → `i` and complete Contentful sign-in.
90
+ → On Vercel look for `[cms-edit:oauth] auth_failure`. `invalid_refresh_token` means the MCP refresh UUID is gone (rotation + parallel Grok sessions); cms-edit **3.6.1+** keeps the same refresh token. `missing_contentful_token` / `invalid_contentful_token` means the CMA cache is missing or Contentful rejected it — **3.5.3+** deletes the dead cache and returns `invalid_token` so Grok re-runs Contentful sign-in. If it still loops, delete the server’s entry in `~/.grok/mcp_credentials.json`, then `/mcps` → `i` and complete Contentful sign-in.
91
91
 
92
92
  **Grok browser flashes and closes**
93
93
  → Usually a redirect_uri mismatch before cms-edit v2.7.7+; upgrade the hosted deployment and retry OAuth.
@@ -87,6 +87,7 @@ Standard order when diff shows these gaps:
87
87
  | 5 | `15-add-slug-regexp-validation.js` | Slug format validation |
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
+ | 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. |
90
91
 
91
92
  Site-specific (run only when diff shows missing field **and** app uses it):
92
93
 
@@ -212,6 +212,22 @@ Record `cms_session: <feature-slug>` in manifest when doing CMS work.
212
212
  - **Do not** edit `se-core-product` unless placement is `core` and user approves mode switch
213
213
  - Consume `@se-studio/*` from npm — not monorepo workspace links
214
214
 
215
+ ### Figma is absolute gospel (new designs)
216
+
217
+ **Until the user explicitly says otherwise**, when implementing or polishing UI from a Figma file or node:
218
+
219
+ | Do | Do not |
220
+ |----|--------|
221
+ | Treat the named Figma node as the **source of truth** for structure, spacing, type, colour, radii, alignment, and control patterns | “Improve”, normalize, or restyle away from the comps to match older site patterns |
222
+ | Pull design context / screenshots from the owned Figma file before coding or “fixing” visuals | Prefer CMS draft copy, prior app screenshots, or memory of the live site over the comps |
223
+ | Match **pixel-faithfully** (including pills vs checkboxes/radios, hug vs full-width CTAs, card fills) | Ship “close enough” and wait for the user to notice |
224
+ | If Figma conflicts with an existing component or token, **follow Figma** and note the deviation | Silently keep the old pattern because it is already in the codebase |
225
+ | Verify in the browser against the Figma node (desktop + mobile when both exist) | Declare done from a single screenshot that does not match the node |
226
+
227
+ **Override:** Only diverge when the user clearly says so in the current conversation (e.g. “ignore Figma for the button”, “use site chrome instead”). Until that override, Figma wins.
228
+
229
+ **Related skills:** `site-workflows-figma-design-snapshot` / `site-workflows-apply-design-snapshot` for token sync; Figma MCP `get_design_context` for node-level implementation.
230
+
215
231
  ### Blocked work
216
232
 
217
233
  If manifest has `blocked_on: "@se-studio/foo@1.2.3"`, do not push customer `develop` until npm publish is confirmed. Update manifest when unblocked.