Playwright Core
testdino-hq/playwright-skill
Battle-tested Playwright patterns for writing and debugging reliable E2E, API, component, visual, accessibility, and security tests.
Sync model types from SAP Notes 3437766. An agent skill from SAP/ai-sdk-js.
$ npx skills add SAP/ai-sdk-js --skill update-models -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install SAP/ai-sdk-js update-models --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "update-models" agent skill from https://github.com/SAP/ai-sdk-js/tree/main/.claude/skills/update-models into .claude/skills/update-models/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-models", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/SAP/ai-sdk-js/tree/main/.claude/skills/update-modelsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add SAP/ai-sdk-js --skill update-models -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install SAP/ai-sdk-js update-models --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SAP/ai-sdk-js.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/update-models .agents/skills/update-models && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "update-models" agent skill from https://github.com/SAP/ai-sdk-js/tree/main/.claude/skills/update-models into .agents/skills/update-models/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-models", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add SAP/ai-sdk-js --skill update-models -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install SAP/ai-sdk-js update-models --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SAP/ai-sdk-js.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/update-models .cursor/skills/update-models && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "update-models" agent skill from https://github.com/SAP/ai-sdk-js/tree/main/.claude/skills/update-models into .cursor/skills/update-models/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-models", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/SAP/ai-sdk-js.git --path .claude/skills/update-models--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add SAP/ai-sdk-js --skill update-models -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install SAP/ai-sdk-js update-models --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SAP/ai-sdk-js.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/update-models .gemini/skills/update-models && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "update-models" agent skill from https://github.com/SAP/ai-sdk-js/tree/main/.claude/skills/update-models into .gemini/skills/update-models/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-models", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install SAP/ai-sdk-js update-modelsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add SAP/ai-sdk-js --skill update-models -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/SAP/ai-sdk-js.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/update-models .github/skills/update-models && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "update-models" agent skill from https://github.com/SAP/ai-sdk-js/tree/main/.claude/skills/update-models into .github/skills/update-models/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-models", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add SAP/ai-sdk-js --skill update-models -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install SAP/ai-sdk-js update-models --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SAP/ai-sdk-js.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/update-models .opencode/skills/update-models && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "update-models" agent skill from https://github.com/SAP/ai-sdk-js/tree/main/.claude/skills/update-models into .opencode/skills/update-models/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-models", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
update-modelsSync 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. 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.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 646fb8d. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitghpnpmFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
me.sap.comAlso links to:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
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.
.claude/skills/update-models/SKILL.md (or your agent's skills folder).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).
Navigate to the SAP Notes page using the Playwright MCP tool:
browser_navigate to go to https://me.sap.com/notes/3437766browser_wait_for to wait for Availability of Generative AI ModelsExtract the model tables (then close the browser tab when done):
scripts/extract-model-table.js and pass its contents as the function body to browser_evaluate.{ active: [...], retired: [...], batch: [...] } (success) or { error: '...' } (failure).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.scripts/sap-models.json: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.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.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: "").sap-models.json — retired models stay in the file with retired: "yes".result.active and result.retired list a model (after per-table de-duplication), treat it as retired.model values exist in sap-models.json. If any remain, remove the older/less-complete entry and report the duplicate removal to the user.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.batchModels key in sap-models.json is the ground truth and must never be shrunk by a scrape.batchModels array and result.batch, de-duplicated and sorted ascending.
Add any scraped model not already in the array.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.result.batch is empty (section not found), keep batchModels unchanged and warn the user.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).browser_close to avoid stale session issues on future runs.Patch model-types.ts by running the sync script:
pnpm tsx scripts/sync-model-types.tsIf 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.
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:
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:
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.sap-models.json add it as <!-- MODEL_NAME --> in the cell so the user can decide how to handle it.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:
cd "$DOCS_DIR" && npm ci && npm run lint:fix && npm run buildIf any step fails, show the error to the user and stop.
e. Show the diff:
git -C "$DOCS_DIR" diff docs-js/overview.mdxCheck for deprecated model usage in the ai-sdk-js codebase:
scripts/sap-models.json, collect names of all models where retired is "yes", deprecated is "yes", or a retirement date is set.scripts/sap-models.json itself, packages/core/src/model-types.ts, OpenAPI specs and generated files like packages/*/src/client/**/*.ts).Show the ai-sdk-js diff to the user:
git diff packages/core/src/model-types.tsIf neither file changed, tell the user everything is already up to date and stop.
Ask the user if they want to open PRs with these changes.
If yes, create branches and open PRs — one per repository:
ai-sdk-js (model types):
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:
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"playwright@claude-plugins-official must be enabled as a Claude Code plugin — install it via /plugin in Claude Codegh CLI must be authenticated: run gh auth login if not already done© 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
Just SKILL.md in .claude/skills/update-models of SAP/ai-sdk-js.
Open the folder on GitHubat commit 646fb8d
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Update Models this skillSAP/ai-sdk-js | 126 | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Playwright Coretestdino-hq/playwright-skill | 385 | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Anti Detect Browserantibrow/anti-detect-browser-skills | 914 | — | ~9.8k | Automated safety check: Warn | MIT | |
| Test Suite Analysisprime-radiant-inc/greenfield | 292 | — | ~3.2k | Automated safety check: Pass | Apache-2.0 | |
| Playwrightsecondsky/claude-skills | 227 | — | ~3.7k | Automated safety check: Notes | MIT | |
| Angular TestingKilo-Org/kilo-marketplace | 189 | — | ~2.9k | Automated safety check: Pass | MIT |
testdino-hq/playwright-skill
Battle-tested Playwright patterns for writing and debugging reliable E2E, API, component, visual, accessibility, and security tests.
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…
prime-radiant-inc/greenfield
Layer 1 skill for extracting behavioral intelligence from test suites.
secondsky/claude-skills
Browser automation and E2E testing with Playwright. An agent skill from secondsky/claude-skills.
Kilo-Org/kilo-marketplace
Write unit and integration tests for Angular v20+ applications using Vitest or Jasmine with TestBed and modern testing patterns.
kwakseongjae/oh-my-design
When you need a browser, read this Skill by default. An agent skill from kwakseongjae/oh-my-design.
SAP/ai-sdk-js
Review a spec-update branch — classify breaking changes, write [compat] changesets, and fix parameter-order patches.
Works with
Categories
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.
Update Models fits situations like: model-types.ts needs updating from the latest SAP AI model availability table.
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.
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.
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.
Going by SKILL.md and its folder, Update Models needs the command-line tools its instructions call (git, gh and pnpm).
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.
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.
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.
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.
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.
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.