Person

Marian Zeis

Provides 6
Agent guidanceUI5CAPBTPABAPAgent guidancecapabilityPackaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from [agent access to your code](capability:agent-code-access), where the agent reads the real project instead of being handed a file about it.Build and dev-server toolingUI5Build and dev-server toolingcapabilityServing an app locally and building it for deployment — proxying a backend, transpiling, bundling, and shaping the result for whatever will host it.Custom controls and librariesUI5Custom controls and librariescapabilityExtending the set of controls an app is built from: a control of its own, a wrapper around a third-party widget, or an icon font registered with the framework, packaged so another app can reuse it. Distinct from [Web Components interop](capability:ui5-web-components), which brings in standard custom elements, and from [generators](capability:generators), which scaffold a control project rather than being one.DocumentationUI5CAPBTPABAPDocumentationcapabilityFinding the answer in what has already been written, and writing it where it has not — first-party documentation made searchable by something other than a person scrolling it, including by an agent, and a document of custom code produced from the code itself.Importing and exporting table dataUI5ABAPCAPImporting and exporting table datacapabilityGetting a file somebody supplies, a spreadsheet, a CSV or a JSON dump, into tables with its columns mapped and its values checked, and getting table content back out as a file. Data shipped with an application for development and demonstration is [seed data](capability:seed-data).UI5 testingUI5UI5 testingcapabilityProving a UI still works — unit tests over controllers and formatters, integration tests that drive real controls, and end-to-end runs against a served app.
Demonstrates 5
Build and dev-server toolingUI5Build and dev-server toolingcapabilityServing an app locally and building it for deployment — proxying a backend, transpiling, bundling, and shaping the result for whatever will host it.Data bindingUI5Data bindingcapabilityKeeping a control and a model in step in both directions, including the formatting, type conversion and validation that sit between the two.Fiori annotationsUI5CAPABAPFiori annotationscapabilityDescribing a service so a Fiori client can render it without hand-written UI code — titles, value helps, hierarchies and visibility expressed as model annotations rather than screen logic.Generative UIUI5CAPGenerative UIcapabilityPutting an interface inside an agent conversation: a tool result or an agent's reply shown as controls a person can work in, where text would have been. Two things go by the name. A prebuilt web UI that an MCP tool points to and the host renders in a sandboxed iframe, which the MCP Apps extension specifies, is selected by the model and not generated by it; a user interface rendered from a stream of JSON objects the agent sends, which the A2UI specification describes, is. Generating an application's source at design time is [generators](capability:generators).UI5 testingUI5UI5 testingcapabilityProving a UI still works — unit tests over controllers and formatters, integration tests that drive real controls, and end-to-end runs against a served app.
Contributes to 3
GeneratorsUI5CAPABAPGeneratorscapabilityGetting from nothing to a project that runs, and from a project that runs to one that has the piece you just decided you need. Two different moments: the first is a one-time decision about layout, the second recurs for the life of the project.LintingUI5CAPLintingcapabilityCatching in the editor what would otherwise be caught at deploy time, or not at all — problems in source code and models and in the project's configuration, found by rules rather than by review.TypeScript supportUI5TypeScript supportcapabilityWriting apps and libraries in TypeScript — the type definitions, the module syntax the loader expects, and the build step that gets from one to the other.

Entries51

Group by51 of 51 entries
EntrySignals
Maintains9
@marianfoo/ui5-cc-dayjs
Quiet

UI5 custom control formatting dates with Day.js

mcp-sap-docs
Functional boundary

MCP server searching seventeen SAP documentation repositories

ui5-cc-pdfviewerv0.1.1
Quiet+1

UI5 custom control rendering a PDF from a base64 data URI

ui5-cc-spreadsheetimporterv2.4.0
none

UI5 component adding a spreadsheet upload dialog to Fiori apps

ui5-lib-diff
No license+1

Hosted app listing changes between SAPUI5 or OpenUI5 versions

ui5-middleware-odata-recorderv0.0.13
Functional boundary

UI5 middleware recording OData traffic as mock server datasets

ui5-plugin-loaderv0.2.0
none

UI5 Tooling v4 extension that registers other extensions

ui5-task-btp-manifestv0.2.2
none

UI5 Tooling task writing the service name into the importer manifest

Werkbank
none

Local desktop workspace for AI conversations with SAP connectors

Maintains: samples, sketches and references7
cap-materialbom-graph
No license

CAP sample drawing a material BOM as a UI5 network graph

fiori-table-maintenance
No license

CAP and UI5 app for in-place table maintenance with SmartTable

ui5-call-action
No license

UI5 apps calling CAP OData actions and functions from custom code

ui5-errorhandler-sample
No license

Two UI5 apps consuming one npm package in two ways

ui5-fe-mockserver-tutorial
No license

Ten exercises on the Fiori elements mock server middleware

UI5con_2026_MCPApps
No license

Five MCP servers whose tools return a prebuilt UI

ui5con24-dev-env
No license

pnpm workspace running CAP, a local launchpad and two UI5 apps

Contributes to35
@ui5/cliv4.0.71
none

UI5 Tooling command line for project setup, dev server and build

@ui5/linterv1.23.7
none

Static analysis tool for UI5 projects

create-wdi5v3.0.0
none

npm initializer adding wdi5 testing to an existing UI5 app

generator-ui5-addv1.0.2
Quiet

Yeoman generator for UI5 tooling-extension projects

generator-ui5-project
Functional boundary

Yeoman generator for UI5 projects holding several applications

generator-ui5-ts-app
none

Easy-UI5 generator scaffolding a TypeScript UI5 application

generator-ui5-ts-app-fcl
none

Generator for a TypeScript UI5 FlexibleColumnLayout app on OData

generator-ui5-ts-library
none

Easy-UI5 generator scaffolding a TypeScript UI5 library

spreadsheetimporter/packed-deployment-abap
none

UI5 app template deploying the Spreadsheet Importer once to ABAP

spreadsheetimporter/sample-adaptation-banks
No license

Adaptation project adding spreadsheet upload to Manage Banks

spreadsheetimporter/sample-adaptation-banks-update
No license

Manage Banks adaptation updating existing records from a spreadsheet

spreadsheetimporter/sample-full-btp
none

CAP Risks and Mitigations project with a Spreadsheet Upload button

spreadsheetimporter/sample-odata-api-upload
none

UI5 app opening the Spreadsheet Importer on on-premise OData services

spreadsheetimporter/sample-standalone
No license

UI5 app opening the Spreadsheet Importer on its own

ui5-app
none

UI5 app carrying 18 UI5 CLI extensions in one configuration

ui5-cc-mdv0.0.7
Quiet

UI5 custom control rendering Markdown to HTML

ui5-middleware-iasyncv3.0.0-alpha.10
none

UI5 middleware syncing interactions across browsers over websocket

ui5-middleware-indexv3.1.4
none

UI5 middleware serving a chosen welcome page at the root path

ui5-middleware-livereloadv3.4.0
none

Live reload middleware for the UI5 dev server

ui5-middleware-oneloginv3.9.1
none

UI5 middleware logging in with Playwright and reusing the session

ui5-middleware-serveframeworkv3.8.2
none

UI5 middleware serving a locally built UI5 framework

ui5-middleware-servestaticv3.5.1
none

UI5 middleware serving static resources from a path or npm package

ui5-middleware-simpleproxyv3.9.0
none

Dev-server middleware proxying requests to a backend system

ui5-middleware-ui5v3.5.2
none

UI5 middleware including one UI5 application in another

ui5-middleware-webjarsv3.1.4
none

UI5 middleware serving static resources from JAR files (WebJars)

ui5-task-flatten-libraryv3.1.4
none

UI5 builder task flattening library output for SAP NetWeaver

ui5-task-i18ncheckv3.3.1
none

UI5 builder task checking XML views for missing i18n texts

ui5-task-minify-xmlv3.2.0
none

UI5 builder task minifying XML views and fragments

ui5-task-pwa-enablerv3.4.1
none

UI5 builder task turning a UI5 app into a progressive web app

ui5-task-transpilev0.5.1
none

UI5 Tooling task transpiling TypeScript and ES modules

ui5-task-zipperv3.7.0
none

Build task packaging the UI5 build result as a zip archive

ui5-test-runnerv6.0.1
none

Command line running UI5 QUnit and OPA tests in parallel

ui5-tooling-modulesv3.41.2
none

UI5 tooling extensions loading npm packages as UI5 modules

ui5-tsapp
none

TypeScript UI5 app consuming custom UI5 CLI extensions together

wdio-ui5-servicev3.0.12
Functional boundary

End-to-end testing for UI5 on WebdriverIO with UI5 control selectors

Writing and topics12

12 of 12 pieces
Piece, what it offersStill applies
AI-assisted SAP development with MCP
YouTube — SAP Developers playlists, Marian Zeis
nothing recorded
UI5 Has Entered the Chat: Building Interactive MCP Apps for SAP
blog.zeis.de — Marian Zeis, Marian ZeisThe reasoningA recipeRunnable code
nothing recorded
Before You Upgrade S/4HANA: Static UI5 Checks with MCP
blog.zeis.de — Marian Zeis, Marian Zeis, part 9 of 10Runnable codeThe reasoning
nothing recorded
From SEGW and Legacy UI5 to RAP with ARC-1
blog.zeis.de — Marian Zeis, Marian Zeis, part 7 of 10Runnable codeThe reasoning
New majors
How I Use AI for Development and Why Context Matters
blog.zeis.de — Marian Zeis, Marian Zeis, part 1 of 10The reasoning
nothing recorded
Building an Enterprise-Ready SAP AI Agent with Open Source
blog.zeis.de — Marian Zeis, Marian ZeisThe reasoningRunnable code
nothing recorded
Finally: An MCP Server for ABAP
blog.zeis.de — Marian Zeis, Marian ZeisThe reasoningA reference
nothing recorded
Evaluating SAP’s new MCP servers: UI5, CAP, and Fiori tools in practice
SAP Community, Marian ZeisThe reasoningA recipeRunnable code
nothing recorded
The Complete Guide to Calling Actions in UI5 with Custom Code
SAP Community, Marian ZeisThe reasoningRunnable code
nothing recorded
Visualizing Your SAP Bill of Materials Using CAP, Fiori elements, and the UI5 Network Graph
SAP Community, Marian ZeisThe reasoningRunnable code
Core changed
Simple Table Maintenance in SAP Fiori Using UI5 Smart Controls
SAP Community, Marian ZeisThe reasoningRunnable code
nothing recorded
Using the UI5 Mockserver for Client-Specific Data and Testing
SAP Community, Marian Zeis
nothing recorded

Details

History14
  • ui5-fe-mockserver-tutorialtype_properties → formform is tutorial, on the README's first line: "Tutorial for using `@sap-ux/ui5-middleware-fe-mockserver` in SAP Fiori development." The repository was published for Devtoberfest 2025 and the SAP Community post the README links calls it a tutorial from Devtoberfest, so workshop was considered and left out: form is one value, and what this presents itself as is a tutorial with exercise folders, not CodeJam material.
  • ui5-fe-mockserver-tutorialrequires → artifact:marianfoo-ui5-call-actionThe README's Prerequisites tell the reader to clone and run that CAP project before starting, and the fact was already in what_it_solves with no edge under it. artifact:marianfoo-ui5-call-action was a pending draft when this entry was written and is published now, so the plain link in the prose became a graph link in the same pass, as did ui5-middleware-odata-recorder.
  • Werkbankprovides → capability:agent-guidanceWhat Werkbank adds for ABAP, CAP and UI5 is its catalog of development skills; the workspace itself is not specific to any of those stacks. Agent workspaces is narrowed back to BTP.
  • Werkbankecosystem → umbrellaThe project homepage describes "A small, curated shelf of MCP servers and SAP development skills." Its own catalog spans ABAP (ARC-1 and ABAP Cloud), CAP (CAP Upgrade), and UI5 skills; the workspace is not specific to one stack. This intake follows the maintainer’s explicit request after the September source sweep passed it over for lacking a workspace capability; that concern now exists as Agent workspaces. The served views describe which users the project-owned install catalog addresses. Werkbank provides the workspace; each selected connector or skill supplies the stack-specific behavior. No SAP implementation capability is attributed to Werkbank itself.
  • cap-materialbom-graphentry → createdDrafted from the repository's own files, because its README is the unedited `cds init` template and the only sentence the maintainer wrote about it is the repository description, "This is a sample to show the Material as Network Graph in a Fiori elements app": db/schema.cds for the model and the GraphNetwork pseudo-entity, srv/service.js for the READ handler that walks the bill of materials, app/material/webapp/manifest.json for the list report and object page generated from `@sap/generator-fiori:lrop` and the custom section, the graph fragment for `sap.suite.ui.commons.networkgraph`, and package.json for `@sap/cds` ^8 and `@cap-js/sqlite`. artifact_type sample and use_as starting-point are a placement: one commit, a local SQLite run and no deployment described. domain ui-and-frontend-bridge follows the half of it the sample is about, as on cap-sflight. No licence is recorded: the repository has no LICENSE file and package.json carries the `cds init` defaults "license": "UNLICENSED" and "private": true.
  • ui5-errorhandler-sampleentry → createdIts own README states the subject: "This sample shows how to use npm packages", with "How to consume a UI5 AMD style module" and "How to consume a classic js class" as the two examples. That places it on capability:ui5-build-tooling, where artifact:ui5-community-ui5-tooling-modules already sits, rather than anywhere near error handling: the error handler is the payload being consumed and not what the sample teaches. demonstrates rather than provides, because a sample is evidence. compat.runtimes is package.json's @ui5/cli devDependency. The last description sentence is the README's `"@marianfoo/ui5-errorhandler": "^0.0.4"` set against package.json's `"@marianfoo/ui5-cc-errorhandler": "^0.0.1"` on main, both read on 2026-09-25. The library itself, marianfoo/ui5-errorhandler, was read in the same batch and not drafted; see the manifest note. GitHub reported this repository as a fork on 2026-09-25 and its README credits easy-ui5 rather than an upstream repository, so no lineage is written here: the fork flag is crawled and lineage needs the maintainer's own sentence.
  • ui5-fe-mockserver-tutorialentry → createdSample with use_as reference, following artifact:sap-samples-manage-apis-codejam: a repository of exercises is evidence that something works and never an option to depend on. It demonstrates capability:ui5-testing because that capability's core coverage already names "an OData V2 mock server for a backend stand-in" as what SAP ships, and capability:ui5-build-tooling because the mockserver is registered as UI5 Tooling custom middleware in ui5-mock.yaml. compat.runtimes is the README's Required Tools, "**Node.js** (20 LTS or higher)". @sap-ux/ui5-middleware-fe-mockserver, the middleware being taught, has no entry of its own, so it stands in the prose as a code span and the README's own pointer to SAP/open-ux-odata is linked out. No licence is stated anywhere in the repository, so identity is absent.
  • ui5-plugin-loaderentry → createdbuild-tool and capability:ui5-build-tooling for the same reason its four named neighbours carry them: it is registered in the customMiddleware and customTasks blocks of ui5.yaml and does its work inside `ui5 serve` and `ui5 build`. compat.runtimes is the README's Requirements section, "**Node.js v18.0.0 or higher**"; identity.license is the README's License section and the npm record, both MIT. No flavors: the README states no UI5 flavor, and absent is not a claim. One discrepancy for an editor rather than the entry: the npm record for ui5-plugin-loader 0.2.0, published 2025-07-23, gives its repository as git+https://github.com/marianzeis/ui5-plugin-loader.git, while the source read here is github.com/marianfoo/ui5-plugin-loader; the npm description, "Auto-mounts UI5 tooling extensions based on manifest JSON files", and the 0.2.x version line both match this README.
  • ui5-cc-pdfviewerentry → createdRead out of the marianfoo account listing. No lineage edge: the README states the fork of lemaiwo/UI5LabLibraryPDFViewer, and that repository is not in the corpus, so the fact is carried in the description rather than pointed at an id that does not resolve.
  • ui5-lib-diffentry → createdRead out of the marianfoo account listing. capability:documentation reads core-only on the UI5 door on the grounds that every provider there is SAP-published; this is an independent one, so that reading needs reassessing rather than carrying over.
  • ui5-middleware-odata-recorderentry → createdRead out of the marianfoo account listing. Two provides edges because the two halves are different claims: it is a UI5 server middleware, and what it produces is the mock-server dataset that capability:ui5-testing's core coverage already names as the framework's backend stand-in.
  • mcp-sap-docsdescription.one_line, description.what_it_solves, provides[0].what_it_does → corrected against the READMECorrected against the README: its offline-sources table lists seventeen repositories, abap-docs-standard through wdi5.
  • mcp-sap-docsentry → createdNamed in docs/NEIGHBOURS.md §3.1 as a project of the bestofcapjs author but never entered. It is a documentation retrieval server, not an index of options — the complement posture the same section assigns ARC-1, and hard rule 5 makes it exist here only as an attached entry.
  • First entry seenDiscovered via GitHub organisations and accounts · marianfoo, GitHub API · marianfoo, Added by hand · spreadsheetimporter organisation repositories, Added by hand, GitHub organisations and accounts · github-orgs:marianfoo.
Profile1
For your agent