Sap Option logo

Sap Option

Community
babamba2
sap-option

View SAP system status snapshot and edit values in `.sc4sap/sap.env` (connection, blocklist), HUD usage limits in `~/.claude/settings.json` → `env`, the agent model-dispatch mode and cost mode (standard / eco) in `~/.sc4sap/preferences.json`, and the SAP screen-mockup theme in the profile `config.json` — single entrypoint for all sc4sap runtime options

Overview

Publisherbabamba2
Repositorysuperclaude-for-sap
Skill namesap-option
Stars
69
Forks
26
Bundled files
12
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 12 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by babamba2 on GitHub. Read the source before you install it.

Installation

Install the Sap Option AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/babamba2/superclaude-for-sap/tree/main/skills/sap-option
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/babamba2/superclaude-for-sap.git /tmp/superclaude-for-sap
mkdir -p .claude/skills
cp -r /tmp/superclaude-for-sap/skills/sap-option .claude/skills/sap-option
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Sap Option in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Sap Option on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Sap Option is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

SC4SAP Option

Single entrypoint to inspect live SAP state and edit the values stored in .sc4sap/sap.env — the dotenv file that holds SAP connection credentials, TLS settings, and the abap-mcp-adt-powerup blocklist policy for row-extraction safety.

Users should not edit sap.env blindly; this skill surfaces the current values (masking secrets), explains each option, lets the user pick what to change, and writes the file back safely with a backup.

<Response_Prefix> Every response triggered by this skill MUST begin with [Model: <main-model> · Dispatched: <sub-summary>] per ../../common/model-routing-rule.md § Response Prefix Convention. </Response_Prefix>

<Use_When>

  • User says "sap option", "show sap.env", "change SAP password", "switch SAP client", "change the blocklist profile", "loosen blocklist", "whitelist ACDOCA", "view SAP config", "SAP options".
  • User says "change the industry", "change industry", "switch industry", "switch to retail", "switch to cosmetics" — route to the Industry selection flow described in <Industry_Selection> (updates SAP_INDUSTRY in sap.env and industry in config.json atomically).
  • User says "hud", "show status", "show system info", "current SAP status", "which system am I connected to" — run the status snapshot (workflow step 3) and stop there unless the user then asks to edit.
  • User says "switch profile", "switch to KR-QA", "change system", "use the PRD system", "list profiles", "add a new profile", "register another system", "remove profile", "edit KR-DEV", "rotate credentials for KR-PRD" — route to the Profile management flow described in <Profile_Management> (see profile-management.md).
  • User wants to change blocklist tier (MCP_BLOCKLIST_PROFILE) or manage MCP_ALLOW_TABLE / MCP_BLOCKLIST_EXTEND.
  • User is rotating credentials, moving to a new SAP system, or flipping language/client.
  • After /sc4sap:setup if the user wants to adjust without re-running full setup.
  • User says "model dispatch", "dispatch mode", "let me choose the model", "ask me which model", "user-defined model", "auto dispatch" — route to the Model dispatch flow (see <Model_Dispatch>), which edits ~/.sc4sap/preferences.json → modelDispatch, not sap.env.
  • User says "cost mode", "eco mode", "saving mode", "standard mode", "make it cheaper" — route to the Cost mode flow (see <Cost_Mode>), which edits ~/.sc4sap/preferences.json → costMode / costModeBySkill.
  • User says "screen theme", "mockup theme", "signature theme", "pink theme", "화면 테마", "시그니처 테마" — route to the Screen theme flow (see <Screen_Theme>), which edits the profile config.json → screenTheme, not sap.env.
  • User says "hud limit", "5h limit", "weekly limit", "extra limit", "usage budget", "configure limit" — route to the HUD limits flow (see <HUD_Limits>), which edits ~/.claude/settings.json → env, not sap.env. </Use_When>

<Status_Snapshot> When invoked with status / show / hud (or as the preamble to any edit flow), render this panel. Keep it compact — roughly 10–14 lines — and silence sections that can't be fetched (e.g. MCP disconnected) rather than failing.

Contents (only show rows you could resolve):

  • Active profile: <alias> [<tier>] with 🔒 if tier≠DEV — from <project>/.sc4sap/active-profile.txt + ~/.sc4sap/profiles/<alias>/sap.env → SAP_TIER. Show (legacy) when no active-profile.txt is set and a legacy sap.env is in use.
  • System: <SID> · client <MANDT> · user <BNAME> · lang <SPRAS> (from GetSession)
  • Connection: <SAP_URL> · auth <SAP_AUTH_TYPE> · type <SAP_SYSTEM_TYPE> · version <SAP_VERSION> · ABAP <ABAP_RELEASE>
  • RFC backend: <SAP_RFC_BACKEND or "odata (default)"> — if odata (or unset), append · <SAP_RFC_ODATA_SERVICE_URL> (with CSRF TTL = <SAP_RFC_ODATA_CSRF_TTL_SEC or "600">s); if native, append · ashost <SAP_RFC_ASHOST>:<SAP_RFC_SYSNR> or · mshost <SAP_RFC_MSHOST>/<SAP_RFC_SYSID>; if gateway, append · <SAP_RFC_GATEWAY_URL> (token masked)
  • Industry: <SAP_INDUSTRY or "(not set)"> — drives which industry/*.md consultant agents load
  • Inactive objects: <count> (0 = green, >0 = red) (from GetInactiveObjects)
  • Active transport (pinned): <TRKORR> — <description> if present in config.json → activeTransport, else "-"
  • Blocklist (L4, MCP env): profile <MCP_BLOCKLIST_PROFILE or "standard (default)"> · extend <n> entries · allow <n> entries
  • Blocklist (L3, PreToolUse hook): profile <config.json blocklistProfile> · extend/custom file presence
  • Model dispatch: <auto (default) | user-defined> — from ~/.sc4sap/preferences.json → modelDispatch
  • Cost mode: <standard (default) | eco>[ · eco: <skills>] — from ~/.sc4sap/preferences.json → costMode / costModeBySkill
  • Screen theme: <screenTheme | signature (default)> — from config.json → screenTheme
  • ALV framework / ABAP SP: <alvFramework | none (default)> · ABAP SP <abapSp | unset> — from config.json (see <ALV_Framework>)
  • sap.env path: absolute path being edited

If the user's intent is status-only (they just said "hud" / "show status"), render the panel and stop. Do not ask follow-up "what to change" questions unless the user continues. </Status_Snapshot>

<File_Path>

  • Active profile (multi-profile, default): read the alias from <project>/.sc4sap/active-profile.txt, then edit ~/.sc4sap/profiles/<alias>/sap.env. Plugin-side mirrors (industry, activeModules, blocklistProfile, …) live in ~/.sc4sap/profiles/<alias>/config.json. Every sap.env / config.json mention in this skill means these two files.
  • Legacy (no active-profile.txt): <project>/.sc4sap/sap.env + <project>/.sc4sap/config.json. Offer the migration flow in migration.md.
  • If neither exists, tell the user to run /sc4sap:setup first. Do NOT create it from scratch here — setup handles the initial interactive credential flow. </File_Path>

<Managed_Keys> Connection (required):

  • SAP_URL — SAP host URL including port (e.g. https://host:44300)
  • SAP_CLIENT — 3-digit client (e.g. 100)
  • SAP_AUTH_TYPE — basic | xsuaa
  • SAP_USERNAME — SAP user ID
  • SAP_PASSWORD — secret — always mask when displaying
  • SAP_LANGUAGE — EN, DE, KO, ...
  • SAP_SYSTEM_TYPE — onprem | cloud (deployment only; ECC vs S/4HANA is SAP_VERSION)
  • SAP_VERSION — S4 | ECC
  • ABAP_RELEASE — e.g. 756, 758
  • SAP_INDUSTRY — one of the 15 keys in industry/README.md (retail | fashion | cosmetics | tire | automotive | pharmaceutical | food-beverage | chemical | electronics | construction | steel | utilities | banking | public-sector | other). Mirrored to .sc4sap/config.json → industry whenever changed — both writes must succeed or neither.
  • TLS_REJECT_UNAUTHORIZED — 0 (accept self-signed, dev only) or unset

Blocklist policy (optional — guard for GetTableContents / GetSqlQuery):

  • MCP_BLOCKLIST_PROFILE — minimal | standard | strict | off (default: standard)
  • MCP_BLOCKLIST_EXTEND — comma-separated extra table names / patterns (always denied)
  • MCP_ALLOW_TABLE — comma-separated whitelist for audited bypass

RFC backend (optional — selects transport for Screen / GUI Status / Text Element ops):

  • SAP_RFC_BACKEND — odata (default) | soap | native | gateway | zrfc

Per-backend env blocks (Native / Gateway / OData credentials and knobs) live in rfc-managed-keys.md. Read that file when the user asks to change the RFC backend or edit any SAP_RFC_* field.

Usage statistics source (optional, ECC — read by the CBO graph step and GetTcodeUsage):

  • SAP_USAGE_RFCDEST — SM59 destination on THIS system pointing to the QA / PRD system whose ST03N usage counts (a DEV profile only sees developer tests). Site-specific — no default; validate by one GetTcodeUsage call with destination (success shows the remote SID). Empty / unset → the connected system.

XSUAA (only when SAP_AUTH_TYPE=xsuaa):

  • XSUAA_URL, XSUAA_CLIENT_ID, XSUAA_CLIENT_SECRET, XSUAA_TOKEN_URL

Do not manage keys that are not in this list — warn the user and skip. </Managed_Keys>

<Profile_Management> See profile-management.md. Handles multi-environment (Dev/QA/Prod) connection switching, tier-based readonly enforcement, OS-keychain-backed password storage, profile add/edit/remove/purge, and migration from legacy single-profile .sc4sap/sap.env. </Profile_Management>

<Industry_Selection> See industry-selection.md. </Industry_Selection>

<HUD_Limits> See hud-limits.md. </HUD_Limits>

<Model_Dispatch> See model-dispatch.md. auto (default) routes sub-agent models per common/model-routing-rule.md; user-defined makes every multi-agent skill ask Opus / Sonnet / Haiku before each dispatch group. Runtime rules: ../../common/model-dispatch-mode.md. </Model_Dispatch>

<Cost_Mode> See cost-mode.md. standard (default) or eco, globally or per skill. Runtime rules: ../../common/cost-mode.md. One-off: /sc4sap:eco <skill> <args>. </Cost_Mode>

<Screen_Theme> See screen-theme.md. Theme of the SAP screen mockups in program-to-spec / program-to-manual: signature (default), signature-pink, modern, or custom colours. Written with scripts/spec/screen-theme.mjs. </Screen_Theme>

<ALV_Framework> See alv-framework.md. Triggers: "alv framework", "alv base class", "abap sp", "support package". Edits config.json → alvFramework (s4sap-cm | custom | none), alvBaseClass, alvGridClass, messageClass, abapSp — not sap.env. </ALV_Framework>

<Edge_Cases>

  • File missing → stop, direct to /sc4sap:setup. Do not create.
  • File has syntax errors (lines that are not KEY=VALUE or comments) → show the offending lines, ask user to clean manually, abort.
  • User wants to add a key not in <Managed_Keys> → warn, ask to confirm adding as a custom key (append at end with a # custom comment). Do not validate content.
  • User wants to remove a required connection key (e.g. SAP_URL) → refuse; required keys can only be changed, not removed.
  • Always tell the user the absolute path that was edited (profile env vs legacy project env) so there is no ambiguity about which system changed. </Edge_Cases>

<Standalone_TUI> See standalone-tui.md. </Standalone_TUI>

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Sap Option AI skill do?

View SAP system status snapshot and edit values in `.sc4sap/sap.env` (connection, blocklist), HUD usage limits in `~/.claude/settings.json` → `env`, the agent model-dispatch mode and cost mode (standard / eco) in `~/.sc4sap/preferences.json`, and the SAP screen-mockup theme in the profile `config.json` — single entrypoint for all sc4sap runtime options

Why use Sap Option on TypingMind?

Because you install it once and use it with any model. Sap Option is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Sap Option in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/babamba2/superclaude-for-sap/tree/main/skills/sap-option. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Sap Option?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Sap Option?

As many as you like. As long as a model supports skills, you can use Sap Option with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Sap Option AI skill free?

Yes. It is published on GitHub by babamba2 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇