@se-studio/skills 1.0.38 → 1.0.39

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,11 @@
1
1
  # @se-studio/skills
2
2
 
3
+ ## 1.0.39
4
+
5
+ ### Patch Changes
6
+
7
+ - Bulk version bump: patch for all packages
8
+
3
9
  ## 1.0.38
4
10
 
5
11
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/skills",
3
- "version": "1.0.38",
3
+ "version": "1.0.39",
4
4
  "description": "SE Studio agent skills for marketing site development with Contentful CMS",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,7 +17,7 @@ If no brand context is available, ask the user about any brand-specific terms be
17
17
 
18
18
  1. **Get all pages**: `cms-edit sitemap`
19
19
  2. **For each page** (or a specific page if the user specified one):
20
- a. `cms-edit open /<slug>`
20
+ a. `cms-edit open --page-slug /<slug>` (or `--article-slug` for articles)
21
21
  b. `cms-edit snapshot` — identify components with visual/image/media fields
22
22
  c. For each image-bearing component:
23
23
  - `cms-edit read @ref` to inspect fields
@@ -40,20 +40,23 @@ To get the path to the full README (e.g. for an LLM to read): `cms-edit --docs`
40
40
  ### Step 1: Open a page
41
41
 
42
42
  ```bash
43
- # By slug
44
- cms-edit open /pricing
43
+ # By page slug (trailing slash OK)
44
+ cms-edit open --page-slug /pricing
45
+
46
+ # By page cmsLabel (when editors use cmsLabel heavily)
47
+ cms-edit open --page-cms-label "Pricing page"
45
48
 
46
49
  # By slug with explicit space
47
- cms-edit --space om1 open /pricing
50
+ cms-edit --space om1 open --page-slug /pricing
48
51
 
49
52
  # By Contentful entry ID
50
- cms-edit open 4xKj2abcDef --id
53
+ cms-edit open --id 4xKj2abcDef
51
54
 
52
55
  # Home page (slug is 'index')
53
- cms-edit open /
56
+ cms-edit open --page-slug /
54
57
  ```
55
58
 
56
- **Slug `open`:** matches **page**, **article**, **articleType**, and **tag** by `fields.slug` (in that order; first match wins). For **template** or **navigation**, use `open <id> --id` or `cms-edit nav open`.
59
+ **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.
57
60
 
58
61
  ### Step 2: Read the snapshot
59
62
 
@@ -236,7 +239,7 @@ Same as Component plus:
236
239
 
237
240
  When adding body content and a CTA (e.g. PDF download) to an article:
238
241
 
239
- 1. `cms-edit open <article-slug>` (or `open <id> --id`)
242
+ 1. `cms-edit open --article-slug <slug>` (or `open --id <id>`)
240
243
  2. Set body: `cms-edit rtf @<ref> body --markdown "..."` or `--markdown --file path/to.md`. If you need to add a body component first, use `add` then `rtf`.
241
244
  3. `cms-edit add CTA --target bottomContent`
242
245
  4. Set CTA links: use `--type external --label "Download PDF" --href <url>` for an external PDF URL, or `--type download --label "Download PDF" --asset-id <asset-id>` for a Contentful asset (get the ID from `cms-edit asset search "..."` or `asset info <id>`).
@@ -341,13 +344,14 @@ cms-edit set @c5 links linkId4 --links --append
341
344
 
342
345
  ## Assets
343
346
 
344
- **Content index:** Run `cms-edit index sync` once per space before asset search, media-by-filename list, asset audit, or `--if-exists-by-filename`. The same sync also indexes **templates**, **articleType**, **tagType**, and **tag** for fast `list --type` and taxonomy `--if-not-exists`. Default sync uses the **Preview API** (draft content). See `cms-edit help index-sync`.
347
+ **Content index:** Run `cms-edit index sync` once per space before asset search, media-by-filename list, asset audit, or `--if-exists-by-filename`. The same sync indexes the full **content catalog** (pages, articles, taxonomy, navigation, templates) for fast `list`, `open`, and `resolve`. Default sync uses the **Preview API** (draft content). See `cms-edit help index-sync` and `cms-edit help lookup`.
345
348
 
346
349
  ```bash
347
350
  cms-edit index sync
348
351
  cms-edit index status
352
+ cms-edit list --type page
349
353
  cms-edit list --type template
350
- cms-edit resolve --type tagType --slug topic
354
+ cms-edit resolve --tag-type-slug topic
351
355
 
352
356
  # Published-only index (optional)
353
357
  cms-edit index sync --published
@@ -381,8 +385,8 @@ JSON output for upload (`CMS_EDIT_JSON=1`): `{ ok, id, fileName, url, mediaId?,
381
385
  ## Navigation
382
386
 
383
387
  ```bash
384
- # Open a navigation entry
385
- cms-edit nav open main-navigation
388
+ # Open a navigation entry (navigation uses `name`, not slug)
389
+ cms-edit nav open --nav-name "Main navigation"
386
390
 
387
391
  # Add a new item
388
392
  cms-edit nav add --label "Pricing" --slug /pricing
@@ -414,7 +418,10 @@ cms-edit create article --slug /blog/my-post --title "My Post" --article-type-id
414
418
  # Create taxonomy entries (draft only)
415
419
  cms-edit create tag-type --slug conference-venue --name "Conference Venue"
416
420
  cms-edit create article-type --slug resources/publications --name "Publications"
417
- cms-edit create tag --slug poster-presentation --name "Poster Presentation" --tag-type presentation-type
421
+ cms-edit create tag --slug poster-presentation --name "Poster Presentation" --tag-type-slug presentation-type
422
+ # cmsLabel defaults to "<tagType name> — <tag name>" when --cms-label omitted
423
+ cms-edit create tag --slug easl-congress-2026 --name "EASL Congress 2026" --tag-type publication-source \
424
+ --description "Research presented at EASL Congress 2026." --featured-image <logoAssetId>
418
425
 
419
426
  # Full fields via JSON
420
427
  cms-edit create tag --json-file tag.json --tag-type presentation-type --if-not-exists
@@ -424,7 +431,8 @@ cms-edit create taxonomy-from-json --file taxonomy.json --if-not-exists
424
431
 
425
432
  # Idempotent single-entry creates
426
433
  cms-edit ensure tag-type --slug conference-venue --name "Conference Venue"
427
- cms-edit ensure tag --slug asco-2025 --name "ASCO 2025" --tag-type conference-venue
434
+ cms-edit ensure tag --slug asco-2025 --name "ASCO 2025" --tag-type conference-venue \
435
+ --description "Annual ASCO conference." --featured-image <logoAssetId>
428
436
  ```
429
437
 
430
438
  See `cms-edit help fields-taxonomy` and `cms-edit help taxonomy-from-json` for field reference and batch schema.
@@ -433,10 +441,11 @@ See `cms-edit help fields-taxonomy` and `cms-edit help taxonomy-from-json` for f
433
441
 
434
442
  ```bash
435
443
  # Resolve taxonomy IDs without a session
436
- cms-edit resolve --type tag-type --slug presentation-type
444
+ cms-edit resolve --tag-type-slug presentation-type
445
+ cms-edit resolve --tag-name "ASCO 2025" --tag-type-name "Conference Venue"
437
446
  ```
438
447
 
439
- `resolve --type` accepts `page`, `article`, `articleType`, `tagType`, `tag` (kebab aliases such as `tag-type`).
448
+ Use flat flags: `--page-slug`, `--article-cms-label`, `--tag-slug`, `--template-label`, etc. (`cms-edit help lookup`).
440
449
 
441
450
  ## Search and Discovery
442
451
 
@@ -455,11 +464,11 @@ cms-edit list --type article --slug my-article # article with a specific slug
455
464
  cms-edit list --type article --has-field tags # articles where tags field is non-empty
456
465
 
457
466
  # Resolve any entry or asset by ID (no open session required)
458
- cms-edit resolve 4xKj2abcDefGhijK # entry: shows type, title, slug, status
459
- cms-edit resolve 7pQrStuvWxyzAbc # asset: shows title, fileName, URL
460
- cms-edit resolve --type tagType --slug presentation-type
461
- cms-edit resolve --type tag --slug asco-2025
462
- cms-edit resolve <id> --json # full Contentful object
467
+ cms-edit resolve --id 4xKj2abcDefGhijK # entry: shows type, title, slug, status
468
+ cms-edit resolve --id 7pQrStuvWxyzAbc # asset: shows title, fileName, URL
469
+ cms-edit resolve --tag-type-slug presentation-type
470
+ cms-edit resolve --tag-slug asco-2025 --tag-type-slug conference-venue
471
+ cms-edit resolve --tag-type-slug presentation-type --json
463
472
 
464
473
  # Find Media entries by asset
465
474
  cms-edit list --type media --asset-id 7pQrStuvWxyzAbc
@@ -479,8 +488,8 @@ cms-edit resolve <tag-entry-id>
479
488
 
480
489
  ```bash
481
490
  # Specify space explicitly
482
- cms-edit --space brightline open /home
483
- cms-edit --space om1 open /pricing
491
+ cms-edit --space brightline open --page-slug /home
492
+ cms-edit --space om1 open --page-slug /pricing
484
493
  ```
485
494
 
486
495
  Or set `CMS_EDIT_SPACE=om1` environment variable.
@@ -489,7 +498,7 @@ Or set `CMS_EDIT_SPACE=om1` environment variable.
489
498
 
490
499
  ```bash
491
500
  # 1. Open the page
492
- cms-edit open /about-us
501
+ cms-edit open --page-slug /about-us
493
502
 
494
503
  # 2. Find the hero component
495
504
  cms-edit snapshot
@@ -515,7 +524,7 @@ cms-edit save
515
524
 
516
525
  ### Update an existing article
517
526
  ```bash
518
- cms-edit open /blog/old-title --id # or by slug
527
+ cms-edit open --article-slug /blog/old-title # or cms-edit open --id <id>
519
528
  cms-edit set @p0 title "New Article Title" # @p0 works in article sessions too
520
529
  cms-edit set @p0 slug new-article-slug
521
530
  cms-edit set @p0 description "Updated description"
@@ -524,7 +533,7 @@ cms-edit save
524
533
 
525
534
  ### Add a new section to a page
526
535
  ```bash
527
- cms-edit open /products
536
+ cms-edit open --page-slug /products
528
537
  cms-edit types component # discover what's available
529
538
  cms-edit add CTA --after @c3
530
539
  cms-edit set @c4 heading "Ready to get started?"
@@ -535,7 +544,7 @@ cms-edit save
535
544
 
536
545
  ### Reorder page sections
537
546
  ```bash
538
- cms-edit open /home
547
+ cms-edit open --page-slug /home
539
548
  cms-edit snapshot # see current order
540
549
  cms-edit move @c3 --after @c1 # move section 3 to position 2
541
550
  cms-edit save
@@ -682,8 +691,8 @@ cms-edit sitemap --include page,article # Include articles too
682
691
  Inspect a page without affecting your active session.
683
692
 
684
693
  ```bash
685
- cms-edit peek /pricing # Show snapshot of /pricing; your active session is unchanged
686
- cms-edit peek <id> --id # Look up by entry ID
694
+ cms-edit peek --page-slug /pricing # Show snapshot of /pricing; your active session is unchanged
695
+ cms-edit peek --id <entryId> # Look up by entry ID
687
696
  ```
688
697
 
689
698
  ## Batch Operations (run)
@@ -864,8 +873,8 @@ cms-edit sitemap --include page,article # Include articles
864
873
  Use `--session <name>` or `CONTENTFUL_CMS_SESSION=<name>` to isolate parallel workflows.
865
874
 
866
875
  ```bash
867
- cms-edit --session agent-1 open /pricing
868
- cms-edit --session agent-2 open /blog
876
+ cms-edit --session agent-1 open --page-slug /pricing
877
+ cms-edit --session agent-2 open --article-slug /blog
869
878
  ```
870
879
 
871
880
  ## Related skills
@@ -10,7 +10,7 @@ Use this skill when creating or editing **navigation** entries and their items i
10
10
  ## Workflow
11
11
 
12
12
  1. **Create** a navigation: `cms-edit create navigation --label 'Main menu'`
13
- 2. **Open** the nav: `cms-edit nav open <slug-or-id>` (or after create, use the printed open command)
13
+ 2. **Open** the nav: `cms-edit nav open --nav-name "Main menu"` or `cms-edit nav open --nav-id <id>` (printed after create/clone)
14
14
  3. **Add items** (new or existing):
15
15
  ```bash
16
16
  # Create a new nav item with a page link
@@ -48,7 +48,7 @@ This creates new copies of every NavigationItem and links them into the new navi
48
48
  In a navigation session, the root navigation entry is **`@c0`** (or the universal alias **`@root`**). The `@p0` alias only works in page/article sessions.
49
49
 
50
50
  ```bash
51
- cms-edit nav open main-navigation
51
+ cms-edit nav open --nav-name "Main menu"
52
52
  cms-edit snapshot # root is @c0; items are @c1, @c2, …
53
53
  cms-edit read @root # same as @c0
54
54
  ```
@@ -73,7 +73,7 @@ cms-edit set @c0 visual <media-entry-id> --link
73
73
  Navigation entries are often linked from templates as **menu** or **footer**:
74
74
 
75
75
  ```bash
76
- cms-edit open <template-id> --id
76
+ cms-edit open --id <template-id>
77
77
  cms-edit set @root menu <nav-entry-id> --link
78
78
  cms-edit set @root footer <footer-nav-id> --link
79
79
  cms-edit save
@@ -19,7 +19,7 @@ If no brand context is available, ask the user about their brand voice and targe
19
19
  2. **For each page** (or a specific page):
20
20
  a. **Read page content** using `fetch_page_markdown` (from the site-workflows MCP server) to understand what the page covers
21
21
  b. **Check current SEO**:
22
- - `cms-edit open /<slug>`
22
+ - `cms-edit open --page-slug /<slug>` (or `--article-slug` for articles)
23
23
  - `cms-edit read @page seoDescription` (or `read @page` for all fields)
24
24
  c. **Analyse** the page — primary purpose, problem it solves, desired user action
25
25
  d. **Generate** a meta description following the guidelines below
@@ -11,7 +11,7 @@ Use this skill when creating or editing **templates** (layout shells with preCon
11
11
 
12
12
  1. **Create** a template: `cms-edit create template --label 'Campaign Landing'`
13
13
  2. **List** templates: `cms-edit list --type template`
14
- 3. **Open** by ID: `cms-edit open <template-id> --id`
14
+ 3. **Open** by cmsLabel or ID: `cms-edit open --template-label "Default"` or `cms-edit open --id <template-id>`
15
15
  4. Edit content: set **preContent** and **postContent** (content arrays) via session snapshot refs; use `add`, `set`, `remove`, `move` as for pages. Set **menu** and **footer** (single navigation links) with `cms-edit set @ref menu <nav-entry-id> --link` and same for `footer`.
16
16
  5. Set **colours**: `cms-edit set @ref backgroundColour Navy`, `cms-edit set @ref textColour White` (or project colour names).
17
17
  6. **Save**: `cms-edit save`