<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Skills on Marian Zeis Blog</title>
    <link>https://blog.zeis.de/tags/skills/</link>
    <description>Recent content in Skills on Marian Zeis Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 12 Aug 2026 03:00:00 +0200</lastBuildDate>
    <atom:link href="https://blog.zeis.de/tags/skills/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Testing Joule Work Desktop with Microsoft 365, Local Files, and SAP</title>
      <link>https://blog.zeis.de/posts/2026-08-11-joule-work-desktop/</link>
      <pubDate>Wed, 12 Aug 2026 03:00:00 +0200</pubDate>
      <guid>https://blog.zeis.de/posts/2026-08-11-joule-work-desktop/</guid>
      <description>&lt;p&gt;You have probably seen Joule Work Desktop on LinkedIn by now. &lt;a href=&#34;https://www.linkedin.com/posts/sebastian-steinhaeuser_prepare-me-for-my-meeting-with-thats-ugcPost-7490314981784154112-QCE4/&#34;&gt;Sebastian Steinhaeuser&lt;/a&gt; showed how it prepares him for a customer meeting. &lt;a href=&#34;https://www.linkedin.com/posts/philipp-herzig_im-excited-to-present-the-new-sap-gui-ugcPost-7488584210123837440-TuTW/&#34;&gt;Philipp Herzig&lt;/a&gt; called it the new SAP GUI, with a smile, and demonstrated a workflow across email, a spreadsheet, a Space, and PowerPoint.&lt;/p&gt;&#xA;&lt;p&gt;Joule Work Desktop is now available to SAP employees after a test with more than 6,000 colleagues. Selected customers can also use it through the Early Adopter Care program on macOS and Windows.&lt;/p&gt;&#xA;&lt;p&gt;The idea is simple: one desktop application that can combine local files, Microsoft 365, SAP knowledge, business systems, MCP connectors, and skills. That is much more interesting than another small Joule chat window inside one SAP application.&lt;/p&gt;&#xA;&lt;p&gt;I already built similar setups with &lt;a href=&#34;https://blog.zeis.de/posts/2026-02-16-librechat-enterprise-gpt/&#34;&gt;LibreChat&lt;/a&gt; and &lt;a href=&#34;https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/&#34;&gt;Microsoft Copilot Studio&lt;/a&gt;. A native application adds direct access to the files and applications people use every day.&lt;/p&gt;&#xA;&lt;p&gt;Luckily, I was one of the few people who got access to the application and could test the currently available features. So here is my first hands-on experience with what I am allowed to show.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Joule Work Desktop with Conversations, the composer, and the available work sources.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-08-11-joule-work-desktop/images/joule-work-desktop-overview.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;If you prefer to see the complete flow first, here is the &lt;a href=&#34;joule-work-desktop-demo.mp4&#34;&gt;58-second demo video&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The application starts with Conversations. I can add files and select work sources or an external connector from the composer. Tool calls remain visible, and generated files open in their normal desktop application.&lt;/p&gt;&#xA;&lt;h2 id=&#34;email-and-calendar-integration&#34;&gt;Email and calendar integration&lt;/h2&gt;&#xA;&lt;p&gt;I asked the application to prepare me for a meeting. It found the calendar entry, read related email messages, and created a brief with logistics, open points, risks, and questions. The calendar and email steps remained visible, and the answer included source references. For me, this is more useful than a general inbox summary because the message becomes the start of a task.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Meeting brief created from Work Calendar and Work Email, including open commitments, risks, questions, and source references.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-08-11-joule-work-desktop/images/meeting-preparation.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;local-files-onedrive-and-real-documents&#34;&gt;Local files, OneDrive, and real documents&lt;/h2&gt;&#xA;&lt;p&gt;I can attach Office documents, structured data, text, and images. Files synchronized through OneDrive are also available, so they can be combined with email, calendar, web research, or an external connector.&lt;/p&gt;&#xA;&lt;p&gt;For the meeting-preparation example, I attached an existing Word template. The application filled the relevant sections and created a new document instead of giving me text to copy manually.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;The generated meeting brief opened as a normal Microsoft Word document.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-08-11-joule-work-desktop/images/generated-meeting-brief-word.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The files still need review, but reviewing a prepared document is often faster than starting with an empty one.&lt;/p&gt;&#xA;&lt;h2 id=&#34;spaces-are-more-useful-than-i-expected&#34;&gt;Spaces are more useful than I expected&lt;/h2&gt;&#xA;&lt;p&gt;SAP calls the generated work areas Spaces. They are persistent views that can be reopened without finding the original conversation. The most useful one in my test was a transport backlog based on data from my SAP system. It shows open and empty transports, their owners, and the biggest requests by object count.&lt;/p&gt;&#xA;&lt;p&gt;This does not replace a proper application or reporting solution. But not every temporary question needs a new Fiori application, and a Space is more useful than a long chat answer.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Transport backlog Space with live metrics from A4H client 001, an owner breakdown, and the biggest transports by object count.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-08-11-joule-work-desktop/images/transport-backlog-space.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;connecting-the-sap-system&#34;&gt;Connecting the SAP system&lt;/h2&gt;&#xA;&lt;p&gt;The SAP system integration is what can make Joule Work Desktop more than a general desktop agent.&lt;/p&gt;&#xA;&lt;p&gt;At the moment, the direct SAP business system integration available to me is for SAP S/4HANA Cloud Public Edition. I do not have such a system. My test system is SAP S/4HANA 2023 on-premise.&lt;/p&gt;&#xA;&lt;p&gt;I therefore added &lt;a href=&#34;https://github.com/arc-mcp/arc-1&#34;&gt;ARC-1&lt;/a&gt;, my open-source ADT MCP server. ARC-1 can run locally or as a remote MCP server with OAuth, for example on SAP BTP Cloud Foundry.&lt;/p&gt;&#xA;&lt;p&gt;I could then read transports, inspect ABAP objects, analyze custom code, check ATC findings, or compare a specification with what actually exists in the system.&lt;/p&gt;&#xA;&lt;p&gt;The connector still needs valid authentication, and SAP user authorizations still apply. I would start with a development system and read-only access.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;ARC-1 selected in the composer with a completed read from A4H client 001 and the returned transport request IDs.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-08-11-joule-work-desktop/images/arc-1-sap-access.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;connectors-and-one-click-skills&#34;&gt;Connectors and one-click skills&lt;/h2&gt;&#xA;&lt;p&gt;Joule Work Desktop supports MCP connectors and skills, so SAP does not have to build every integration and workflow itself. The &lt;a href=&#34;https://skills.cloud.sap/&#34;&gt;SAP AI Skills Library&lt;/a&gt; contains reusable skills that can be imported into Joule Work Desktop with one click.&lt;/p&gt;&#xA;&lt;p&gt;The skill page shows the repository, license, trust level, and checks before installation. The SAP Fiori Guidelines skill, for example, can be added through the &lt;strong&gt;Add to Joule Work Desktop&lt;/strong&gt; button.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;SAP Fiori Guidelines in the SAP AI Skills Library with the Add to Joule Work Desktop button.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-08-11-joule-work-desktop/images/sap-ai-skills-library.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;MCP servers provide tools, while skills describe how the agent should use them and what it should verify. This keeps the application extendable without adding every possible SAP feature to the desktop client.&lt;/p&gt;&#xA;&lt;p&gt;The open questions are broader SAP system support, connector governance, and pricing. Anything about future announcements or TechEd is still only speculation.&lt;/p&gt;&#xA;&lt;h2 id=&#34;something-is-strange&#34;&gt;Something is strange&lt;/h2&gt;&#xA;&lt;p&gt;Anyone who already works with Joule Work Desktop may have noticed something by now.&lt;/p&gt;&#xA;&lt;p&gt;Some details in my video and screenshots do not look exactly like the application SAP installed. The interface is very close, the workflows work, and the features are there, but a few things are just slightly different.&lt;/p&gt;&#xA;&lt;p&gt;There is a simple reason for that.&lt;/p&gt;&#xA;&lt;p&gt;I do not have access to Joule Work Desktop.&lt;/p&gt;&#xA;&lt;p&gt;The screenshots and video in this post do not show an SAP application. They show an application I built myself.&lt;/p&gt;&#xA;&lt;p&gt;After watching the public demos, I wanted to see how difficult it would be to rebuild the same core idea with open-source components. I spent roughly a day or two vibe coding it with Codex. The result is called &lt;a href=&#34;https://getwerkbank.com/&#34;&gt;&lt;strong&gt;Werkbank&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Werkbank is the German word for workbench, a place where different tools come together to get work done.&lt;/p&gt;&#xA;&lt;p&gt;The current interface follows the public Joule Work Desktop videos closely because I wanted to reproduce the workflows shown there. But there is no internal SAP code behind it, I had no access to a Joule Work Desktop build, and I have no additional product information beyond public posts and videos.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-actually-inside-werkbank&#34;&gt;What is actually inside Werkbank&lt;/h2&gt;&#xA;&lt;p&gt;Werkbank is a working MVP, not a static mock or a prerecorded animation. It can hold real streaming conversations, call tools, ask for permissions, and stop a running task. The agent behind it is &lt;a href=&#34;https://github.com/aaif-goose/goose&#34;&gt;goose&lt;/a&gt;, an open-source AI agent hosted by the Agentic AI Foundation. Werkbank communicates with Goose through the Agent Client Protocol.&lt;/p&gt;&#xA;&lt;p&gt;The implemented features currently include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Local active and archived conversations.&lt;/li&gt;&#xA;&lt;li&gt;Word, PowerPoint, text, CSV, JSON, and image attachments, including files synchronized through OneDrive.&lt;/li&gt;&#xA;&lt;li&gt;Generated Word and PowerPoint files that can be opened in the normal desktop application.&lt;/li&gt;&#xA;&lt;li&gt;Persistent Spaces stored as sandboxed HTML views.&lt;/li&gt;&#xA;&lt;li&gt;Live read-only Microsoft 365 email and calendar access.&lt;/li&gt;&#xA;&lt;li&gt;Session-scoped MCP connectors, remote MCP OAuth through Goose, and reusable skills selected with &lt;code&gt;/&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The demo uses these features rather than special video fixtures. The meeting brief comes from live calendar and email calls, the Word output is a real file, ARC-1 reads my SAP system, and the transport Space is generated from those results. The shipment-defect workflow uses an attached synthetic CSV file and creates a real Space and PowerPoint presentation.&lt;/p&gt;&#xA;&lt;p&gt;For SAP, Werkbank uses the same MCP servers I can use from Claude Desktop, Codex, VS Code, LibreChat, or Copilot Studio. ARC-1 connects to the ABAP system. Connector secrets are stored through the operating system&amp;rsquo;s secure storage instead of being written into the normal configuration.&lt;/p&gt;&#xA;&lt;p&gt;The project website is &lt;a href=&#34;https://getwerkbank.com/&#34;&gt;getwerkbank.com&lt;/a&gt;, and the source is in the public &lt;a href=&#34;https://github.com/marianfoo/werkbank&#34;&gt;Werkbank repository&lt;/a&gt;. Development currently targets macOS, and there is no signed installer yet.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;The live Werkbank website with the product overview and link to the App Store.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-08-11-joule-work-desktop/images/werkbank-website.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-werkbank-app-store&#34;&gt;The Werkbank App Store&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://getwerkbank.com/#store&#34;&gt;getwerkbank.com&lt;/a&gt; is not only a landing page. Its App Store already works with the desktop application, and I can use it to add both &lt;a href=&#34;https://getwerkbank.com/#store&#34;&gt;MCP servers&lt;/a&gt; and &lt;a href=&#34;https://getwerkbank.com/#store&#34;&gt;skills&lt;/a&gt; to Werkbank.&lt;/p&gt;&#xA;&lt;p&gt;The small curated catalog currently contains nine entries: three MCP servers and six SAP development skills. I can search it, filter by type, inspect the original source, and then click &lt;strong&gt;Add to Werkbank&lt;/strong&gt; or &lt;strong&gt;Add skill&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Werkbank App Store for MCP servers and SAP skills.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-08-11-joule-work-desktop/images/werkbank-app-store.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The website validates the request and opens the local application through a &lt;code&gt;werkbank://&lt;/code&gt; link. Werkbank then shows the connector command and configuration fields, or the skill repository and name. Nothing is installed until I confirm it inside the desktop application. After that, a connector is restarted and becomes available to the conversation, while an installed skill appears in the &lt;code&gt;/&lt;/code&gt; picker.&lt;/p&gt;&#xA;&lt;p&gt;The same flow can be linked from any project README with an &lt;strong&gt;Add to Werkbank&lt;/strong&gt; button. Here is the skill used in the video:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://getwerkbank.com/install-skill/?repository=https%3A%2F%2Fgithub.com%2FSAP%2Fai-skills-library&amp;amp;name=sap-fiori-guidelines&amp;amp;title=SAP+Fiori+Guidelines&#34;&gt;Add the SAP Fiori Guidelines skill to Werkbank&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Werkbank showing the repository, skill name, and source before confirming installation of the SAP Fiori Guidelines skill.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-08-11-joule-work-desktop/images/skill-install-confirmation.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;To try it, clone the repository, run &lt;code&gt;npm install&lt;/code&gt;, copy &lt;code&gt;.env.example&lt;/code&gt; to &lt;code&gt;.env&lt;/code&gt;, add the model configuration, and start it with &lt;code&gt;npm run dev&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-this-little-experiment-shows&#34;&gt;What this little experiment shows&lt;/h2&gt;&#xA;&lt;p&gt;Werkbank is not a replacement for Joule Work Desktop. It is a small MVP built in roughly two days, with bugs and much narrower workflows. But it is already a usable desktop application: I can chat with it, attach files, connect tools, install skills, and return to earlier conversations and Spaces.&lt;/p&gt;&#xA;&lt;p&gt;SAP also has to solve the difficult enterprise parts: identity, authorizations, data protection, auditing, deployment, updates, model governance, and reliable operation for many users and systems. A local MVP does not solve these problems just because the demo looks similar. With more time, I could add SSO, authentication against IAS, a release pipeline with signed builds, automatic updates, and more enterprise controls. That was not the main point of this experiment.&lt;/p&gt;&#xA;&lt;p&gt;But the experiment still shows something useful. The core workflows SAP currently demonstrates are already possible with open-source components:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Read email and calendar context.&lt;/li&gt;&#xA;&lt;li&gt;Work with local files and OneDrive-synchronized files.&lt;/li&gt;&#xA;&lt;li&gt;Analyze structured data.&lt;/li&gt;&#xA;&lt;li&gt;Create persistent dashboards.&lt;/li&gt;&#xA;&lt;li&gt;Generate real Word and PowerPoint files.&lt;/li&gt;&#xA;&lt;li&gt;Connect SAP documentation and SAP systems through MCP.&lt;/li&gt;&#xA;&lt;li&gt;Add reusable skills and new connectors.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Goose is only one possible base. LibreChat can provide a similar experience in the browser. Microsoft Copilot Studio can combine Microsoft 365 connectors and MCP servers. Claude Desktop can also work with local files, connectors, and skills. The individual building blocks already exist.&lt;/p&gt;&#xA;&lt;p&gt;The real value of Joule Work Desktop will therefore not come only from having these features. It will come from how well SAP connects them to business context, SAP authorizations, supported applications, and real processes. It will also depend on how accessible it is. Are Signavio, LeanIX, or SAP S/4HANA Cloud Public Edition required? Can a customer use it with only on-premise systems? And what will it cost?&lt;/p&gt;&#xA;&lt;p&gt;For now, I am impressed by the direction. I just could not test the real application yet, so I built the part I wanted to test myself.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; Werkbank is an independent open-source project and is not affiliated with or endorsed by SAP. SAP, Joule, ABAP, SAP Fiori, SAP S/4HANA, and other SAP products and services mentioned herein are trademarks or registered trademarks of SAP SE or its affiliates in Germany and other countries.&lt;/p&gt;&#xA;&lt;h2 id=&#34;references-and-links&#34;&gt;References and links&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.sap.com/products/artificial-intelligence/joule-work.html&#34;&gt;Joule Work product page&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://news.sap.com/2026/05/sap-sapphire-keynote-business-ai-platform-power-autonomous-enterprise/&#34;&gt;SAP Sapphire 2026 announcement&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.linkedin.com/posts/philipp-herzig_im-excited-to-present-the-new-sap-gui-ugcPost-7488584210123837440-TuTW/&#34;&gt;Philipp Herzig&amp;rsquo;s Joule Work Desktop post&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.linkedin.com/posts/sebastian-steinhaeuser_prepare-me-for-my-meeting-with-thats-ugcPost-7490314981784154112-QCE4/&#34;&gt;Sebastian Steinhaeuser&amp;rsquo;s meeting-preparation post&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.linkedin.com/pulse/sap-developer-news-july-16th-2026-thomas-jung-socjf/&#34;&gt;SAP Developer News: importing skills into Joule Work Desktop&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://skills.cloud.sap/&#34;&gt;SAP AI Skills Library&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://getwerkbank.com/&#34;&gt;Werkbank website and App Store&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/marianfoo/werkbank&#34;&gt;Werkbank source repository&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/aaif-goose/goose&#34;&gt;goose&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/arc-1&#34;&gt;ARC-1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
    </item>
    <item>
      <title>ARC-1 1.0: One Deployment, Multiple SAP Systems</title>
      <link>https://blog.zeis.de/posts/2026-08-03-arc-1-update/</link>
      <pubDate>Mon, 03 Aug 2026 07:00:00 +0200</pubDate>
      <guid>https://blog.zeis.de/posts/2026-08-03-arc-1-update/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://github.com/arc-mcp/arc-1/releases/tag/v1.0.0&#34;&gt;ARC-1 1.0 is here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;When I published the &lt;a href=&#34;https://blog.zeis.de/posts/2026-04-27-arc-1/&#34;&gt;first ARC-1 post&lt;/a&gt;, I explained why I built an MCP server for ABAP development and why security has to be part of it from the beginning. This post is not another deep dive into every tool. The &lt;a href=&#34;https://docs.arc-1-mcp.com/release-notes/&#34;&gt;release notes&lt;/a&gt; already do that.&lt;/p&gt;&#xA;&lt;p&gt;For version 1.0 I want to focus on what really changed: ARC-1 became more stable, it can serve multiple SAP systems from one BTP deployment, the BTP and security setup is much better documented, and the project is no longer only one repository.&lt;/p&gt;&#xA;&lt;p&gt;Most of this happened because people used ARC-1, asked difficult questions, reported problems, opened issues and pull requests, sent me private messages, and invited me to Teams meetings about their plans and experiences. That is the most important part of this release.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-version-10-means&#34;&gt;What version 1.0 means&lt;/h2&gt;&#xA;&lt;p&gt;Version 1.0 does not mean ARC-1 is finished. It means there is now a stable base.&lt;/p&gt;&#xA;&lt;p&gt;ARC-1 now has a clearer scope. It is a controlled connection between AI assistants and ABAP systems. It can run locally for one developer or centrally on SAP BTP for a team. It supports classic on-premise ABAP, S/4HANA, BTP ABAP Environment, and S/4HANA Cloud Public Edition.&lt;/p&gt;&#xA;&lt;p&gt;It stays read-only by default. Changing code, reading business data, running SQL, changing transports, or using Git has to be enabled separately. This makes it possible to start small and only allow more when a team is ready.&lt;/p&gt;&#xA;&lt;p&gt;The new multi-system mode is still marked as experimental because parts of the setup and behavior may change. But it can already be used and is running in productive BTP environments, not only in my own setup.&lt;/p&gt;&#xA;&lt;p&gt;That is what 1.0 means to me: not that every possible ADT feature exists, but that the foundation, operating model, and safety boundaries are clear enough to build on.&lt;/p&gt;&#xA;&lt;h2 id=&#34;this-release-was-built-through-feedback&#34;&gt;This release was built through feedback&lt;/h2&gt;&#xA;&lt;p&gt;The first versions were mostly based on my own systems and workflows. That changed quickly. SAP systems, releases, login setups, networks, and transport processes are too different to understand from one landscape.&lt;/p&gt;&#xA;&lt;p&gt;Public issues and pull requests brought real system shapes into the project. A few examples:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/arc-1/pull/97&#34;&gt;Wouter Lemaire added the first BTP Cloud Foundry deployment&lt;/a&gt;, followed it with &lt;a href=&#34;https://github.com/arc-mcp/arc-1/pull/107&#34;&gt;deployment and write fixes&lt;/a&gt;, and continued to give very practical guidance on BTP, destinations, and how a shared ARC-1 service should be operated.&lt;/li&gt;&#xA;&lt;li&gt;Sami Bouguerra contributed &lt;a href=&#34;https://github.com/arc-mcp/arc-1/pull/170&#34;&gt;NetWeaver 7.50 probe fixtures and cookie handling&lt;/a&gt;, then fixed cases where activation looked successful although SAP had not activated the object in &lt;a href=&#34;https://github.com/arc-mcp/arc-1/pull/179&#34;&gt;PR #179&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Clément Ringot made BTP login more reliable across deployments in &lt;a href=&#34;https://github.com/arc-mcp/arc-1/pull/212&#34;&gt;PR #212&lt;/a&gt; and &lt;a href=&#34;https://github.com/arc-mcp/arc-1/pull/267&#34;&gt;PR #267&lt;/a&gt;, and fixed Cloud Connector response handling in &lt;a href=&#34;https://github.com/arc-mcp/arc-1/pull/440&#34;&gt;PR #440&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/arc-1/pull/524&#34;&gt;Geert-Jan Klaps added S/4HANA Public Cloud support&lt;/a&gt;. I do not have access to such a system myself, so his contribution made it possible to add and verify this landscape in ARC-1.&lt;/li&gt;&#xA;&lt;li&gt;Community pull requests added table queries, newer package creation, safer transport handling, better BTP login, configurable server names, and cookie rotation. You can find them in the repository&amp;rsquo;s &lt;a href=&#34;https://github.com/arc-mcp/arc-1/pulls?q=is%3Apr+is%3Amerged&#34;&gt;pull requests&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Not every useful contribution was code. Issues such as &lt;a href=&#34;https://github.com/arc-mcp/arc-1/issues/531&#34;&gt;multi-system connections&lt;/a&gt; and &lt;a href=&#34;https://github.com/arc-mcp/arc-1/issues/377&#34;&gt;how to structure several systems on BTP&lt;/a&gt; changed the architecture and documentation. Reports from older systems improved release detection and fallbacks. Questions from Basis and security people forced me to make assumptions explicit instead of hiding them in configuration examples.&lt;/p&gt;&#xA;&lt;p&gt;I also received many private messages and joined Teams meetings about ARC-1. Some people explained how their teams want to deploy it on BTP and walked me through their real landscape and requirements. Others pointed out security issues, unclear documentation, or places where the safety boundaries were not strong enough. These conversations directly improved login, error handling, audit information, package restrictions, user identity, and the deployment guides.&lt;/p&gt;&#xA;&lt;p&gt;Thank you especially to everyone who reported a security concern privately. That is exactly how an open-source security process should work. ARC-1 now has a public &lt;a href=&#34;https://github.com/arc-mcp/arc-1/blob/main/SECURITY.md&#34;&gt;security policy&lt;/a&gt;, private vulnerability reporting, automated checks for code and dependencies, container checks, and an inventory of the software included in each release.&lt;/p&gt;&#xA;&lt;h2 id=&#34;one-arc-1-instance-multiple-sap-systems&#34;&gt;One ARC-1 instance, multiple SAP systems&lt;/h2&gt;&#xA;&lt;p&gt;The biggest addition in version 1.0 is the experimental &lt;a href=&#34;https://docs.arc-1-mcp.com/multi-target-setup/&#34;&gt;multi-system mode&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;You can now deploy one ARC-1 application on SAP BTP Cloud Foundry and attach several SAP systems or clients through destinations in the same subaccount. An administrator chooses which destinations belong to ARC-1. It does not connect to every destination by accident.&lt;/p&gt;&#xA;&lt;p&gt;This is already used in productive BTP environments. Experimental in this case means that configuration and behavior can still change as more landscapes use it. It does not mean that the feature is only a local proof of concept or that people cannot use it today.&lt;/p&gt;&#xA;&lt;p&gt;Each system and client gets its own MCP address. There is also an optional combined connection for tasks that really need several systems. A system-specific address is the safer choice for normal work because the conversation is already connected to the correct target.&lt;/p&gt;&#xA;&lt;p&gt;Keeping the real user identity is the recommended setup. A user logs in on BTP and the identity is forwarded to SAP. SAP then checks the same authorizations the person already has. A shared technical user is possible for special cases, but it gives less clear responsibility and needs more care.&lt;/p&gt;&#xA;&lt;p&gt;This feature started with community requests and Wouter&amp;rsquo;s &lt;a href=&#34;https://github.com/arc-mcp/arc-1/pull/543&#34;&gt;first multi-backend implementation&lt;/a&gt;. His code and BTP experience gave the final design important groundwork. The production-focused design, security review, tests, and administrator documentation then landed in &lt;a href=&#34;https://github.com/arc-mcp/arc-1/pull/579&#34;&gt;PR #579&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-biggest-changes-in-short&#34;&gt;The biggest changes in short&lt;/h2&gt;&#xA;&lt;p&gt;I do not want to explain every feature here. These are the areas that matter most for 1.0:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Safer operation:&lt;/strong&gt; ARC-1 starts read-only. Higher-risk actions are separate choices, SAP still decides what the user may do, and teams get limits and audit information for shared use.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;More SAP compatibility:&lt;/strong&gt; testing and fixes now cover older NetWeaver systems, several S/4HANA releases, ABAP Platform 2025, BTP ABAP Environment, and S/4HANA Cloud Public Edition.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Better BTP guidance:&lt;/strong&gt; the &lt;a href=&#34;https://docs.arc-1-mcp.com/btp-overview/&#34;&gt;BTP overview&lt;/a&gt;, &lt;a href=&#34;https://docs.arc-1-mcp.com/btp-cloud-foundry-deployment/&#34;&gt;Cloud Foundry guide&lt;/a&gt;, &lt;a href=&#34;https://docs.arc-1-mcp.com/principal-propagation-setup/&#34;&gt;user identity guide&lt;/a&gt;, updates, rollback, destinations, roles, and multi-system operation are now documented as one path.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Reusable workflows:&lt;/strong&gt; 22 included skills cover RAP, tests, migrations, Clean Core analysis, transport reviews, system documentation, and more.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;More checks before a release:&lt;/strong&gt; ARC-1 runs automated tests against the code and real SAP systems, checks dependencies and containers, and publishes information about what is included in a release.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;For the exact technical list, including fixes for transport state, ABAP object types, BTP token exchange, tracing, and protocol compatibility, use the &lt;a href=&#34;https://docs.arc-1-mcp.com/release-notes/&#34;&gt;release notes&lt;/a&gt; and the &lt;a href=&#34;https://github.com/arc-mcp/arc-1/releases/tag/v1.0.0&#34;&gt;GitHub v1.0.0 release&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;skills-for-complete-sap-tasks&#34;&gt;Skills for complete SAP tasks&lt;/h2&gt;&#xA;&lt;p&gt;ARC-1 1.0 includes 22 skills. A skill is a reusable workflow for an AI assistant. It gives the assistant a tested way to approach a larger task instead of relying on one large prompt.&lt;/p&gt;&#xA;&lt;p&gt;The included skills cover creating RAP services and logic, ABAP and CDS tests, analytical models and queries, explaining and documenting existing code, finding slow SQL, Clean Core and S/4HANA migration work, unused-code checks, transport overviews and reviews, and modernizing legacy UI5 applications. There are also helpers to understand a system first, create a local ABAP mirror, and review an AI session. The &lt;a href=&#34;https://docs.arc-1-mcp.com/skills/&#34;&gt;full skills catalog&lt;/a&gt; has the complete list and installation options for Claude Code, GitHub Copilot, Cursor, Codex, and other assistants.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://github.com/arc-mcp/arc-1/tree/main/skills/migrate-segw-to-rap&#34;&gt;SEGW-to-RAP skill&lt;/a&gt; deserves a special mention. It reads an existing SEGW OData V2 service, including its model and custom code, and guides the move to a modern RAP V4 service. My &lt;a href=&#34;https://blog.zeis.de/posts/2026-05-11-segw-to-rap/&#34;&gt;SEGW-to-RAP post&lt;/a&gt; got one of the biggest responses of the whole ARC-1 series. That was a clear signal that many teams are not only interested in creating something new. They also need practical help to modernize the large amount of existing SAP applications.&lt;/p&gt;&#xA;&lt;h2 id=&#34;extensions-for-your-own-sap-apis&#34;&gt;Extensions for your own SAP APIs&lt;/h2&gt;&#xA;&lt;p&gt;ARC-1 will never include every custom API or company-specific endpoint. Forking the complete server for one internal tool is also difficult to maintain.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://docs.arc-1-mcp.com/extensions/&#34;&gt;extension framework&lt;/a&gt; gives you another option. It lets you add your own tools and reuse the SAP connection, safety checks, and audit path of the ARC-1 instance. This can be useful for an internal service or any API that is not part of the standard ARC-1 tools.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://github.com/arc-mcp/arc-1-extension-sample&#34;&gt;extension sample&lt;/a&gt; shows a simple configuration option and a code option. It also shows the safety limits. An extension cannot give itself more access than the ARC-1 instance already has, and changes still need to be enabled explicitly. Code extensions run inside ARC-1, so they should be reviewed like any other dependency.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/ClementRingot/LISA&#34;&gt;LISA&lt;/a&gt; is already a useful real example. It provides SAP translation tools as a standalone MCP server and as an ARC-1 extension. This proves both paths can work: build a separate focused service, or attach the capability to an existing ARC-1 deployment.&lt;/p&gt;&#xA;&lt;h2 id=&#34;reusing-the-btp-authentication-stack&#34;&gt;Reusing the BTP authentication stack&lt;/h2&gt;&#xA;&lt;p&gt;Login and keeping the correct SAP user were some of the hardest parts of ARC-1. Other SAP MCP servers need the same foundations, so this code is now available as the separate &lt;a href=&#34;https://www.npmjs.com/package/@arc-mcp/xsuaa-auth&#34;&gt;@arc-mcp/xsuaa-auth&lt;/a&gt; package.&lt;/p&gt;&#xA;&lt;p&gt;It provides the core pieces for deploying an MCP server to SAP BTP Cloud Foundry: login through XSUAA, reuse of BTP destinations, connections through Cloud Connector, and forwarding the real user to SAP. A project can reuse this setup and keep its own focused SAP API instead of copying the full ARC-1 server.&lt;/p&gt;&#xA;&lt;p&gt;ARC-1 uses the package itself. &lt;a href=&#34;https://github.com/ClementRingot/LISA&#34;&gt;LISA&lt;/a&gt; and &lt;a href=&#34;https://github.com/ClementRingot/ROSA&#34;&gt;ROSA&lt;/a&gt; use it as well, and &lt;a href=&#34;https://github.com/dnic-dev/bw-modeling-mcp&#34;&gt;BW Modeling MCP&lt;/a&gt; now uses it for its central SAP BTP Cloud Foundry setup. For me this is an important part of the release. The value of ARC-1 is not only the number of ABAP tools. The deployment and security principles can now help other projects too.&lt;/p&gt;&#xA;&lt;h2 id=&#34;a-new-home-for-the-project&#34;&gt;A new home for the project&lt;/h2&gt;&#xA;&lt;p&gt;ARC-1 moved from my personal GitHub account to the &lt;a href=&#34;https://github.com/arc-mcp&#34;&gt;arc-mcp organization&lt;/a&gt;. There is also a dedicated &lt;a href=&#34;https://arc-1-mcp.com/&#34;&gt;landing page&lt;/a&gt;, full documentation at &lt;a href=&#34;https://docs.arc-1-mcp.com/&#34;&gt;docs.arc-1-mcp.com&lt;/a&gt;, and a &lt;a href=&#34;https://live-arc-1.arc-1-mcp.com/&#34;&gt;live replay demo&lt;/a&gt; that works without a SAP system, credentials, or a live LLM.&lt;/p&gt;&#xA;&lt;p&gt;The organization now contains the main product, reusable components, experiments, and demos that are still active:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/arc-1&#34;&gt;arc-1&lt;/a&gt;: the main SAP ADT MCP server.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/xsuaa-auth&#34;&gt;xsuaa-auth&lt;/a&gt;: reusable XSUAA, OAuth, and BTP Principal Propagation.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/arc-1-extension-sample&#34;&gt;arc-1-extension-sample&lt;/a&gt;: examples for custom ARC-1 tools.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/adt-ls&#34;&gt;adt-ls&lt;/a&gt;: a TypeScript SDK for SAP&amp;rsquo;s headless ADT language server.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/arc-1-lsp&#34;&gt;arc-1-lsp&lt;/a&gt;: an experimental MCP server built on that language-server path.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/arc1-adt-abap-mcp-ext&#34;&gt;arc1-adt-abap-mcp-ext&lt;/a&gt;: an Eclipse extension adding read-only tools to SAP&amp;rsquo;s ADT MCP server.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/arc-1-abap-cicd-review&#34;&gt;arc-1-abap-cicd-review&lt;/a&gt;: an ABAP review workflow with GitHub Actions, abaplint, AI review, and live SAP checks.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/arc1-transport-review-poc&#34;&gt;arc1-transport-review-poc&lt;/a&gt;: a proof of concept for reviewing SAP transports through pull requests.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/arc-1-segw-to-rap&#34;&gt;arc-1-segw-to-rap&lt;/a&gt;: the SEGW, RAP, UI5, and Fiori elements modernization demo.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/arc-1-mcp.com&#34;&gt;arc-1-mcp.com&lt;/a&gt;: the source of the landing page.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/live-arc-1&#34;&gt;live-arc-1&lt;/a&gt;: the source of the interactive replay demo.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Not every repository has the same maturity. ARC-1 is the stable core. Some projects are reusable packages, some are beta, and some are intentionally proofs of concept. Keeping them separate makes this more visible and lets each idea develop without making the main server bigger.&lt;/p&gt;&#xA;&lt;h2 id=&#34;where-to-start&#34;&gt;Where to start&lt;/h2&gt;&#xA;&lt;p&gt;If you are new to ARC-1, use the &lt;a href=&#34;https://docs.arc-1-mcp.com/quickstart/&#34;&gt;quickstart&lt;/a&gt; with a development or sandbox system and start read-only. The live demo is useful if you first want to see how the workflows and tool calls look.&lt;/p&gt;&#xA;&lt;p&gt;For a team deployment, start with the &lt;a href=&#34;https://docs.arc-1-mcp.com/btp-overview/&#34;&gt;BTP overview&lt;/a&gt;. Decide the topology, identity model, destinations, and responsibilities before enabling more capabilities. Principal Propagation should be the normal choice when SAP needs to see the human user.&lt;/p&gt;&#xA;&lt;p&gt;If you already run ARC-1, follow the &lt;a href=&#34;https://docs.arc-1-mcp.com/updating/&#34;&gt;update guide&lt;/a&gt; and review the &lt;a href=&#34;https://docs.arc-1-mcp.com/release-notes/&#34;&gt;release notes&lt;/a&gt;. For production, pin a version instead of using &lt;code&gt;latest&lt;/code&gt;, keep the first acceptance test read-only, and review the current SAP API policy and your own agreements before enabling data preview or free SQL.&lt;/p&gt;&#xA;&lt;h2 id=&#34;arc-1-saps-mcp-server-and-the-api-policy&#34;&gt;ARC-1, SAP&amp;rsquo;s MCP server, and the API policy&lt;/h2&gt;&#xA;&lt;p&gt;SAP now also provides its own ABAP MCP server as part of the ABAP Development Tools. I do not see this as an either-or decision.&lt;/p&gt;&#xA;&lt;p&gt;SAP&amp;rsquo;s server is the natural choice for a developer who works inside VS Code or Eclipse and wants to reuse the existing IDE connection. ARC-1 has a different focus. It can run as a shared service on BTP, serve different AI clients and team workflows, cover classic and modern ABAP use cases, and give administrators one place for access rules and audit information. Many teams can use both.&lt;/p&gt;&#xA;&lt;p&gt;The detailed &lt;a href=&#34;https://docs.arc-1-mcp.com/arc-1-vs-sap-abap-mcp-server/&#34;&gt;ARC-1 and SAP ABAP MCP Server comparison&lt;/a&gt; explains where each option fits, where each one is stronger, and where each one has limits. It is meant as a decision guide, not as a sales comparison.&lt;/p&gt;&#xA;&lt;p&gt;More important for a wider rollout is the &lt;a href=&#34;https://docs.arc-1-mcp.com/sap-api-policy-and-architecture/&#34;&gt;SAP API Policy and architecture guide&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;ARC-1 uses the ADT interfaces behind SAP&amp;rsquo;s ABAP development tools. These interfaces have been used by SAP and third-party developer tools for many years, but the ADT web endpoints are not listed as published APIs in the SAP Business Accelerator Hub. SAP&amp;rsquo;s current API policy also talks directly about access by generative AI and autonomous agents.&lt;/p&gt;&#xA;&lt;p&gt;At the same time, SAP has published an architecture for third-party MCP servers. ARC-1 is close to this architecture, especially when it runs on SAP BTP Cloud Foundry with BTP login, destinations, Cloud Connector, the real SAP user identity, traffic limits, and audit logging. This is a good technical fit, but it is not by itself a legal approval for every customer and every landscape.&lt;/p&gt;&#xA;&lt;p&gt;My recommendation is simple. Start in development or test, start read-only, and keep SAP authorizations in control. Before a broader or production rollout, ask your SAP contact whether your agreement allows third-party tools to use the ADT endpoints in this way. The policy and SAP guidance can change, so check the current documents instead of relying only on this post.&lt;/p&gt;&#xA;&lt;h2 id=&#34;thank-you&#34;&gt;Thank you&lt;/h2&gt;&#xA;&lt;p&gt;ARC-1 1.0 is not the result of one large feature. It is the result of many small reports, tests, discussions, fixes, and reviews.&lt;/p&gt;&#xA;&lt;p&gt;Thank you to everyone who opened an issue or pull request, tested another SAP release, shared a BTP setup, challenged a security decision, built an extension, tried the documentation, or sent a private message. Even when I could not implement an idea directly, the feedback helped make the project clearer and safer.&lt;/p&gt;&#xA;&lt;p&gt;Feedback is still greatly appreciated. Open an &lt;a href=&#34;https://github.com/arc-mcp/arc-1/issues&#34;&gt;issue&lt;/a&gt; when something does not work or the documentation is unclear. Send a pull request when you have a fix or improvement. A private message is also welcome, especially when you want to share details about a real landscape or raise a security concern.&lt;/p&gt;&#xA;&lt;p&gt;Version 1.0 is a milestone, not the end. Now there is a stable base, public documentation, a clearer security process, and a growing set of reusable projects around it.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Creating an ARC-1 BTP Diagram with Codex and a draw.io Skill</title>
      <link>https://blog.zeis.de/posts/2026-07-10-btp-drawio-skill/</link>
      <pubDate>Thu, 09 Jul 2026 09:00:00 +0200</pubDate>
      <guid>https://blog.zeis.de/posts/2026-07-10-btp-drawio-skill/</guid>
      <description>&lt;p&gt;I wanted one practical thing: an editable draw.io diagram for ARC-1 on SAP BTP that looks like it belongs in the SAP Architecture Center.&lt;/p&gt;&#xA;&lt;p&gt;My first attempts with generic diagram prompts were not really useful. They often had dark backgrounds, icons that were too large, and arrows running through boxes. I wanted something closer to the SAP examples: a white canvas, the right BTP areas and service icons, understandable flows, and an editable draw.io file that I could still correct by hand.&lt;/p&gt;&#xA;&lt;p&gt;That became &lt;a href=&#34;https://github.com/marianfoo/btp-drawio-skill&#34;&gt;&lt;code&gt;marianfoo/btp-drawio-skill&lt;/code&gt;&lt;/a&gt;, a skill for creating SAP Architecture Center-style &lt;code&gt;.drawio&lt;/code&gt; files from plain text.&lt;/p&gt;&#xA;&lt;h2 id=&#34;where-this-started&#34;&gt;Where this started&lt;/h2&gt;&#xA;&lt;p&gt;I did not start this from zero. The main source was SAP itself, and there are two related projects that are easy to mix up:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The &lt;a href=&#34;https://sap.github.io/btp-solution-diagrams/&#34;&gt;SAP BTP Solution Diagram Guidelines&lt;/a&gt; define how these diagrams should look: levels, areas, colors, icons, connectors, labels, and legends. The complete guideline and editable examples are in &lt;a href=&#34;https://github.com/SAP/btp-solution-diagrams&#34;&gt;&lt;code&gt;SAP/btp-solution-diagrams&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;The &lt;a href=&#34;https://architecture.learning.sap.com/&#34;&gt;SAP Architecture Center&lt;/a&gt; publishes real reference architectures for topics such as integration, identity, data, AI, and resiliency. Their source, including many editable &lt;code&gt;.drawio&lt;/code&gt; files, is in &lt;a href=&#34;https://github.com/SAP/architecture-center&#34;&gt;&lt;code&gt;SAP/architecture-center&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The skill bundles selected diagrams and assets from these official sources. This gives the model both parts it needs: the visual rules and real SAP-authored examples.&lt;/p&gt;&#xA;&lt;p&gt;Two community projects also appeared almost at the same time.&lt;/p&gt;&#xA;&lt;p&gt;Wouter Lemaire published &lt;a href=&#34;https://github.com/lemaiwo/btp-drawio-skill&#34;&gt;&lt;code&gt;lemaiwo/btp-drawio-skill&lt;/code&gt;&lt;/a&gt; on April 17. I took inspiration from its Claude marketplace structure and the idea of bundling the SAP icon XML libraries directly with the skill.&lt;/p&gt;&#xA;&lt;p&gt;One day later, &lt;a href=&#34;https://github.com/miyasuta/claude-drawio-btp-diagram&#34;&gt;&lt;code&gt;miyasuta/claude-drawio-btp-diagram&lt;/code&gt;&lt;/a&gt; appeared. I liked its separation between official guidelines, conventions, and concrete draw.io styles. Its center-alignment rule for straight connectors also became an important detail in my implementation.&lt;/p&gt;&#xA;&lt;p&gt;I started my repository on April 22 because I needed the ARC-1 diagram. From there I added a larger SAP Architecture Center corpus, template ranking, asset extraction, built-in fallback layouts, validation, scoring, visual comparison, and the nudge loop.&lt;/p&gt;&#xA;&lt;p&gt;The main lesson stayed simple: do not generate SAP diagrams from scratch when SAP already published the visual language and many real examples.&lt;/p&gt;&#xA;&lt;p&gt;Before the example, it helps to understand what the skill actually does.&lt;/p&gt;&#xA;&lt;h2 id=&#34;how-the-skill-works&#34;&gt;How the skill works&lt;/h2&gt;&#xA;&lt;p&gt;Without the skill, the model starts with an empty canvas and has to invent the layout. With the skill, it first decides what kind of diagram is needed and then looks for the closest SAP example.&lt;/p&gt;&#xA;&lt;p&gt;SAP defines three diagram levels based on the audience and required detail:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;L0&lt;/code&gt; is a business overview. It uses only a few blocks and simple neutral arrows. Technical details are left out.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;L1&lt;/code&gt; is a conceptual architecture. It shows named SAP services, the main zones such as BTP and on-premise, and the important flows between them.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;L2&lt;/code&gt; is a logical or technical architecture. It adds protocols, identity and trust flows, connector labels, and a legend. The ARC-1 example in this post is an L2 diagram.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The complete workflow looks like this:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Your architecture description&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Choose the level and closest SAP example&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Copy and adapt the example&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Validate -&amp;gt; render -&amp;gt; inspect -&amp;gt; correct&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Editable .drawio file and PNG&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The repository currently bundles 71 reference templates, 100 SAP BTP service icons, and 448 indexed draw.io assets. Most templates come from the two official SAP repositories above, with a few additional public SAP examples.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Find a starting point.&lt;/strong&gt; &lt;a href=&#34;https://github.com/marianfoo/btp-drawio-skill/blob/main/plugins/sap-architecture/skills/sap-architecture/scripts/scaffold_diagram.py&#34;&gt;&lt;code&gt;scaffold_diagram.py&lt;/code&gt;&lt;/a&gt; ranks the templates and copies the closest one. This copy is the scaffold.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Adapt only what changed.&lt;/strong&gt; The model keeps the SAP layout and uses helpers such as &lt;a href=&#34;https://github.com/marianfoo/btp-drawio-skill/blob/main/plugins/sap-architecture/skills/sap-architecture/scripts/relabel.py&#34;&gt;&lt;code&gt;relabel.py&lt;/code&gt;&lt;/a&gt;, &lt;a href=&#34;https://github.com/marianfoo/btp-drawio-skill/blob/main/plugins/sap-architecture/skills/sap-architecture/scripts/extract_icon.py&#34;&gt;&lt;code&gt;extract_icon.py&lt;/code&gt;&lt;/a&gt;, and &lt;a href=&#34;https://github.com/marianfoo/btp-drawio-skill/blob/main/plugins/sap-architecture/skills/sap-architecture/scripts/extract_asset.py&#34;&gt;&lt;code&gt;extract_asset.py&lt;/code&gt;&lt;/a&gt; to change labels and assets.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Use a smaller fallback when needed.&lt;/strong&gt; If the closest template is much larger than the requested diagram, &lt;a href=&#34;https://github.com/marianfoo/btp-drawio-skill/blob/main/plugins/sap-architecture/skills/sap-architecture/scripts/render_semantic.py&#34;&gt;&lt;code&gt;render_semantic.py&lt;/code&gt;&lt;/a&gt; can create a smaller layout for a few known patterns while keeping the SAP visual rules.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Check the result and look at it.&lt;/strong&gt; &lt;a href=&#34;https://github.com/marianfoo/btp-drawio-skill/blob/main/plugins/sap-architecture/skills/sap-architecture/scripts/autofix.py&#34;&gt;&lt;code&gt;autofix.py&lt;/code&gt;&lt;/a&gt; repairs known mechanical problems. &lt;a href=&#34;https://github.com/marianfoo/btp-drawio-skill/blob/main/plugins/sap-architecture/skills/sap-architecture/scripts/validate.py&#34;&gt;&lt;code&gt;validate.py&lt;/code&gt;&lt;/a&gt; checks colors, fonts, icons, labels, and arrow routing. &lt;a href=&#34;https://github.com/marianfoo/btp-drawio-skill/blob/main/plugins/sap-architecture/skills/sap-architecture/scripts/score_corpus.py&#34;&gt;&lt;code&gt;score_corpus.py&lt;/code&gt;&lt;/a&gt; compares the result with the SAP examples. Then &lt;a href=&#34;https://github.com/marianfoo/btp-drawio-skill/blob/main/plugins/sap-architecture/skills/sap-architecture/scripts/iterate.py&#34;&gt;&lt;code&gt;iterate.py&lt;/code&gt;&lt;/a&gt; and &lt;a href=&#34;https://github.com/marianfoo/btp-drawio-skill/blob/main/plugins/sap-architecture/skills/sap-architecture/scripts/render_compare.py&#34;&gt;&lt;code&gt;render_compare.py&lt;/code&gt;&lt;/a&gt; render the diagram so the model can inspect and correct it.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The important limit is that these checks only understand the file and its visual structure. They do not know if the architecture itself is correct.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-sample-use-case-in-codex&#34;&gt;The sample use case in Codex&lt;/h2&gt;&#xA;&lt;p&gt;For the sample, I used the exact problem that started this project: a developer in VS Code asks an AI assistant to inspect an ABAP class through ARC-1.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Developer and AI assistant in VS Code&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;               MCP&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ARC-1 on SAP BTP Cloud Foundry&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Destination + Connectivity + Cloud Connector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;On-premise SAP ABAP system&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;XSUAA authenticates the client. Destination Service and Connectivity Service route the request through SAP Cloud Connector. Principal Propagation keeps the developer&amp;rsquo;s identity for the ABAP call.&lt;/p&gt;&#xA;&lt;p&gt;The diagram should make this complete path understandable for an SAP platform or development team. I used Codex to create it and kept the first result, the correction, and all validation output for the example below.&lt;/p&gt;&#xA;&lt;p&gt;The skill started as a Claude Code plugin, but the important part is portable. It is a folder with Markdown instructions, SAP templates, local assets, and Python scripts.&lt;/p&gt;&#xA;&lt;p&gt;For Codex I cloned the repository and pointed an &lt;code&gt;AGENTS.md&lt;/code&gt; file at the skill:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/marianfoo/btp-drawio-skill.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;For SAP architecture diagrams, use the sap-architecture skill at&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;path&amp;gt;/btp-drawio-skill/plugins/sap-architecture/skills/sap-architecture.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Read SKILL.md completely. Always scaffold before editing. Run autofix,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;validate, score, render, and inspect the image before finishing.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Never write the draw.io XML from scratch.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Codex reads the project instructions and can call the scripts directly. Python 3.8 or newer and shell access are required. The draw.io desktop app is only needed for PNG, SVG, or PDF export.&lt;/p&gt;&#xA;&lt;p&gt;For the example I described one focused L2 architecture:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Create an L2 SAP Architecture Center-style diagram.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;A developer uses an MCP-capable AI assistant in VS Code to inspect an ABAP&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;class through ARC-1. ARC-1 runs on SAP BTP Cloud Foundry and exposes /mcp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;over Streamable HTTP. The client authenticates through XSUAA. ARC-1 resolves&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;a PrincipalPropagation destination, uses Connectivity Service and SAP Cloud&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Connector, and reads the on-premise SAP ABAP system through ADT REST.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Zones: Developer Workstation, SAP BTP Cloud Foundry,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Customer On-Premise Network.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Output an editable .drawio, PNG, validation and score results,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;and the numbered flow narration.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;a href=&#34;artifacts/codex-prompt.txt&#34;&gt;complete prompt&lt;/a&gt; and a &lt;a href=&#34;artifacts/codex-agents.txt&#34;&gt;sanitized copy of the &lt;code&gt;AGENTS.md&lt;/code&gt; used for the run&lt;/a&gt; are attached to this post.&lt;/p&gt;&#xA;&lt;p&gt;Codex worked for 6 minutes and 42 seconds. It read the skill, ran the template selector, created a first pass, validated and rendered it, inspected the image, made one correction, and ran the checks again.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Codex run summary showing the selected templates, fallback decision, validator result, final score, and generated artifacts.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-07-10-btp-drawio-skill/images/codex-run-summary.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The selector correctly ranked &lt;code&gt;ac_RA0001_E2B_CloudConnector.drawio&lt;/code&gt; first. But this SAP reference has 24 cards and a much larger scope. Removing enough cards for my focused ARC-1 flow would remove more than one third of the template.&lt;/p&gt;&#xA;&lt;p&gt;Codex therefore switched to the skill&amp;rsquo;s built-in &lt;code&gt;on-prem-connectivity&lt;/code&gt; renderer. This was one of the improvements I added: start with the closest SAP example, but do not force a large template into a much smaller use case. The renderer still uses the same SAP palette, dimensions, assets, and validation rules.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-first-pass-scored-100-but-was-wrong&#34;&gt;The first pass scored 100, but was wrong&lt;/h2&gt;&#xA;&lt;p&gt;This was the first complete diagram:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;First generated ARC-1 connectivity diagram. It still contains generic HTTPS, OData/REST, and SAP S/4HANA labels.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-07-10-btp-drawio-skill/images/arc-1-btp-cf-onprem-first-pass.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The validator returned &lt;code&gt;OK&lt;/code&gt;, and the reference-free SAP-likeness score was &lt;code&gt;100.0/100&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;That sounds good, but it was still wrong for my use case.&lt;/p&gt;&#xA;&lt;p&gt;The title was generic. The VS Code flow used &lt;code&gt;HTTPS&lt;/code&gt; instead of &lt;code&gt;MCP&lt;/code&gt;. The backend connection said &lt;code&gt;OData/REST&lt;/code&gt;, although ARC-1 uses the ADT REST API. It also named SAP S/4HANA even though I wanted a generic on-premise SAP ABAP system.&lt;/p&gt;&#xA;&lt;p&gt;This is the part I find most useful. A score can tell me that the file follows the expected visual rules. It cannot prove that the architecture says the right thing.&lt;/p&gt;&#xA;&lt;p&gt;Codex inspected the rendered PNG and made one focused correction. It kept the layout and corrected the labels and colors: MCP in teal, XSUAA and Principal Propagation in green, ARC-1 as the purple focus application, and ADT REST for the backend call.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Final ARC-1 on SAP BTP Cloud Foundry diagram after one visual and semantic correction.&#34; loading=&#34;lazy&#34; src=&#34;https://blog.zeis.de/posts/2026-07-10-btp-drawio-skill/images/arc-1-btp-cf-onprem-final.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The final result passed validation without errors or warnings. Its SAP-likeness score was &lt;code&gt;96.7/100&lt;/code&gt;, slightly lower than the first pass, but the diagram was now correct for ARC-1. The scorer still reported two vocabulary advisories for &lt;code&gt;OAUTH JWT&lt;/code&gt; and &lt;code&gt;mTLS PP&lt;/code&gt;. I kept them because they explain the exact identity flow and are already part of the skill&amp;rsquo;s L2 layout guidance.&lt;/p&gt;&#xA;&lt;p&gt;While preparing this post, I found one more export problem. The draw.io file did not store the white page background explicitly, and one PNG export came out black. I set the page background to white in both attached &lt;code&gt;.drawio&lt;/code&gt; files and exported them again. The validator had accepted the missing value as the default background. This was another useful reminder that I still need to look at the final image.&lt;/p&gt;&#xA;&lt;p&gt;That is also why I would use a strong reasoning model for this task. The skill removes a lot of guessing, but the model still has to read the workflow, choose between a template and fallback, understand the architecture, inspect an image, and notice when a high-scoring result is semantically wrong. I did not compare several Codex models in this run, so this is not a model benchmark.&lt;/p&gt;&#xA;&lt;p&gt;The artifacts from the run are available here:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;artifacts/run-report.txt&#34;&gt;Full Codex run report&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;artifacts/arc-1-btp-cf-onprem-first-pass.drawio&#34;&gt;First-pass editable draw.io&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;artifacts/arc-1-btp-cf-onprem-final.drawio&#34;&gt;Final editable draw.io&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;artifacts/arc-1-btp-cf-onprem-flow.txt&#34;&gt;Numbered flow narration&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;artifacts/first-pass-validation.txt&#34;&gt;First-pass validation&lt;/a&gt; and &lt;a href=&#34;artifacts/first-pass-score.txt&#34;&gt;score&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;artifacts/final-validation.txt&#34;&gt;Final validation&lt;/a&gt; and &lt;a href=&#34;artifacts/final-score.txt&#34;&gt;score&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;how-to-prompt-it&#34;&gt;How to prompt it&lt;/h2&gt;&#xA;&lt;p&gt;The skill works best when the prompt describes an architecture, not only a product list. Include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Level: &lt;code&gt;L0&lt;/code&gt;, &lt;code&gt;L1&lt;/code&gt;, or &lt;code&gt;L2&lt;/code&gt;, based on the audience and required detail.&lt;/li&gt;&#xA;&lt;li&gt;Audience: business overview, solution architecture, or implementation team.&lt;/li&gt;&#xA;&lt;li&gt;Zones: client, SAP BTP, SAP cloud applications, on-premise, or third party.&lt;/li&gt;&#xA;&lt;li&gt;Exact services: this improves SAP icon and asset selection.&lt;/li&gt;&#xA;&lt;li&gt;Backend systems: for example SAP S/4HANA, ECC, BW/4HANA, or a generic ABAP system.&lt;/li&gt;&#xA;&lt;li&gt;Identity: IAS, XSUAA, OAuth, SAML, Principal Propagation, trust, and authorization.&lt;/li&gt;&#xA;&lt;li&gt;Numbered flow steps and protocols such as MCP, HTTPS, ADT REST, OData, A2A, or SAML2/OIDC.&lt;/li&gt;&#xA;&lt;li&gt;Constraints and exclusions: what must be shown and what should stay out.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;A weak prompt is:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Draw ARC-1 with BTP and SAP.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;That leaves the model guessing about the level, zones, identity, backend protocol, and even the purpose of the diagram.&lt;/p&gt;&#xA;&lt;p&gt;The skill is also an authoring assistant, not a one-shot generator. Give visual feedback such as:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&amp;ldquo;The icons overlap the text. Use the normal SAP icon size.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&amp;ldquo;The MCP flow should be teal.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&amp;ldquo;Cloud Connector belongs in the on-premise network.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&amp;ldquo;The backend call is ADT REST, not OData.&amp;rdquo;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Specific feedback maps to a concrete edit. &amp;ldquo;Make it better&amp;rdquo; usually does not.&lt;/p&gt;&#xA;&lt;h2 id=&#34;where-it-works-and-where-it-stops&#34;&gt;Where it works and where it stops&lt;/h2&gt;&#xA;&lt;p&gt;It works best for a focused L1 or L2 diagram with explicit zones and flows, especially when a reference from the same architecture family exists.&lt;/p&gt;&#xA;&lt;p&gt;Sometimes no close template exists. Then another model retry does not solve the problem. The skill can use a deterministic fallback for a few known patterns, but other diagrams still need manual draw.io work or another reference template.&lt;/p&gt;&#xA;&lt;p&gt;The validator also cannot prove semantic correctness. The Codex run above showed that clearly. A diagram can be valid, visually SAP-like, and still use the wrong protocol or product name.&lt;/p&gt;&#xA;&lt;p&gt;For me, the value is not a perfect architecture from one sentence. The value is a much better editable first draft, a repeatable way to check it, and a clear loop for the last correction.&lt;/p&gt;&#xA;&lt;h2 id=&#34;links&#34;&gt;Links&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/marianfoo/btp-drawio-skill&#34;&gt;&lt;code&gt;marianfoo/btp-drawio-skill&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/miyasuta/claude-drawio-btp-diagram&#34;&gt;&lt;code&gt;miyasuta/claude-drawio-btp-diagram&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/lemaiwo/btp-drawio-skill&#34;&gt;&lt;code&gt;lemaiwo/btp-drawio-skill&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://sap.github.io/btp-solution-diagrams/&#34;&gt;SAP BTP Solution Diagram Guidelines&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/SAP/btp-solution-diagrams&#34;&gt;&lt;code&gt;SAP/btp-solution-diagrams&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/SAP/architecture-center&#34;&gt;&lt;code&gt;SAP/architecture-center&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/arc-mcp/arc-1&#34;&gt;ARC-1 on GitHub&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.zeis.de/posts/2026-04-27-arc-1/&#34;&gt;Introducing ARC-1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.zeis.de/posts/2026-04-29-arc-1-btp/&#34;&gt;ARC-1 on SAP BTP&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
    </item>
  </channel>
</rss>
