{"ref":"artifact:sap-aicore-sdk-js","page":"/artifacts/sap-aicore-sdk-js","json":"/artifacts/sap-aicore-sdk-js.json","generated":"2026-10-29","drafted_with_ai":true,"entity":{"id":"sap-aicore-sdk-js","name":"aicore-sdk-js","artifact_type":"skill","ecosystem":"btp","domain":"ai-and-agents","origin_ring":"sap-official","description":{"one_line":"An agent skill for SAP's AI SDK for JavaScript, written against the SDK's version 2: twelve compile-checked templates for calling the Generative AI Hub from TypeScript or JavaScript.","short":"Agent skill generating TypeScript for SAP GenAI Hub on AI SDK v2","what_it_solves":"Twelve templates under `assets/`, each with the `npm install` line beside it in the asset map: chat and streaming through [@sap-ai-sdk/orchestration](artifact:sap-ai-sdk-orchestration), the native OpenAI surface, two LangChain paths, document grounding, [@sap-ai-sdk/prompt-registry](artifact:sap-ai-sdk-prompt-registry), batch jobs, RPT tabular prediction, the Context Registry, tabular orchestration, a WebSocket realtime path, and the OpenAI npm package through a LiteLLM proxy. The SDK version is what the skill is built around: it targets `@sap-ai-sdk` v2 with orchestration 2.14 or later, passes `messages` straight to `chatCompletion()` or `stream()`, and forbids the v1 shape `llm: { model_name }` / `templating: { template }` on the ground that it does not compile against v2. Its own material is the floor: `references/SDK_JS.md` and the `assets/*.ts` files are described as the compile-checked v2 baseline that needs no network and no MCP, with Context7 preferred where that tool is registered for the parts the reference marks as fast-moving, and the online documentation last. It collects the framework, the use case, the runtime and the model and deployment ID before writing, and where the user names an OpenAI model it asks whether they plan to switch later, because that is what decides between the orchestration client and `@sap-ai-sdk/openai`. Stated requirements are Node.js 22 or later with native ESM, npm or bun, and an [SAP AI Core](artifact:btp-ai-core) service key in `AICORE_SERVICE_KEY`; it installs with `--skill aicore-sdk-js`, and [aicore-sdk-java](artifact:sap-aicore-sdk-java) is where it sends a request for Java.","when_not_to_use":"JavaScript and TypeScript only: Java goes to [aicore-sdk-java](artifact:sap-aicore-sdk-java), and a request for Python is declined with a pointer to SAP's own SDK documentation, since the repository has no Python skill. Creating, listing and deleting deployments is stated as outside it, and its code is v2 code, so a project still on version 1 of the SDK gets shapes that do not compile against what it has installed.","to_build_on_it":"A path the twelve templates do not cover means another compile-checked `assets/*.ts` file and its install line in the asset map, because that table is what the agent matches a use case against before it falls back to Context7 or `references/SDK_JS.md`. The skill carries a `metadata.version` of 2.0 in its frontmatter and tracks a moving SDK, so the work on it is keeping the templates compiling against the version it names."},"links":{"repo":"https://github.com/SAP/ai-skills-library/tree/main/skills/aicore-sdk-js","homepage":"https://skills.cloud.sap"},"identity":{"author":"SAP","license":"Apache-2.0"},"type_properties":{"distribution":{"value":["npm"],"sources":[{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/README.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/README.md, Installation","checked":"2026-10-27","quote":"npx skills add SAP/ai-skills-library --skill aicore-sdk-js"}]}},"agent":{"install":"npx skills add SAP/ai-skills-library --skill aicore-sdk-js","source":{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/README.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/README.md, Installation","checked":"2026-10-27","quote":"npx skills add SAP/ai-skills-library --skill aicore-sdk-js"}},"skills":{"provenance":"indexed","kind":"capability","canonical_source":"https://github.com/SAP/ai-skills-library/tree/main/skills/aicore-sdk-js"},"provides":[{"capability":"capability:agent-guidance","what_it_does":"Pins an agent writing JavaScript or TypeScript against the Generative AI Hub to version 2 of SAP's AI SDK — the invocation pattern, the forbidden v1 shape, and a template per package — and states the order its answers come from, with its own compile-checked files as the floor.","facets":[{"key":"installs_into","value":["Claude Code","Codex","Cursor","OpenCode"],"source":{"url":"https://github.com/SAP/ai-skills-library","title":"SAP/ai-skills-library — README, Requirements and Setup","checked":"2026-10-27","quote":"Install skills using the [skills CLI](https://github.com/vercel-labs/skills), which supports Claude Code, Codex, Cursor, OpenCode, and many more agents."}}],"sources":[{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/SKILL.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/SKILL.md, frontmatter description","checked":"2026-10-27","quote":"Generate working TypeScript/JavaScript boilerplate for SAP GenAI Hub using @sap-ai-sdk/orchestration,"},{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/SKILL.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/SKILL.md, Asset Map (twelve templates with their install lines)","checked":"2026-10-27"},{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/SKILL.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/SKILL.md, Rules, the SDK version","checked":"2026-10-27","quote":"Never emit the v1 shape `llm: { model_name }` / `templating: { template }` — it does not compile against v2."},{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/SKILL.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/SKILL.md, Sources & Fallback","checked":"2026-10-27","quote":"Use the best source available, in this order. Never block on a source that isn't present."},{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/SKILL.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/SKILL.md, Rules, what it asks first","checked":"2026-10-27","quote":"Gather these details before generating code — ask only for what the user hasn't provided:"},{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/SKILL.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/SKILL.md, Rules, model switching","checked":"2026-10-27","quote":"do they plan to switch models later (e.g. to Claude or Gemini)? If yes → recommend `@sap-ai-sdk/orchestration` for portability."},{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/SKILL.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/SKILL.md, frontmatter, what it declines","checked":"2026-10-27","quote":"DO NOT USE FOR: Java code — use `aicore-sdk-java`."},{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/SKILL.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/SKILL.md, Rules, no Python","checked":"2026-10-27","quote":"Never emit Python code snippets — this skill is JS/TS only."},{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/SKILL.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/SKILL.md, Rules, lifecycle management","checked":"2026-10-27","quote":"JS/TS lifecycle management (create/list/delete deployments) is not available in this skill"},{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/SKILL.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/SKILL.md, frontmatter compatibility","checked":"2026-10-27","quote":"Requires Node.js 22+ with native ESM support, and npm or bun. Context7 MCP is optional (see Sources & Fallback)."}]}],"requires":[{"ref":"artifact:btp-ai-core","for":"The code it writes calls the Generative AI Hub, and the README names the service key in `AICORE_SERVICE_KEY` among the three things that have to be in place; the skill tells the agent to check the AI Core console for a deployment before generating anything.","requirement":"required","basis":"binding","sources":[{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/README.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/README.md, Requirements","checked":"2026-10-27","quote":"SAP AI Core service key (`AICORE_SERVICE_KEY` environment variable)"},{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/SKILL.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/SKILL.md, Rules","checked":"2026-10-27","quote":"If no deployment URL is known, check the SAP AI Core console or contact your admin to list or create one before generating code."}]},{"ref":"artifact:sap-ai-sdk-orchestration","for":"The package the default path imports: the asset map pairs its chat and streaming templates with `npm install @sap-ai-sdk/orchestration`, and the skill is written against orchestration 2.14 or later.","requirement":"conditional","basis":"binding","condition":"the generated code follows the orchestration path the skill names as recommended, rather than the native OpenAI, LangChain or proxy paths","role":"sdk","sources":[{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/SKILL.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/SKILL.md, Rules, the SDK version","checked":"2026-10-27","quote":"Target `@sap-ai-sdk` **v2** (orchestration `2.14+`)."},{"url":"https://raw.githubusercontent.com/SAP/ai-skills-library/main/skills/aicore-sdk-js/SKILL.md","title":"SAP/ai-skills-library — skills/aicore-sdk-js/SKILL.md, Install Options","checked":"2026-10-27","quote":"npm install @sap-ai-sdk/orchestration @sap-ai-sdk/foundation-models"}]}],"provenance":{"discovered_via":[{"source":"source:sap-ai-skills-library","channel":"github.com/SAP/ai-skills-library — skills/aicore-sdk-js"}],"first_seen":"2026-10-27"},"maintainers":["actor:sap"],"history":[{"date":"2026-10-27","field":"entry","from":null,"to":"created","reason":"SAP's own code in the AI Skills Library repository, which the atlas holds as source:sap-ai-skills-library rather than as an artifact, so the skill is entered from its SKILL.md and README as sap-fiori-guidelines was on 2026-09-29 and plugins/aicore-skills on 2026-09-25. Hard rule 7: skills are indexed, never written here."}],"drafted_with_ai":true,"contributors":["actor:brigittak307"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"10 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Maintainer's CI","tier":"fair","evidence":"workflows present, no completed run on the default branch"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"poor","evidence":"README 1 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":95,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-28","npm":"not published under this name","stars":95,"forks":21,"open_issues":10,"archived":false,"pushed_at":"2026-10-22","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2026-05-07T13:40:56Z","open_prs":1,"tree_truncated":false,"test_files":0,"workflows":2,"other_ci":false,"readme_bytes":997,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2026-10-22","last_commit":"2026-10-22","commits":1,"contributors":10,"readme_path":"skills/aicore-sdk-js/README.md","readme_sha":"e7ba8576ad281439e0f2af4401f16d373e5b3741","repo_read":"2026-10-28"},"edges":{"maintainers":[{"ref":"actor:sap","name":"SAP","json":"/actors/sap.json"}],"contributors":[{"ref":"actor:brigittak307","name":"BrigittaK307","json":"/actors/brigittak307.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}