Official agent skill

Update Models

by SAP in SAP/ai-sdk-js

Sync model types from SAP Notes 3437766. An agent skill from SAP/ai-sdk-js.

OfficialApache-2.0Auto-check passedTesting & QA

Install Update Models

skills CLI
$ npx skills add SAP/ai-sdk-js --skill update-models -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install SAP/ai-sdk-js update-models --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/SAP/ai-sdk-js.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/update-models .claude/skills/update-models && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
update-models
GitHub stars
126
Token cost
~2.4k tokens
SKILL.md length
1,064 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
Apache-2.0

At a glance

Sync model types from SAP Notes 3437766. An agent skill from SAP/ai-sdk-js.

  • Works in 8 steps: Navigate to the SAP Notes page using the… → Extract the model tables (then close the… → Patch model-types.ts by running the sync… → …
  • Model-types.ts needs updating from the latest SAP AI model availability table
  • SKILL.md covers Steps and Prerequisites
  • Calls git, gh and pnpm; reaches me.sap.com

What it does

Update Models is an agent skill from SAP/ai-sdk-js, published by the product's own GitHub organization. Sync model types from SAP Notes 3437766. Use when model-types.ts needs updating from the latest SAP AI model availability table.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA. It works with JavaScript and Playwright. The repository describes itself as: SAP Cloud SDK for AI is the official Software Development Kit (SDK) for SAP AI Core, SAP Generative AI Hub, and Orchestration Service. The licence is Apache-2.0.

When your agent uses it

  • Model-types.ts needs updating from the latest SAP AI model availability table

Example prompts

  • “/update-models”

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Navigate to the SAP Notes page using the Playwright MCP tool
  2. Extract the model tables (then close the browser tab when done)
  3. Patch model-types.ts by running the sync script
  4. Sync the deprecated models table in docs-js/overview.mdx (SAP/ai-sdk repository)
  5. Check for deprecated model usage in the ai-sdk-js codebase
  6. Show the ai-sdk-js diff to the user
  7. Ask the user if they want to open PRs with these changes.
  8. If yes, create branches and open PRs — one per repository

What it can do on your machine

Read from SKILL.md and the folder at commit 646fb8d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh
    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • me.sap.com

    Also links to:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Update Models loads about 2.4k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 1,064 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~36
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from SAP/ai-sdk-js at commit 646fb8d, republished under its Apache-2.0 licence (© SAP). 1,064 words, ~2,416 tokens.

Download SKILL.mdSave it as .claude/skills/update-models/SKILL.md (or your agent's skills folder).
name
update-models
description
Sync model types from SAP Notes 3437766. Use when model-types.ts needs updating from the latest SAP AI model availability table.
argument-hint
[no arguments needed]

Update Model Types from SAP Notes

Syncs packages/core/src/model-types.ts and the deprecated models table in the SAP/ai-sdk docs with the current model table on SAP Notes (me.sap.com/notes/3437766).

Steps

  1. Navigate to the SAP Notes page using the Playwright MCP tool:

    • Use browser_navigate to go to https://me.sap.com/notes/3437766
    • Use browser_wait_for to wait for Availability of Generative AI Models
    • If the page shows a login screen, tell the user to log in to me.sap.com in the Playwright browser window and wait for their confirmation, then retry.
  2. Extract the model tables (then close the browser tab when done):

    • Read scripts/extract-model-table.js and pass its contents as the function body to browser_evaluate.
    • The script returns either { active: [...], retired: [...], batch: [...] } (success) or { error: '...' } (failure).
    • If the result is an error or result.active is empty, the session has expired — tell the user to log in to me.sap.com in the Playwright browser window and wait for their confirmation, then retry.
    • On success, sync models into scripts/sap-models.json:
      • Remove duplicate scraped rows, keeping the latest version first: both tables include a Version column. When result.active or result.retired contains multiple rows for the same model name, compare their version strings and keep only the row with the latest version (use your judgment — versions may be date-like 2024-11-20, semantic 1.2, or arbitrary strings; pick the one a human would call newest). Discard the older-versioned rows entirely.
      • Status is determined by the latest version only: if the latest-versioned row of a model is active (not deprecated/retired), treat the model as active even if older-versioned rows are marked deprecated or retired. Conversely, only treat a model as deprecated/retired when its latest version carries that status.
      • For each de-duplicated model in result.active: update the existing entry matched by model field (update all fields including version), or append it if not already present. Clear the retired field (set to "") if it was previously set.
      • For each de-duplicated model in result.retired: if already present in sap-models.json, set retired: "yes" and update suggestedReplacement and version from result.retired. If not present at all, append a new entry with retired: "yes" and the fields from result.retired (set availableInOrchestration: "", deprecated: "", retirementDate: "").
      • Do not remove any entries from sap-models.json — retired models stay in the file with retired: "yes".
      • If both result.active and result.retired list a model (after per-table de-duplication), treat it as retired.
      • After merging, verify no duplicate model values exist in sap-models.json. If any remain, remove the older/less-complete entry and report the duplicate removal to the user.
    • Sync batch models into the batchModels key of scripts/sap-models.json:
      • result.batch is a string array of model names from the SAP Notes "Batch Consumption Supported Models" section.
      • The SAP Notes batch list is authoritatively incomplete — the LLM batch service supports models not listed there. The batchModels key in sap-models.json is the ground truth and must never be shrunk by a scrape.
      • Merge non-destructively: take the union of the existing batchModels array and result.batch, de-duplicated and sorted ascending. Add any scraped model not already in the array.
      • Never auto-remove a model that is in batchModels but absent from result.batch — it is likely a service-only model the SAP Notes omit. Instead, list those models to the user and let them decide whether to remove any. Only remove on explicit user confirmation.
      • If result.batch is empty (section not found), keep batchModels unchanged and warn the user.
      • When you later run pnpm tsx scripts/sync-model-types.ts, it now emits a ⚠ Batch model "..." warning for any batchModels entry that is retired/excluded for chat. Review each warning and decide whether to remove that entry (still manual — the script never auto-removes).
    • Close the browser tab using browser_close to avoid stale session issues on future runs.
  3. Patch model-types.ts by running the sync script:

    bash
    pnpm tsx scripts/sync-model-types.ts

    If the output ends with a ⚠ Skipped N model(s) warning, show the user the listed model names and their executableId values and ask whether they want to add a mapping. If yes, add the appropriate entry to EXECUTABLE_ID_TO_TYPE in scripts/sync-model-types.ts and re-run the script before proceeding. The script also checks which synced models are available in your landscape using the foundation-models API.

  4. Sync the deprecated models table in docs-js/overview.mdx (SAP/ai-sdk repository):

    a. Clone the SAP/ai-sdk repository into a temp directory:

    bash
    DOCS_DIR=$(mktemp -d)
    git clone --depth=1 https://github.com/SAP/ai-sdk "$DOCS_DIR"

    b. Using the Edit tool, make the following targeted changes to $DOCS_DIR/docs-js/overview.mdx:

    • Remove rows where the model has retired: "yes" in sap-models.json — note removed models to the user. Only list models that are still active (not retired) but deprecated (deprecated: "yes" or retirement date set in sap-models.json). Fully retired models must be removed from the table.
    • Update the replacement cell of any existing row whose replacement differs from the script output. If the replacement is not listed in sap-models.json add it as <!-- MODEL_NAME --> in the cell so the user can decide how to handle it.
    • Append rows for newly deprecated models (not yet in the table) to the bottom, one per line. Preserve existing row order — new entries go at the end.

    c. Use the Edit tool to replace the entire markdown table (header row through last data row) in $DOCS_DIR/docs-js/overview.mdx. Write rows without padding — lint:fix will normalize column widths.

    d. Run install, lint fix, and build to verify:

    bash
    cd "$DOCS_DIR" && npm ci && npm run lint:fix && npm run build

    If any step fails, show the error to the user and stop.

    e. Show the diff:

    bash
    git -C "$DOCS_DIR" diff docs-js/overview.mdx
  5. Check for deprecated model usage in the ai-sdk-js codebase:

    • From scripts/sap-models.json, collect names of all models where retired is "yes", deprecated is "yes", or a retirement date is set.
    • Grep the repository for any of those model names (exclude scripts/sap-models.json itself, packages/core/src/model-types.ts, OpenAPI specs and generated files like packages/*/src/client/**/*.ts).
    • If matches are found, report them to the user so they can decide whether to update or remove those usages.
  6. Show the ai-sdk-js diff to the user:

    bash
    git diff packages/core/src/model-types.ts

    If neither file changed, tell the user everything is already up to date and stop.

  7. Ask the user if they want to open PRs with these changes.

  8. If yes, create branches and open PRs — one per repository:

    ai-sdk-js (model types):

    bash
    git checkout -b model-types-update/$(date +%Y-%m-%d)
    git add scripts/sap-models.json packages/core/src/model-types.ts
    git commit -m "chore: sync model types from SAP Notes 3437766"
    gh pr create --draft --base main --title "chore: Sync model types from SAP Notes" --body "Automated sync of model types from [SAP Notes 3437766](https://me.sap.com/notes/3437766).\n\n## Changes\n\nUpdated LiteralUnion type blocks in \`packages/core/src/model-types.ts\` to reflect current model availability.\n\n## Definition of Done\n- [ ] Model names are correct\n- [ ] Compilation passes\n- [ ] Release notes / Changeset updated if needed"

    SAP/ai-sdk (docs), if docs-js/overview.mdx changed:

    bash
    BRANCH="docs/update-deprecated-models-js-$(date +%Y-%m-%d)"
    git -C "$DOCS_DIR" checkout -b "$BRANCH"
    git -C "$DOCS_DIR" add docs-js/overview.mdx
    git -C "$DOCS_DIR" commit -m "docs: update deprecated models table"
    git -C "$DOCS_DIR" push origin "$BRANCH"
    gh pr create --draft --repo SAP/ai-sdk --base main --head "$BRANCH" \
      --title "docs: Update deprecated models table" \
      --body "Sync of the deprecated models table in \`docs-js/overview.mdx\` from [SAP Notes 3437766](https://me.sap.com/notes/3437766).\n\n## Changes\n\n- Added newly deprecated models\n- Removed retired models (no longer listed in SAP Notes)\n- Updated replacement suggestions\n\n## Definition of Done\n- [ ] Table entries are correct\n- [ ] Retired models removed\n- [ ] Replacement suggestions accurate"
Show full SKILL.md (51 more words)Show less

Prerequisites

  • playwright@claude-plugins-official must be enabled as a Claude Code plugin — install it via /plugin in Claude Code
  • gh CLI must be authenticated: run gh auth login if not already done
  • First run: me.sap.com credentials required for manual login in the Playwright browser window (the session is saved automatically for future runs)

© SAP, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/update-models of SAP/ai-sdk-js.

Open the folder on GitHubat commit 646fb8d

Compare with similar skills

Update Models next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Update Models compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Update Models this skillSAP/ai-sdk-js126—~2.4kAutomated safety check: PassApache-2.0
Playwright Coretestdino-hq/playwright-skill3851 repos~1.4kAutomated safety check: PassMIT
Anti Detect Browserantibrow/anti-detect-browser-skills914—~9.8kAutomated safety check: WarnMIT
Test Suite Analysisprime-radiant-inc/greenfield292—~3.2kAutomated safety check: PassApache-2.0
Playwrightsecondsky/claude-skills227—~3.7kAutomated safety check: NotesMIT
Angular TestingKilo-Org/kilo-marketplace189—~2.9kAutomated safety check: PassMIT

Similar skills

  • Playwright Core

    testdino-hq/playwright-skill

    Battle-tested Playwright patterns for writing and debugging reliable E2E, API, component, visual, accessibility, and security tests.

    385 GitHub starsUsed in 1 repo~1.4k tokens
    Testing & QAAuto-check passed
  • Anti Detect Browser

    antibrow/anti-detect-browser-skills

    Drive Chromium from standard Playwright APIs with a real-device fingerprint applied in the kernel, one persistent isolated profile per identity, and a per-profile proxy whose exit IP sets timezone…

    914 GitHub stars~9.8k tokensUpdated 1 mo ago
    Testing & QAAuto-check: warnings
  • Test Suite Analysis

    prime-radiant-inc/greenfield

    Layer 1 skill for extracting behavioral intelligence from test suites.

    292 GitHub stars~3.2k tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Playwright

    secondsky/claude-skills

    Browser automation and E2E testing with Playwright. An agent skill from secondsky/claude-skills.

    227 GitHub stars~3.7k tokensUpdated 9 days ago
    Testing & QAAuto-check: notes
  • Angular Testing

    Kilo-Org/kilo-marketplace

    Write unit and integration tests for Angular v20+ applications using Vitest or Jasmine with TestBed and modern testing patterns.

    189 GitHub stars~2.9k tokensUpdated 9 days ago
    Testing & QAAuto-check passed
  • Ego Browser

    kwakseongjae/oh-my-design

    When you need a browser, read this Skill by default. An agent skill from kwakseongjae/oh-my-design.

    531 GitHub starsUsed in 1 repo~4.9k tokens
    Productivity & AutomationAuto-check passed

More from SAP/ai-sdk-js

  • Review Spec Update

    SAP/ai-sdk-js

    Official

    Review a spec-update branch — classify breaking changes, write [compat] changesets, and fix parameter-order patches.

    126 GitHub stars~3.1k tokensUpdated today
    Auto-check passed

Categories

Questions about Update Models

What does Update Models do?

Sync model types from SAP Notes 3437766. An agent skill from SAP/ai-sdk-js. Update Models is an agent skill from SAP/ai-sdk-js, published by the product's own GitHub organization. Sync model types from SAP Notes 3437766.

When should I use Update Models?

Update Models fits situations like: model-types.ts needs updating from the latest SAP AI model availability table.

How do I install Update Models in Claude Code?

Run `npx skills add SAP/ai-sdk-js --skill update-models -a claude-code`. Or copy the skill folder (.claude/skills/update-models in SAP/ai-sdk-js) into .claude/skills/update-models in your project. Claude Code loads it when a task matches its description.

How do I install Update Models in Codex?

Run `npx skills add SAP/ai-sdk-js --skill update-models -a codex`. Or copy the skill folder (.claude/skills/update-models in SAP/ai-sdk-js) into .agents/skills/update-models in your project. Codex loads it when a task matches its description.

Can I use Update Models in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add SAP/ai-sdk-js --skill update-models -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/update-models, .gemini/skills/update-models, .github/skills/update-models and .opencode/skills/update-models in your project.

What does Update Models need to run?

Going by SKILL.md and its folder, Update Models needs the command-line tools its instructions call (git, gh and pnpm).

Does Update Models access the network?

SKILL.md names 2 domains. In commands or code: me.sap.com; the agent is likely to contact it when it follows the instructions. As links in the text: github.com. This is read from the text; nothing was executed.

Is Update Models safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Update Models use?

Update Models is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Update Models use?

About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Update Models?

Skills that share tags, products or a category with Update Models: Playwright Core (testdino-hq/playwright-skill, 385 stars), Anti Detect Browser (antibrow/anti-detect-browser-skills, 914 stars), Test Suite Analysis (prime-radiant-inc/greenfield, 292 stars) and Playwright (secondsky/claude-skills, 227 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Update Models?

SAP (a GitHub organization, an official publisher) maintains it in SAP/ai-sdk-js, which has 126 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 7, 2026.

Source: SAP/ai-sdk-js on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.