abap-code-review-helpe…
Primary correctness and runtime-safety review guidance for ABAP reports, classes, function modules, enhancements, BAPIs,…
Safely review, apply, verify, activate, and record one user-selected object in an ABAP FS Copilot-assisted repository-comparison workflow. Use only after the repository workflow has a prepared assisted-apply plan and the user has enabled Copilot-assisted apply.
$ npx -y skills add marcellourbani/vscode_abap_remote_fs --skill repository-assisted-apply --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/repository-assisted-applyContext preview
The summary Claude sees to decide when to auto-load this skill.
Safely review, apply, verify, activate, and record one user-selected object in an ABAP FS Copilot-assisted repository-comparison workflow. Use only after the repository workflow has a prepared assisted-apply plan and the user has enabled Copilot-assisted apply.
name: repository-assisted-apply description: Safely review, apply, verify, activate, and record one user-selected object in an ABAP FS Copilot-assisted repository-comparison workflow. Use only after the repository workflow has a prepared assisted-apply plan and the user has enabled Copilot-assisted apply.
Use this skill only for the Copilot-assisted apply phase of an ABAP FS repository-comparison workflow. Do not use its apply or activation-record operations for ordinary ABAP editing.
Repository assisted apply propagates reviewed raw source between live SAP systems, saves inactive code through CTS transport handling, and can activate executable repository objects. A wrong object, stale review, guessed transport, incomplete activation set, or unintended retry can overwrite pending work or affect unrelated code. The rules in this skill are authorization and safety boundaries: follow them exactly, fail closed on missing evidence, and return control to the user instead of guessing.
The user owns all authorization boundaries:
Copilot reviews and orchestrates one selected object at a time. It never chooses objects or transports.
Before any per-object work:
1. The comparison and assisted-apply plan must already exist. 2. The workflow must currently be in Copilot-assisted mode with recorded user consent. 3. The user must have saved the allowed object selection in the workflow UI. 4. The exact object must be pending and eligible.
Use `abapfs_get_repository_workflow` with the smallest required includes. Read `assistedApplyObjects` to confirm selection and state; use `diff` with one exact `objectKey` for a bounded raw or formatted review. Never request unbounded repository source.
Prefer delegating execution to `abap-repository-assisted-apply` when that enabled subagent is available. One invocation handles exactly one table object.
Before delegation, the parent agent must:
1. identify one exact `workflowId` and one exact saved `objectKey`; 2. obtain current target transport status when necessary; 3. explain any existing lock to the user; 4. collect the user's exact transport direction; 5. pass only that one object and direction to the subagent.
The transport direction must be one of:
If you are the main agent, you own the user conversation, ordering, bounded-wave approval, worker concurrency, result synthesis, and transport-strategy choice. Follow the `repository-workflow` skill's parallel-wave process. If the user wants one shared new request, create it as the main agent and pass its exact number to the applicable workers. If the user wants one new request per object, pass one exact approved description to each worker. Never infer which strategy the user wants, and never delegate without a complete per-object transport path. Never send multiple objects to one subagent.
If you are the delegated subagent, do not select objects, ask the user to choose a transport, run the user-only bulk transport check, choose a transport strategy, process arrays, launch other agents, or retry failed work. You may create exactly one request only when the parent supplied an exact user-approved per-object description. You handle only the one object delegated to you.
For one selected pending object:
1. Read a bounded object diff. Formatted diff is useful for low-noise review; raw snapshots remain authoritative for apply. 2. Decide exactly one:
3. Call `abapfs_get_repository_workflow` with `assistedApplyAction: "setDecision"`, the singular `objectKey`, the decision, and a concise evidence-based reason.
Never batch decision updates. Never leave an unexplained `as-is` decision. Stop after `skip` or `needs-human`.
Immediately before applying `as-is`, call `abapfs_get_object_transport_status` for the singular target object. A persisted webview transport check is useful context but can be stale.
| Current status | Allowed direction | |---|---| | `locked` | Use that exact request only after the user approves it | | `not-locked` | Use only the exact existing request number or exact per-object new-request description supplied by the parent. | | `local` | Use local handling; no request is assigned | | error/unknown/conflict | Stop and return to the user |
Never invent a request or description. Never silently create, switch, or fall back to another request. If an object becomes locked differently after approval, stop and ask the parent to resolve the conflict with the user.
The workflow UI also has **Determine transport request for selected objects** with bounded SAP concurrency. It is a visible user-only bulk operation and is not exposed through a Copilot-callable tool, so you cannot invoke it. Do not simulate that bulk operation by looping `abapfs_get_object_transport_status` across the selection.
Call `abapfs_apply_repository_workflow_object` with exactly:
The tool, not the model:
A VS Code extension that gives AI assistants real, live access to your SAP system — reads actual code, queries live tables, runs tests, debugs, and understands your custom objects. Ask "How does BAPI_USER_GET_DETAIL work?"
Primary correctness and runtime-safety review guidance for ABAP reports, classes, function modules, enhancements, BAPIs,…
Structured process for building ABAP solutions. Use BEFORE writing any ABAP code — reports, classes, function modules,…
ABAP performance best practices for ECC / traditional database systems (Oracle, DB2,MSSQL, MaxDB). Use when writing or reviewing…
ABAP performance best practices for S/4HANA and HANA database systems.Use when writing or reviewing ABAP code on HANA-based…
Techniques for navigating and finding objects in SAP systems. Use when searching for transactions, programs, FMs, classes, error…
Investigate SAP ADT REST API endpoints. Use when the user asks about ADT API endpoints, request/response XML formats, content…