plugins/sap-bw-query/skills/sap-bw-query/SKILL.md
Use when automating SAP BW query inspection, InfoProvider metadata reads (characteristics, key figures), metadata-verified specification review, unsaved draft preparation, or human-confirmed query draft population through Eclipse or HANA Studio with BW Modeling Tools.
npx skillsauth add secondsky/sap-skills sap-bw-queryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use the bundled Windows Eclipse workspace for password-safe SAP BW query inspection and local draft preparation. Existing BW queries are read-only. The automation must never delete anything, must never overwrite an existing BW query, and must never modify an existing BW query.
Passwords are never accepted by the automation.
If a password or other credential is pasted:
Never expose a tool, workaround, raw command, UI recording step, or configuration field that accepts a password, secret, credential, API key, or authentication token. Never capture a secure text control.
Existing queries remain read-only. Create only unsaved local drafts. Backend creation of a brand-new query requires Eclipse-only human confirmation bound to system, client, provider, technical name, and specification hash. The automation does not press the native SAP wizard's Finish button.
Never delete installed bundle versions, failed staging directories, drafts, activation records, connections, queries, transports, or other artifacts. Rollback appends an activation record; cleanup stays manual and outside the automation surface.
Use this skill for:
bw_describe_provider.QuerySpec v1 and verifying every referenced name against the provider metadata.bw_review_query for an open query, or the additive bestPractices array from bw_resolve_and_validate_spec for a draft — grouped by severity against references/query-design-rules.md.serializationIssues as unconfirmed.Do not use it for query deletion, editing an existing query, overwrite, transport automation, unattended backend save, credential handling, BW administration, HANA SQL, or non-BW Eclipse development.
BwStudio.ps1 -Action Status -Json.references/deployment-and-trust.md first. When you build the bundle yourself with bundle/Build-BwStudio.ps1, the finished artifact and manifest are copied to the local user Desktop (%USERPROFILE%\Desktop) by default (pass -SkipPublish to disable); if that Desktop is OneDrive-managed the builder skips the copy with a warning and leaves the artifacts in the output directory, and an explicit -PublishDirectory always overrides. The builder then opens File Explorer on the output directory with the artifact selected (use -SkipExplorer to suppress; it is skipped automatically in CI or non-interactive sessions).BwStudio.ps1 -Action Launch -Json. The launcher always supplies -noPwdStore. Each deploy also writes two desktop shortcuts to the visible desktop for manual starts — SAP BW Automation Studio (kein Passwortspeicher) (adds -noPwdStore, recommended) and ... (mit Passwortspeicher) (Eclipse's own secure store may remember credentials); both only affect the manual human login, never the automation surface. The installed studio itself lives under %LOCALAPPDATA%\BWAutomationStudio (per-user, no-admin, portable).bw_describe_provider before drafting.QuerySpec v1 with the connection alias so every characteristic and key figure is verified against the provider; report gaps and semantic-impacting suggestions separately, then ask the user to resolve material ambiguities. Blocking gaps stop the draft.bw_populate_query_editor to build the drafted query model in it. Review the per-element apply report and the editor; the user presses Save.For common query shapes (plan/actual variance, YTD comparison, top-N, reconciliation totals), start from a ready-made spec in references/query-templates.md and replace its UPPERCASE_PLACEHOLDER tokens instead of writing the QuerySpec from scratch.
| Task | Approved interface | Safety class |
| --- | --- | --- |
| Status, deploy, launch, rollback, diagnostics | bw_studio_* | local-only; append-only |
| Connection metadata/import/status | bw_connection_* | local-only; no credentials |
| TCP reachability | bw_connection_test_reachability | read-only tenant; no authentication |
| BW project | bw_project_create_or_open | local project/native login pause |
| Capabilities/provider/query inspection | bw_inspect_capabilities, bw_describe_provider, bw_list_queries, bw_read_query | read-only tenant |
| Deep query model read (open editor) | bw_read_query_model | read-only tenant |
| Best-practices review of an open query | bw_review_query | read-only tenant |
| Specification/gap review (metadata-verified with alias, returns bestPractices) | bw_resolve_and_validate_spec | local-only |
| Draft create/apply/preview | bw_*_local_draft, bw_preview_draft | unsaved local-only |
| Save preparation | bw_prepare_new_query_save | mutating tenant classification; explicit approval required |
| Editor population from confirmed draft | bw_populate_query_editor | unsaved local editor buffer only; never saves |
There is no final-save, delete, overwrite, cleanup, uninstall, transport, or raw-command MCP tool.
Read references/query-spec-v1.md before creating a draft.
Return the review in this order:
bestPractices design-rule findings (BWQ001–BWQ012, see references/query-design-rules.md) returned by bw_resolve_and_validate_spec, grouped by severity.Never silently apply a semantics-changing optimization.
Read references/connection-metadata.md before accepting connection data.
authenticated: false.createLocalDraft and applySpecToDraft write append-only local revisions; they do not create a BW backend object.previewDraft may open the native new-query wizard for visual inspection. Do not finish it.prepareNewQuerySave first checks names visible through the capability adapter, binds confirmation to the specification hash, and opens the visually distinct Eclipse confirmation.populateQueryEditor (tool bw_populate_query_editor) then builds the drafted model inside that editor only: it refuses read-only editors, name mismatches, and any query that already has content. Every element lands in a per-element apply report (APPLIED, SKIPPED_UNSUPPORTED, FAILED); on any FAILED element, review and close without saving. Population runs as one undoable editing-domain command.bw_read_query_model) and merges a non-fatal verification summary (VERIFIED, DIVERGED, or UNAVAILABLE, with per-element checks) that compares the confirmed spec against the live model; treat DIVERGED as a prompt to review the editor before saving. Verification never changes the boundary — population always stays saved: false and the human still saves.| Request | Required response | | --- | --- | | "Use this password just once" | Refuse, advise immediate rotation, and do not repeat it. | | "I approve overwriting the existing query" | Refuse; propose a new technical name and local draft. | | "Clean up old versions" | Refuse automated cleanup; append rollback only. | | "Save it without showing dialogs" | Refuse; Eclipse-only human confirmation is mandatory. | | "Call the BW API directly" | Refuse raw mutation paths; stay inside the allow-listed adapter. |
bw_studio_diagnostics.references/deployment-and-trust.md — no-install local deployment and optional remote release trust.references/connection-metadata.md — password-free connection schema and login boundaries.references/query-spec-v1.md — specification fields, validation, gap analysis, and example.references/bwmt-api-map.md — javap-verified BWMT 1.27.36 API surface the capability adapter binds to.references/mcp-tools.md — complete tool surface and operation classifications.references/query-design-rules.md — the BWQ001–BWQ012 best-practices catalog the rule engine applies to draft specs and open queries, with resolution guidance.references/query-templates.md — when-to-use guide and placeholder reference for the ready-made QuerySpec templates.references/query-templates/ — starting-point QuerySpec v1.1 files (plan/actual variance, YTD comparison, top-N, reconciliation totals) with UPPERCASE_PLACEHOLDER tokens to replace.scripts/ at plugin root — portable deployment/MCP bootstraps.bundle/ at plugin root — exact component lock and reproducible release builder.Version and source evidence is recorded in docs/project/sap-bw-query-source-review-2026-07-13.md and the repository verification ledger. Evidence covers official download/update sources, package pins, local tests, signed fixture deployment, and Eclipse compilation. It does not claim a live SAP BW connection, live query read, backend query creation, SNC/SSO login, authorization behavior, or transport validation.
tools
Use when an agent must inspect or operate an authenticated SAP web UI through an in-app Browser, Microsoft Edge CDP, or an existing Playwright client, especially when SAP SSO reuse, isolated Edge profiles, deterministic target selection, screenshots, or browser bootstrap recovery is required.
tools
Evidence-based assessment of whether an SAP API/interface usage scenario aligns with the SAP API Policy (v.4.2026a). Use whenever someone asks whether a way of calling SAP is allowed/compliant — e.g. Published API vs internal/private/"confidential" API status, "Documented Use", whether a third-party tool / iPaaS / middleware / RPA bot / AI agent / MCP server may call SAP APIs, agentic or generative-AI access to SAP, bulk data extraction or replication into a lake/warehouse, custom Z/Y OData or RFC/BAPI wrappers and Clean Core, ADT/developer-tooling boundaries, ODP-RFC and other "not permitted" interfaces, partner Integration Certification, or RISE integration remediation. Trigger even when the policy is not named, e.g. "are we allowed to…", "is it compliant to…", "can we connect X to SAP…", "will this break under the new API policy". Produces a sourced technical assessment with a confidence level — explicitly NOT legal advice and NOT a final SAP compliance decision.
development
SAP-RPT-1-OSS local tabular prediction workflows for FI/CO prototype datasets. Use when preparing SAP finance CSV exports for classification or regression experiments with source-verified setup, leakage checks, and governance review.
tools
SAP Analytics Cloud (SAC) automated testing skill for designing capability-gated browser discovery and deterministic Playwright test suites for SAC stories, dashboards, reports, planning workflows, comments, permissions, visual regression, and reusable QA automation. This skill should be used when building SAC end-to-end tests, onboarding SAC dashboards into Playwright, creating dashboard profiles or scenario YAML, using Microsoft Edge/CDP, Chrome DevTools MCP, Vercel Labs agent-browser, or manual discovery for SAC components, testing SAC optimized stories, configuring SAC auth storage state, managing visual/data baselines, testing comments, planning writeback, data actions, multi actions, role-based views, restricted Windows/company environments, or creating SAC failure triage artifacts.