93 Commits

Author SHA1 Message Date
contentful-automation[bot] bca9b47e24 chore(release): v1.2.0 1.2.0 2026-04-24 08:04:56 +00:00
Tim Beyer 9ae82907fd Merge pull request #28 from contentful/feat/composite-personalization-skill
feat(optimization): composite contentful-personalization skill
2026-04-24 10:02:26 +02:00
Tim Beyer f517be7f37 chore(optimization): remove old individual personalization skills
Remove contentful-personalization-{readiness,setup,doctor,dev} skills
and their source, superseded by the composite contentful-personalization
skill.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-24 09:24:40 +02:00
Tim Beyer fdf720c799 feat(optimization): add composite contentful-personalization skill
Consolidate personalization/optimization skills into a single composite
skill using skill-kit's .subskill() and .topic() API. This replaces the
need for separate readiness, setup, doctor, dev, and context-dispatcher
skills with one unified entry point.

Three sub-skills:
- onboard: readiness assessment + guided setup (12-step state machine)
- doctor: diagnostics + debugging with fix loop (11 steps)
- develop: lightweight day-to-day dev companion (3 steps)

14 reference topics for quick lookups (SDK APIs, patterns, errors, etc.)

5 deterministic actions: check-packages-env, check-api, validate-setup,
install-packages, write-env-file.

19 shared reference files: 10 carried over, 4 merged from overlapping
sources (env vars, provider, middleware, components), 5 distilled from
internal Ninetailed references.

Bumps @contentful/skill-kit from 0.1.10 to 0.4.0 for composite support.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-23 18:29:55 +02:00
contentful-automation[bot] 61d8ff773c chore(release): v1.1.1 1.1.1 2026-04-21 14:59:01 +00:00
François 116f02f667 Merge pull request #18 from contentful/renovate/pin-dependencies
chore(deps): pin hashicorp/vault-action action to 4c06c5c
2026-04-21 16:58:27 +02:00
renovate[bot] fcb8c654dc chore(deps): pin hashicorp/vault-action action to 4c06c5c 2026-04-21 14:25:39 +00:00
contentful-automation[bot] 813dd31361 chore(release): v1.1.0 1.1.0 2026-04-21 14:23:50 +00:00
Tim Beyer d933748fe7 Merge pull request #21 from contentful/feat/optimization-doctor-node-mode
build(optimization-doctor): switch to node mode [NT-2952]
2026-04-21 16:23:18 +02:00
Tim Beyer ee61cc96d9 Merge pull request #27 from contentful/fix/release-workflow
fix(release): write npmrc to home dir and skip release commits
2026-04-21 16:16:12 +02:00
Tim Beyer 9affddc4ef fix(release): write npmrc to home dir and skip release commits
The tracked .npmrc was being overwritten, dirtying the working dir.
Write auth token to $HOME/.npmrc instead. Also skip chore(release):
commits to prevent infinite workflow loops.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 16:14:53 +02:00
Tim Beyer 339d5d81ac build(contentful-personalization-doctor): rebuild with skill-kit 0.1.10 (treeshake + minify) [NT-2952]
Bundle size: 568KB → 339KB.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 16:12:23 +02:00
Tim Beyer c557cc9331 Merge pull request #26 from contentful/chore/catalog-info
chore: add Backstage catalog-info.yaml
2026-04-21 16:12:07 +02:00
Tim Beyer 65424385d5 build(contentful-personalization-doctor): rebuild with node mode [NT-2952]
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 16:12:03 +02:00
Tim Beyer 95c9cfc9c4 build(optimization-doctor): switch to node mode, drop platform binaries [NT-2952]
Use skill-kit --mode node to produce a single .mjs bundle (~568KB) that
runs on the host's Node.js instead of self-contained Bun binaries (~152MB).
Requires Node.js >= 24 on the consumer's machine.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 16:12:03 +02:00
Tim Beyer 1d2f41c1c4 chore: add Backstage catalog-info.yaml
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 16:08:12 +02:00
Tim Beyer d7fe11a562 Merge pull request #25 from contentful/chore/vault-secrets-config
chore: add Vault secrets config for release workflow
2026-04-21 16:00:37 +02:00
Tim Beyer 74ea8e8a4a chore: add Vault secrets config for release workflow
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 15:59:54 +02:00
Tim Beyer 857b0f94d7 Merge pull request #24 from contentful/feat/release-automation
feat(release): [NT-3025] add release-it automation with lockstep versioning
2026-04-21 15:54:35 +02:00
Tim Beyer b8a108d666 chore(release): use Vault secrets and automation bot for release workflow
Replace GITHUB_TOKEN with Vault-managed secrets for GitHub token and
npm registry auth. Use contentful-automation[bot] for git identity.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 15:52:17 +02:00
Tim Beyer 7511337723 feat(release): use conventional-changelog for automated bump type
Downgrade release-it to v19 for peer compat with
@release-it/conventional-changelog. Bump type is now determined
automatically from conventional commits (feat→minor, fix→patch,
BREAKING CHANGE→major). Workflow triggers on push to main.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 15:44:44 +02:00
Tim Beyer bc4af1c0d4 feat(release): add release-it automation with lockstep versioning
Adds release-it with @release-it/bumper to bump all skill package.json
files, plugin manifests, and marketplace configs in lockstep. Includes a
manual-dispatch GitHub Actions workflow for patch/minor/major releases.
Aligns all versions to 1.0.0 as baseline.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 15:31:27 +02:00
François e83b8c018a Merge pull request #23 from contentful/chore/oss-default-baseline
chore(oss): add baseline OSS docs and license automation [NT-3026]
2026-04-21 15:19:13 +02:00
Francois Le Pape d428b5b891 chore(oss): treat skill-kit as MIT in license automation 2026-04-21 15:14:21 +02:00
Francois Le Pape abf1c36c7b chore(oss): add OSS defaults and license automation 2026-04-21 15:10:06 +02:00
François b59d75479d Merge pull request #22 from contentful/feat/nt-2953-plugin-packaging
feat: package skills repo as Claude/Cursor plugin [NT-2953]
2026-04-21 14:56:09 +02:00
Francois Le Pape cfffbfff10 update copy 2026-04-21 14:53:24 +02:00
Francois Le Pape 4ca8db479d feat(plugins): package skills for claude and cursor marketplaces [NT-2953] 2026-04-21 14:50:57 +02:00
François c8c311c58c Merge pull request #20 from contentful/refactor/flatten-and-rename-skills
refactor: flatten skills dir, rename optimization to contentful-personalization []
2026-04-21 09:41:19 +02:00
Francois Le Pape 3b7ad78d68 refactor: flatten skills directory and rename optimization-* to contentful-personalization-*
Remove grouping directories (contentful/, optimization/) and place all
skills directly under skills/. Rename the four optimization skills to use
the contentful-personalization-* prefix for consistency and better agent
discovery without nested directory support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 09:37:15 +02:00
renovate[bot] ce4865b855 chore(deps): update pnpm/action-setup action to v5 (#19)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-20 16:26:36 +00:00
François 37133f2d54 Merge pull request #16 from contentful/docs/optimization-sdk-key-location
docs(optimization): add where to find SDK credentials []
2026-04-20 18:19:52 +02:00
Francois Le Pape 4c7220b2a7 fix(docs): remove NEXT_PUBLIC_NINETAILED_CLIENT_ID from optimization-setup
The env var name is implementation-specific; the docs should just
reference the Client ID generically.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 18:15:21 +02:00
François 8f93255193 Merge branch 'main' into docs/optimization-sdk-key-location 2026-04-20 18:09:28 +02:00
François 283fbc2481 Merge pull request #17 from contentful/refactor/local-skills-workflow
refactor: move internal skills to local-skills with symlink workflow []
2026-04-20 18:09:14 +02:00
François a25352ad17 Merge branch 'main' into refactor/local-skills-workflow 2026-04-20 18:08:24 +02:00
Francois Le Pape bacb3da3ff fix(ci): update validate workflow to reference local-skills path
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 18:06:51 +02:00
Francois Le Pape 2c94f7ba22 refactor: move internal skills to local-skills with symlink workflow
The .agents directory is now gitignored and created locally via symlink,
preventing internal-only skills from being distributed when users install
the package. Adds CONTRIBUTING.md documenting the local dev setup.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 18:03:43 +02:00
François 39ae09b1ce Merge pull request #14 from contentful/feat/optimization-doctor
feat(optimization): add optimization-doctor skill [NT-2952]
2026-04-20 18:03:09 +02:00
Francois Le Pape 4dd42b58b1 docs 2026-04-20 17:55:43 +02:00
François b6e486a6eb Merge branch 'main' into feat/optimization-doctor 2026-04-20 17:41:45 +02:00
Francois Le Pape ffb5dc2903 docs(optimization): add where to find SDK credentials
Prevents Claude from hallucinating app.ninetailed.io by documenting
the actual location: Organization settings > Optimization > Data
sources and metrics > SDK keys.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 17:40:16 +02:00
Tim Beyer 41f72f4d35 build(optimization-doctor): rebuild with v0.1.7 and dedented prompts [NT-2952]
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 17:37:28 +02:00
Tim Beyer 062f2e5f81 style(optimization-doctor): use natural indentation in prompt templates [NT-2952]
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 17:33:12 +02:00
Tim Beyer b944742a98 refactor(optimization-doctor): simplify with skill-kit v0.1.7 features [NT-2952]
- Remove triage step: use action output in next() transition directly
- Use afterAction to stash scan and API results (no more untyped history casts)
- Use getStep typed accessor in prompts and render
- Remove all maxVisits/onMaxVisits (no cycles in this workflow)
- Use triggers field instead of cramming keywords into description

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 17:29:15 +02:00
François 3504ec024b Merge pull request #15 from contentful/docs/contentful-mcp-notes
docs(contentful): add Contentful MCP guidance notes
2026-04-20 16:57:10 +02:00
Francois Le Pape 8b38eab013 docs(contentful): add Contentful MCP guidance 2026-04-20 16:55:51 +02:00
Tim Beyer 7d7fda1142 feat(optimization): add optimization-doctor skill [NT-2952]
First skill-kit skill in this repo. Adds TypeScript infrastructure
(package.json, tsconfig, CI) and the optimization-doctor diagnostic
workflow that scans for Ninetailed personalization issues using a
hybrid approach: deterministic file-system scan + conditional agentic
deep search for ambiguous patterns.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 15:43:36 +02:00
François 7877e19dff Merge pull request #13 from contentful/docs/explicit-skill-name-refs
docs(skills): replace shorthand skill refs with explicit skill names
2026-04-20 14:33:32 +02:00
Francois Le Pape 1ea53320a2 docs(skills): replace shorthand skill refs with explicit skill names 2026-04-20 14:28:56 +02:00