GitHub Copilot: Zero to Agents — SAP Edition Workshop

Duration: ~5 hours (deliverable as a 2-part series)
Format: Presentation + Live Demo + Hands-On
Audience: SAP developers with basic Copilot exposure (completions/chat) — ABAP, CAP/BTP, and integration engineers
Focus: Copilot customization and agentic workflows on genuinely SAP material — CAP in VS Code and ABAP in Eclipse
Repos: capire/bookshop (SAP CAP — runs locally, no backend) · ABAP samples (abap-cheat-sheets, abap-platform-refscen-flight, cloud-abap-rap)
Companion document: GitHub Copilot for SAP Developers — the lighter enablement workshop

Note: This is the deep hands-on SAP edition of Zero to Agents. It teaches the full customization stack — modes, instructions, prompts, skills, custom agents, MCP, CLI, and cloud agents — on real SAP development. The primary substrate is the SAP Cloud Application Programming Model (CAP) in VS Code (genuinely SAP, runs locally with no backend), and a dedicated section covers the same agentic stack in Eclipse over ABAP, which the GitHub Copilot for Eclipse plugin now supports (v0.20.0+).


Workshop Overview

This session takes SAP developers from casual Copilot usage to full agentic development. Starting with inline completions and chat modes, then progressing through the customization layers — instructions, prompts, agents, skills, and MCP servers — attendees build a complete understanding of how to tailor Copilot to SAP workflows. The session extends to the standalone GitHub Copilot CLI and closes with autonomous cloud agents (Coding Agent + PR Review), then shows the same stack running in Eclipse over ABAP.

The CAP bookshop is the perfect subject: a first-party SAP framework that runs entirely on your laptop with an in-memory database, so every exercise is real SAP development with no S/4HANA backend. The ABAP track uses SAP's own sample repositories, so Copilot reasons over authentic ABAP source.

Learning Objectives

Prerequisites

Requirement Details
GitHub Account With Copilot Pro, Business, or Enterprise license
VS Code Latest stable (or Insiders for preview features)
Copilot Extension GitHub Copilot + GitHub Copilot Chat extensions installed
Node.js Version 18 or higher
SAP CDS toolkit npm install -g @sap/cds-dk
Git For cloning the demo repositories
GitHub Copilot CLI Install from https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli — required for Section 8
Eclipse (optional) Eclipse 2024-09+ (2025-03+ recommended) + ABAP Development Tools (ADT) + GitHub Copilot plugin 0.20.0+ — for Section 10

Important: Sections 1–9 run entirely in VS Code on the CAP bookshop — no live SAP backend needed. Section 10 uses ABAP sample source in Eclipse (also backend-free); a live SAP system only adds execution, ATC, and live-data steps.


Session Agenda

Section Topic Time
1 Welcome, Objectives & Two-IDE Setup 20 min
1b Inline Completion & Inline Chat 15 min
2 Chat Modes: Ask, Agent, Plan 25 min
2b Slash Commands, @ Participants & # Context 10 min
3 Custom Instructions (SAP Standards) 30 min
4 Custom Prompt Files 25 min
5 Agent Skills 25 min
6 Custom Agents (Chat Modes) 25 min
🍽️ Break / Part 2 boundary —
7 MCP Servers: The SAP MCP Ecosystem 35 min
8 GitHub Copilot CLI: The Agentic Terminal 30 min
9 Cloud Agents: Coding Agent + PR Review 20 min
10 ABAP in Eclipse: The Full Agentic Stack 30 min
11 Wrap-Up, Customization Hierarchy Recap & Q&A 10 min

Total: ~300 min core (~5h) — deliver as Part 1 (§1–6) and Part 2 (§7–11), or a full day.


The "Zero to Agents" Narrative Arc

Chat Modes → Custom Instructions → Prompt Files → Agent Skills → Custom Agents → MCP → CLI → Cloud Agents → ABAP in Eclipse
 (explore)    (encode standards)   (reusable)     (auto-select)  (personas)     (tools) (terminal) (autonomous)  (SAP core)

Each section builds on the previous one, progressively customizing Copilot from a general assistant into a specialized SAP development partner — across both VS Code (CAP) and Eclipse (ABAP).


1. Welcome, Objectives & Two-IDE Setup (20 min)

Key Points

🖥️ DEMO: The CAP Bookshop

  1. Show capire/bookshop — the data model in db/, services in srv/, app in app/
  2. Explain the OData service and in-memory database — genuinely SAP, no S/4HANA needed
  3. Point out there is no .github/ customization yet — we build it across the workshop

🧪 Hands-On: Environment Setup (10 min)

Step 1: Clone & install

git clone https://github.com/capire/bookshop
cd bookshop
npm install
npm install -g @sap/cds-dk

Step 2: Run the service

cds watch

Step 3: Verify

  • cds watch serves the OData service (default http://localhost:4004)
  • The in-memory database loads sample books and authors
  • VS Code: Command Palette → "Copilot" → verify the extension is active

Discussion Points


1b. Inline Completion & Inline Chat (15 min)

Key Points

🖥️ DEMO: Comment-to-Code in the CAP Service

  1. Open srv/cat-service.cds (and its handler if present)
  2. In the handler, type a guiding comment and let Copilot complete:
// Add a handler that lowercases the book title before returning results
  1. Accept useful parts with Tab; refine with inline chat (Ctrl+I):
Make this handler async and add a guard for an empty result set.

Success Criteria

Discussion Points


2. Chat Modes: Ask, Agent, Plan (25 min)

Key Points

Mode Comparison

Mode Best For Output
Ask Exploring, learning, understanding code Text explanations, snippets
Agent Building, editing, running commands File edits (single/multi), commands
Plan Analyzing and proposing before coding Implementation plans (no edits)

🖥️ DEMO: Ask → Plan → Agent on the CAP Service

  1. Ask: @workspace Explain this CAP project — the data model in db/, the services in srv/, and how they connect.
  2. Plan: I want to add a submitOrder action to the CatalogService. Give me a step-by-step plan before any code.
  3. Agent: Implement step 1 from that plan. — watch Copilot edit files and run cds watch

🧪 Hands-On: Try All Three Modes (8 min)

Exercise 1 — Ask: What entities and services does this CAP project expose?

Exercise 2 — Plan: How should I add stock tracking and an out-of-stock rule to Books?

Exercise 3 — Agent: Build and run the project, then open the served OData endpoint.

Success Criteria


2b. Slash Commands, @ Participants & # Context (10 min)

Key Points

🖥️ DEMO: Context Targeting on CAP

  1. Select a handler → /explain
  2. Vague: How does the catalog service work? — note the generic answer
  3. Precise: @workspace #file:srv/cat-service.cds How does the catalog service work? — note the precision

Discussion Points


3. Custom Instructions (SAP Standards) (30 min)

Key Points

🖥️ DEMO: Generate + Scope Instructions for CAP

  1. Chat → Gear icon → Generate Agent Instructions → save to .github/copilot-instructions.md
  2. Create scoped instructions for the service layer:
---
applyTo: "srv/**"
---
# CAP Service Instructions
- Expose entities through services — never query the db model directly from clients.
- Validation errors use the CAP req.error(code, message) API.
- Prefer async/await in custom handlers.
- Add OData-friendly naming and keep actions/functions explicit.
  1. Ask Copilot to add a service method and confirm it follows the conventions unprompted

🧪 Hands-On: Encode Your SAP Standards (12 min)

Step 1: Establish a baseline — ask How should I add a new action to the CatalogService? before instructions.

Step 2: Generate project-wide instructions (Gear → Generate Agent Instructions).

Step 3: Create .github/instructions/CAP.instructions.md with applyTo: "srv/**" and the rules above.

Step 4: Ask the same question and compare — note the CAP-specific guidance.

Success Criteria


4. Custom Prompt Files (25 min)

Key Points

🖥️ DEMO: A CAP Test-Coverage Prompt

Create .github/prompts/cap-tests.prompt.md:

---
mode: 'agent'
description: 'Generate cds.test coverage for a CAP service action'
tools: ['codebase', 'search', 'editFiles', 'runCommands']
---

# CAP Test Coverage

## Objective
Generate tests for the target action using the CAP test runtime (cds.test).

## Requirements
- Cover the happy path and the out-of-stock edge case
- Add a package.json test script if one does not exist
- Follow existing patterns in the repo

## Success Criteria
- Tests run with `npm test` and pass

Run it against the submitOrder action and watch Agent mode generate and run tests.

🧪 Hands-On: Build a Prompt File (12 min)

Exercise 1: Run the cap-tests.prompt.md above.

Exercise 2: Create security-review.prompt.md that scans the CAP service for missing validation, unhandled errors, and direct db access from handlers.

Success Criteria


5. Agent Skills (25 min)

Key Points

🖥️ DEMO: A CAP Service-Creation Skill

Create .github/skills/cap-service/SKILL.md:

---
name: cap-service
description: Guide for adding CAP entities, services, and actions.
  Use this when asked to add new entities, services, actions, or endpoints.
---

When adding to this CAP project:
1. Define/extend the entity in `db/` (CDS).
2. Expose it via a service in `srv/` — never the db model directly.
3. Implement custom logic in the matching `.js` handler with async/await.
4. Use req.error for validation failures.
5. Add cds.test coverage including edge cases.

Prompt: Add a Warehouses entity and expose it with stock management — watch Copilot follow the skill.

🧪 Hands-On: Author a Skill (12 min)

Exercise 1: Create the cap-service skill above and trigger it with a new-entity prompt.

Exercise 2 (bonus): Create a cds-modeling skill for CDS naming, associations, and compositions.

Success Criteria


6. Custom Agents (Chat Modes) (25 min)

Key Points

🖥️ DEMO: A CAP Engineer + a CDS Reviewer

  1. Create .github/agents/CAPEngineer.agent.md (read/write tools) — a full-stack CAP engineer persona that follows the project conventions
  2. Create .github/agents/CDSReviewer.agent.md (read-only tools: codebase, search, usages, problems) — reviews services for validation, error handling, and model exposure
  3. Show both in the mode picker; give each a task and note how the tool list controls behavior

🧪 Hands-On: Build a Reviewer Agent (10 min)

Create .github/agents/CDSReviewer.agent.md with read-only tools and a review persona, then ask it to review srv/cat-service.cds and the submitOrder handler.

Success Criteria


7. MCP Servers: The SAP MCP Ecosystem (35 min)

Key Points

The SAP MCP Servers

Server Layer What It Does
@sap-ux/fiori-mcp-server Fiori elements apps Generate/modify SAP Fiori elements UIs from prompts
@ui5/mcp-server SAPUI5 / OpenUI5 Scaffold UI5 apps, API references, guidelines, linting
@cap-js/mcp-server CAP backend Search the compiled CDS model and CAP docs

🖥️ DEMO: Register the SAP MCP Servers + GitHub MCP

Add to .vscode/mcp.json:

{
  "servers": {
    "fiori-mcp": { "type": "stdio", "command": "npx", "args": ["--yes", "@sap-ux/fiori-mcp-server@latest", "fiori-mcp"] },
    "ui5-mcp-server": { "type": "stdio", "command": "npx", "args": ["-y", "@ui5/mcp-server"] },
    "cds-mcp": { "type": "stdio", "command": "npx", "args": ["-y", "@cap-js/mcp-server"] },
    "github": { "type": "http", "url": "https://api.githubcopilot.com/mcp/" }
  }
}

Then, in Agent mode: Add a SAP Fiori elements list report app for the Books entity, with an object page for details. — the CAP server grounds Copilot in the compiled model; the Fiori/UI5 servers scaffold a real, governed SAP UI.

🧪 Hands-On: SAP MCP + GitHub MCP (15 min)

Exercise 1: Register the four servers and confirm via Command Palette → MCP: List servers.

Exercise 2: Generate a Fiori elements app on the Books entity; apply UI5 guidelines/linting via the UI5 server.

Exercise 3: With GitHub MCP, create an Issue for a follow-up enhancement from chat.

Success Criteria

Discussion Points


8. GitHub Copilot CLI: The Agentic Terminal (30 min)

Key Points

🖥️ DEMO: The Agentic Terminal on the CAP Project

  1. From a standalone terminal in the bookshop repo: copilot
  2. Ask: Explain this CAP project and list all entities and services
  3. Plan mode (Shift+Tab): Plan how to add pagination to the Books listing
  4. Build: Implement the plan, following @srv/cat-service.cds
  5. /delegate Add tests for the new pagination and open a PR — hands off to the cloud Coding Agent

🧪 Hands-On: Try the CLI (15 min)

Exercise 1: Launch copilot, approve the trusted directory, ask a codebase-aware question.

Exercise 2: Use @srv/cat-service.cds file context; toggle plan mode with Shift+Tab.

Exercise 3 (bonus): /review your changes, or /delegate a task to the Coding Agent.

Success Criteria


9. Cloud Agents: Coding Agent + PR Review (20 min)

Key Points

🖥️ DEMO: Issue → Coding Agent → PR → Review

  1. Create/assign an Issue: Add input validation to submitOrder (positive integer quantity, existing book)
  2. Assign Copilot → watch the Coding Agent branch, implement, and open a PR
  3. Add Copilot as a reviewer on the PR → walk through the AI review comments

Discussion Points


10. ABAP in Eclipse: The Full Agentic Stack (30 min)

Key Points

Setup

Install Eclipse + ADT + the latest Copilot plugin (0.20.0+), then clone the ABAP samples (any folder) and import them (File → Import → General → Projects from Folder or Archive). See the enablement workshop's Facilitator Setup for the full walkthrough.

git clone https://github.com/SAP-samples/abap-cheat-sheets
git clone https://github.com/SAP-samples/abap-platform-refscen-flight
git clone https://github.com/SAP-samples/cloud-abap-rap

🖥️ DEMO: The Stack, in Eclipse, over ABAP

  1. Ask — open a class from abap-platform-refscen-flight: What is this program doing? Draw the execution flow.
  2. Custom instructions — add .github/copilot-instructions.md with ABAP conventions (modern 7.5+ syntax, check sy-subrc)
  3. Agent mode — Refactor this to modern ABAP 7.5+ syntax and add a helper method, following our conventions — review each edit
  4. Skills/prompts — reuse a SKILL.md for ABAP unit tests; note MCP also works here

Success Criteria

Discussion Points


11. Wrap-Up, Customization Hierarchy Recap & Q&A (10 min)

The Full Stack — Across Both IDEs

CLOUD AGENTS      Coding Agent (async PRs) + PR Review — github.com, any IDE
MCP SERVERS       SAP Fiori / UI5 / CAP + GitHub — VS Code and Eclipse
AGENT SKILLS      .github/skills/*/SKILL.md — auto-selected
CUSTOM AGENTS     .github/agents/*.agent.md — personas
PROMPT FILES      .github/prompts/*.prompt.md — reusable tasks
CUSTOM INSTRUCTIONS  .github/copilot-instructions.md + scoped — always-on SAP standards
CHAT MODES        Ask → Plan → Agent
  CLI (§8): agentic terminal · Eclipse (§10): the same stack over ABAP

Key Takeaways

  1. Modes are the foundation — Ask to understand, Plan to design, Agent to build
  2. Instructions encode SAP tribal knowledge — CAP and ABAP standards, always on
  3. Prompts, skills, and agents make SAP workflows repeatable and shareable
  4. MCP connects Copilot to the SAP ecosystem (Fiori, UI5, CAP) — in both IDEs
  5. Cloud agents close the loop from Issue to PR to review
  6. Eclipse now runs the full agentic stack over ABAP — with review kept essential

What You Built Today

Artifact Section
.github/copilot-instructions.md + CAP.instructions.md §3
.github/prompts/cap-tests.prompt.md §4
.github/skills/cap-service/SKILL.md §5
.github/agents/CDSReviewer.agent.md §6
.vscode/mcp.json with SAP + GitHub MCP §7
CLI agentic session + a delegated PR §8–9

Discussion Points


Appendix

Key URLs

Resource URL
GitHub Copilot documentation https://docs.github.com/en/copilot
Copilot in the CLI https://docs.github.com/en/copilot/github-copilot-in-the-cli
Custom instructions https://docs.github.com/en/copilot/how-tos/configure-custom-instructions
Prompt files https://docs.github.com/en/copilot/how-tos/copilot-prompts
Agent Skills https://docs.github.com/en/copilot/concepts/agents/about-agent-skills
MCP in Copilot https://docs.github.com/en/copilot/how-tos/using-extensions/using-mcp-in-copilot
Copilot Coding Agent https://docs.github.com/en/copilot/using-github-copilot/using-copilot-coding-agent
GitHub Copilot for Eclipse (plugin repo) https://github.com/microsoft/copilot-for-eclipse
Copilot feature matrix (Eclipse) https://docs.github.com/en/copilot/reference/copilot-feature-matrix?tool=eclipse
SAP CAP sample (capire/bookshop) https://github.com/capire/bookshop
SAP Cloud Application Programming Model docs https://cap.cloud.sap/docs/
SAP Fiori MCP server https://www.npmjs.com/package/@sap-ux/fiori-mcp-server
UI5 MCP server https://www.npmjs.com/package/@ui5/mcp-server
CAP MCP server https://www.npmjs.com/package/@cap-js/mcp-server

Troubleshooting

Issue Solution
Copilot not active Check the extension is installed and signed in
MCP server won't start MCP: List servers, verify chat.mcp.discovery.enabled is true, verify Node.js
cds watch fails Run npm install and npm install -g @sap/cds-dk; check Node 18+
Eclipse Copilot language server fails Sign in to GitHub first, then restart Eclipse
ABAP agent mode error on ADT virtual files Use the latest plugin (0.20.0+); spot-check on ADT editors

Condensed Delivery (2-Part Series)


Workshop guide for the GitHub Copilot: Zero to Agents — SAP Edition