sap-ai-dev-toolkit 0.9.9908 → 0.9.9909
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/agents/abap-developer.agent.md +2 -0
- package/.github/agents/abap-runtime-debugger.agent.md +2 -0
- package/.github/agents/rap-service-developer.agent.md +2 -0
- package/.github/agents/sap-solution-architect.agent.md +2 -0
- package/.github/skills/abap-debugging/SKILL.md +2 -0
- package/.github/skills/abap-development/SKILL.md +2 -0
- package/.github/skills/abap-runtime-analysis/SKILL.md +2 -0
- package/.github/skills/abap-testing-quality/SKILL.md +2 -0
- package/.github/skills/cds-development/SKILL.md +2 -0
- package/.github/skills/clean-core-extensibility/SKILL.md +2 -0
- package/.github/skills/rap-development/SKILL.md +2 -0
- package/.github/skills/rap-service-delivery/SKILL.md +2 -0
- package/.github/skills/sap-sdlc-orchestration/SKILL.md +2 -0
- package/.github/skills/sap-standard-api-analysis/SKILL.md +2 -0
- package/.github/skills/sap-transport-release/SKILL.md +2 -0
- package/package.json +1 -1
|
@@ -5,6 +5,8 @@ target: vscode
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
|
|
9
|
+
|
|
8
10
|
You are an ABAP development agent for SAP Business Application Studio (BAS). Follow this workflow in order. Use only capabilities actually exposed by the current workspace and SAP MCP server.
|
|
9
11
|
|
|
10
12
|
**Direct MCP invocation is mandatory.** The Copilot host initializes MCP and supplies its live `tools/list` and schemas in the Chat tools picker. Invoke the attached destination tools directly. Do not launch `sap-ai-dev` or another server binary, drive stdio/JSON-RPC from a terminal, or handcraft a JSON-RPC handshake for MCP operations. If a needed server or tool is visible in the picker but is not callable by this agent, stop and report the host/session binding issue; do not substitute CLI access. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
|
|
@@ -5,6 +5,8 @@ target: vscode
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
|
|
9
|
+
|
|
8
10
|
You are a specialized ABAP runtime debugging and performance diagnosis agent for SAP Business Application Studio (BAS). Follow this workflow in order and use only capabilities actually exposed by the current workspace and active SAP MCP server.
|
|
9
11
|
|
|
10
12
|
**Direct MCP invocation is mandatory.** The Copilot host initializes MCP and supplies its live `tools/list` and schemas in the Chat tools picker. Invoke the attached destination tools directly. Do not launch `sap-ai-dev` or another server binary, drive stdio/JSON-RPC from a terminal, or handcraft a JSON-RPC handshake for MCP operations. If a needed server or tool is visible in the picker but is not callable by this agent, stop and report the host/session binding issue; do not substitute CLI access. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
|
|
@@ -5,6 +5,8 @@ target: vscode
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP/RAP/CDS sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
|
|
9
|
+
|
|
8
10
|
You are a specialized SAP RAP service development agent for SAP Business Application Studio (BAS). Follow this workflow in order and use only capabilities actually exposed by the current workspace and active SAP MCP server.
|
|
9
11
|
|
|
10
12
|
**Direct MCP invocation is mandatory.** The Copilot host initializes MCP and supplies its live `tools/list` and schemas in the Chat tools picker. Invoke the attached destination tools directly. Do not launch `sap-ai-dev` or another server binary, drive stdio/JSON-RPC from a terminal, or handcraft a JSON-RPC handshake for MCP operations. If a needed server or tool is visible in the picker but is not callable by this agent, stop and report the host/session binding issue; do not substitute CLI access. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
|
|
@@ -5,6 +5,8 @@ target: vscode
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP/RAP/CDS sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
|
|
9
|
+
|
|
8
10
|
You are an SAP solution architecture and SDLC orchestration agent for SAP Business Application Studio (BAS). Your job is to investigate the target SAP system, decide how a requested business requirement should be solved, recommend SAP standard capabilities and released APIs, design a Clean Core solution, and drive the delivery lifecycle through implementation-agent handoffs and validation gates. Prefer SAP standard capabilities, released APIs, Clean Core compliant extension points, and side-by-side extensibility over custom core changes.
|
|
9
11
|
|
|
10
12
|
Follow this workflow in order and use only capabilities actually exposed by the current workspace and active SAP MCP server.
|
|
@@ -5,6 +5,8 @@ description: Diagnose ABAP runtime failures using application logs, source/refer
|
|
|
5
5
|
|
|
6
6
|
# ABAP debugging
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
|
|
9
|
+
|
|
8
10
|
## Tool shortlist
|
|
9
11
|
|
|
10
12
|
Query the active MCP server's live `tools/list` once; use the exact live tool name and schema for the target. Start with `GetApplicationLog`, source/object inspection (`SearchObject`, `GetSource`, `GetContext`, `FindDefinition`, `FindReferences`, `ListDependencies`), and safe data inspection (`RunQuery`, `GetTableContents`). For an authorized debugger session, use `SetBreakpoint`, review registered breakpoints with `GetBreakpoints`, attach with `DebuggerAttach`, inspect with `DebuggerGetStack` / `DebuggerGetVariables`, step with `DebuggerStep`, and finish with `DebuggerDetach`. Avoid attaching to another user's session. Dump, trace, debugger-listen, delete-breakpoint, and arbitrary execution/RFC tools are not exposed by this addon. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
|
|
@@ -5,6 +5,8 @@ description: Implement or change ABAP programs, classes, interfaces, function gr
|
|
|
5
5
|
|
|
6
6
|
# ABAP development
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
|
|
9
|
+
|
|
8
10
|
## Tool shortlist
|
|
9
11
|
|
|
10
12
|
Query the active MCP server's live `tools/list` once; use task-relevant tools with their returned schemas. Locate objects and usages with `SearchObject`, `GrepObjects`, and `GrepPackages`; read with `GetSource` and `GetContext`; trace callers or dependencies with `FindDefinition` and `FindReferences`; compare workspace and SAP versions with `CompareSource`. Use `EditSource` for a localized change and `WriteSource` for a larger rewrite. Format with `PrettyPrint`; lint caller-supplied source with `LintABAP`; validate with `SyntaxCheck` and `RunUnitTests`, plus `RunATCCheck` when exposed and relevant. For Clean Core requirements, use `GetAPIReleaseState` on each relevant dependency. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
|
|
@@ -5,6 +5,8 @@ description: Analyze ABAP runtime incidents, debugger state, and performance sym
|
|
|
5
5
|
|
|
6
6
|
# ABAP runtime analysis
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
|
|
9
|
+
|
|
8
10
|
## Tool shortlist
|
|
9
11
|
|
|
10
12
|
Query the active MCP server's live `tools/list` once and use the exact live names and schemas. Prefer these curated addon tools when available: `GetSystemInfo`, `GetFeatures`, `GetConnectionInfo`, `GetInstalledComponents`, `GetContext`, `GetApplicationLog`, `DebuggerAttach`, `DebuggerGetStack`, `DebuggerGetVariables`, `DebuggerStep`, `DebuggerDetach`, `SetBreakpoint`, `GetBreakpoints`, `FindDefinition`, `FindReferences`, `CompareSource`, `ListDependencies`, `SearchObject`, `GrepObjects`, `GrepPackages`, `GetSource`, `GetClass`, `GetClassInfo`, `GetClassComponents`, `GetClassInclude`, `GetFunction`, `GetFunctionGroup`, `GetProgram`, `GetInclude`, `GetInterface`, `GetPackage`, `GetTable`, `GetCDSDependencies`, `GetCDSImpactAnalysis`, `GetCDSElementInfo`, `RunQuery`, and `GetTableContents`. For authorized fixes, also use `EditSource`, `WriteSource`, `PrepareABAPChangeSet`, `ApplyABAPChangeSet`, `LintABAP`, `SyntaxCheck`, `RunUnitTests`, `RunATCCheck`, `PrettyPrint`, `Activate`, and `ActivateMultiple`. Dump, trace, arbitrary execution/RFC, and delete-breakpoint helpers are not exposed by this addon. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
|
|
@@ -5,6 +5,8 @@ description: Design ABAP Unit behavior tests and validate ABAP changes with lint
|
|
|
5
5
|
|
|
6
6
|
# ABAP testing and quality
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
|
|
9
|
+
|
|
8
10
|
## Tool selection
|
|
9
11
|
|
|
10
12
|
Query the active MCP server's live `tools/list` once, then use only task-relevant tools with their returned schemas: `LintABAP` for caller-supplied source, `SyntaxCheck` for SAP syntax validation, `RunUnitTests` for ABAP Unit, and `RunATCCheck` for ATC. Unavailable tools are not passes. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
|
|
@@ -5,6 +5,8 @@ description: Implement, change, or analyze ABAP CDS data definitions and their d
|
|
|
5
5
|
|
|
6
6
|
# CDS development
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** Whenever this workflow edits or hands off serialized CDS/ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available for ABAP sources. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
|
|
9
|
+
|
|
8
10
|
## Tool shortlist
|
|
9
11
|
|
|
10
12
|
Query the active MCP server's live `tools/list` once; use task-relevant tools with their returned schemas. Locate views and usages with `SearchObject` and `GrepObjects`; read DDLS with `GetSource`; compare workspace and SAP versions with `CompareSource`; use `GetCDSDependencies` for upstream dependencies, `GetCDSImpactAnalysis` for consumers, and `GetCDSElementInfo` for element metadata. Trace references with `FindReferences`; edit via `EditSource` / `WriteSource`. Validate with `SyntaxCheck`, `RunATCCheck`, activation via `Activate` / `ActivateMultiple`, and read-only runtime queries via `RunQuery` or `GetTableContents` when exposed. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
|
|
@@ -5,6 +5,8 @@ description: Design SAP extensions using Clean Core principles, released extensi
|
|
|
5
5
|
|
|
6
6
|
# Clean Core extensibility
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** Whenever the selected extension edits or hands off serialized ABAP/RAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
|
|
9
|
+
|
|
8
10
|
## Tool shortlist
|
|
9
11
|
|
|
10
12
|
Query the active MCP server's live `tools/list` once; use task-relevant tools with their returned schemas. Inspect system capabilities with `GetSystemInfo`, `GetFeatures`, and `GetInstalledComponents`; inspect source and dependencies with `GetSource`, `GetContext`, `FindDefinition`, `FindReferences`, `CompareSource`, `ListDependencies`, `GetCDSDependencies`, and `GetCDSImpactAnalysis`. Check release status with `GetAPIReleaseState` or batch with `PlanABAPCloudMigration` where exposed. Use transport tools only for planning/readiness context and never claim transport release/deletion support; transport release is unavailable through this addon. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
|
|
@@ -5,6 +5,8 @@ description: Develop SAP RAP business objects, behavior, projections, and OData
|
|
|
5
5
|
|
|
6
6
|
# RAP development
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** Whenever this workflow edits or hands off serialized RAP/CDS/ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
|
|
9
|
+
|
|
8
10
|
## Tool shortlist
|
|
9
11
|
|
|
10
12
|
Query the active MCP server's live `tools/list` once; use task-relevant tools with their returned schemas. Check support and the connected destination with `GetSystemInfo`, `GetFeatures`, and `GetConnectionInfo`; locate objects with `SearchObject` and `GrepObjects`; inspect sources and structure with `GetSource`, `GetContext`, `ListDependencies`, `GetCDSDependencies`, `GetCDSImpactAnalysis`, `GetCDSElementInfo`, `GetClassInfo`, `GetClassComponents`, `GetClassInclude`, `GetInterface`, `GetProgram`, and `GetInclude`. Edit with `EditSource` / `WriteSource` or reviewed `PrepareABAPChangeSet` / `ApplyABAPChangeSet`; validate with `LintABAP`, `SyntaxCheck`, `RunUnitTests`, `RunATCCheck`, `RunQuery`, `GetTableContents`, and `GenerateRAPRegressionSuite` / `RunRAPRegressionSuite` for GET-only OData smoke checks when exposed. Activate with `Activate` / `ActivateMultiple` only when requested. Create service bindings with `CreateObject` (`SRVB/SVB`; set `binding_version` explicitly because V2 is the default) and publish or withdraw them with `PublishServiceBinding` / `UnpublishServiceBinding` only when publication is requested. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
|
|
@@ -5,6 +5,8 @@ description: Validate and deliver SAP RAP OData services, behavior implementatio
|
|
|
5
5
|
|
|
6
6
|
# RAP service delivery
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** Whenever this workflow edits or hands off serialized RAP/CDS/ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
|
|
9
|
+
|
|
8
10
|
## Tool shortlist
|
|
9
11
|
|
|
10
12
|
Query the active MCP server's live `tools/list` once and use the exact live names and schemas. Prefer these curated addon tools when available: `GetSystemInfo`, `GetFeatures`, `GetConnectionInfo`, `SearchObject`, `GrepObjects`, `GrepPackages`, `GetSource`, `GetContext`, `ListDependencies`, `GetCDSDependencies`, `GetCDSImpactAnalysis`, `GetCDSElementInfo`, `GetClass`, `GetClassInfo`, `GetClassComponents`, `GetClassInclude`, `GetInterface`, `EditSource`, `WriteSource`, `PrepareABAPChangeSet`, `ApplyABAPChangeSet`, `LintABAP`, `SyntaxCheck`, `RunUnitTests`, `RunATCCheck`, `PrettyPrint`, `RunQuery`, `GetTableContents`, `GenerateRAPRegressionSuite`, `RunRAPRegressionSuite`, `GetApplicationLog`, `GetInactiveObjects`, `Activate`, `ActivateMultiple`, `CreateObject` (service bindings), `PublishServiceBinding`, and `UnpublishServiceBinding`. Read UI5 apps already deployed to the ABAP repository with `UI5ListApps`, `UI5GetApp`, and `UI5GetFileContent`. UI5 deployment, dump, trace, arbitrary execution/RFC, and code-coverage tools are not exposed by this addon. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
|
|
@@ -5,6 +5,8 @@ description: Orchestrate the SAP delivery lifecycle from requirement analysis th
|
|
|
5
5
|
|
|
6
6
|
# SAP SDLC orchestration
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** Whenever an implementation package edits or hands off serialized ABAP/RAP/CDS sources in a workspace, require `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
|
|
9
|
+
|
|
8
10
|
## Tool shortlist
|
|
9
11
|
|
|
10
12
|
Query the active MCP server's live `tools/list` once; use task-relevant tools with their returned schemas. Investigate system and repository context with `GetSystemInfo`, `GetFeatures`, `GetConnectionInfo`, `GetInstalledComponents`, `SearchObject`, `GrepObjects`, `GrepPackages`, `GetSource`, `GetContext`, `FindDefinition`, `FindReferences`, `CompareSource`, and dependency tools (`ListDependencies`, `GetCDSDependencies`, `GetCDSImpactAnalysis`). Validate with `LintABAP`, `SyntaxCheck`, `RunUnitTests`, `RunATCCheck`, runtime queries (`RunQuery`, `GetTableContents`), `GetApplicationLog`, and `GenerateRAPRegressionSuite` / `RunRAPRegressionSuite` when exposed. Use transport tools for readiness planning only; never claim transport release/deletion support because transport release is unavailable through this addon. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
|
|
@@ -5,6 +5,8 @@ description: Assess requirements against SAP standard capabilities, released API
|
|
|
5
5
|
|
|
6
6
|
# SAP standard and API analysis
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** Whenever the recommendation includes editing or handing off serialized ABAP/RAP sources in a workspace, require `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Any actual activation still requires a successful `LintABAP` run immediately before activation on the latest source for the exact activation request. Never activate merely to run tests. Skip for analysis-only work or when no serialized project source exists.
|
|
9
|
+
|
|
8
10
|
## Tool shortlist
|
|
9
11
|
|
|
10
12
|
Query the active MCP server's live `tools/list` once; use task-relevant tools with their returned schemas. Inspect target capabilities with `GetSystemInfo`, `GetFeatures`, `GetConnectionInfo`, and `GetInstalledComponents`. Search candidates with `SearchObject`, `GrepObjects`, `GrepPackages`, `GetSource`, `GetContext`, `FindDefinition`, `FindReferences`, `ListDependencies`, `GetCDSDependencies`, `GetCDSImpactAnalysis`, and `GetCDSElementInfo`. Verify released API status with `GetAPIReleaseState` or batch with `PlanABAPCloudMigration` when exposed. Use `RunQuery` or `GetTableContents` only for safe read-only evidence. Never claim transport release/deletion support; transport release is unavailable through this addon. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
|
|
@@ -5,6 +5,8 @@ description: Prepare ABAP changes for SAP transport and verify request contents,
|
|
|
5
5
|
|
|
6
6
|
# SAP transport preparation
|
|
7
7
|
|
|
8
|
+
**Workspace preflight.** When a transport request includes serialized ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no local serialized sources exist.
|
|
9
|
+
|
|
8
10
|
## Tool shortlist
|
|
9
11
|
|
|
10
12
|
Query the active MCP server's live `tools/list` once; use task-relevant tools with their returned schemas. Identify candidates with `GetUserTransports` or `ListTransports`; inspect a request with `GetTransport` / `GetTransportInfo`; use `CheckTransportReadiness` to collect transport, dependency, inactive-object, ABAP Unit, and ATC evidence when available. Activate with `Activate` / `ActivateMultiple` only when requested. `CreateTransport` is state-changing and requires explicit authorization. Release and deletion are not available through this addon. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
|