SkillSkilltypeA procedure an agent follows. Indexed here, never written here.See every one →What this type is →by SAPby SAPoriginPublished by SAP itself. A visible facet, never an input to a reading — a dormant official plugin reads exactly like a dormant independent one.See every one →

SAP-samples/html5-applications-migration-skills-for-sap-btp

A Claude Code plugin with migrate, validate and cleanup skills that move an HTML5 app from SAP Neo, html5-apps-repo or a standalone approuter to the SAP BTP Application Frontend (appFront) service.

Migrating to appFront means rewriting mta.yaml, xs-app.json and xs-security.json by hand and getting the routing, auth-service and business-solution grouping right; the migrate skill reads the source project's own files (or, for Neo, neo-app.json and neo-mta.yaml), presents a migration plan, and only writes into a separate appfront-migrated/ folder after approval, leaving the source untouched. Several related Neo apps can be migrated together into one business solution sharing a single XSUAA instance and app-front instance. The validate skill checks a migrated project's configuration and produces a PASS/WARN/FAIL report, optionally against the live deployed app, and cleanup undeploys and removes the local output. It runs entirely on local files through Claude Code's own Read, Glob, Grep, Write, Edit and Bash tools, with a sub-agent reviewing each migration; no MCP server or network access is required. What reaches Cloud Foundry comes from the tools the requirements name beside the plugin: the MultiApps Build Tool for building the MTA, the CF command line logged in and targeted at an org and space, the CF multiapps plugin for cf deploy, and, optionally, the appFront command line, which is what fetches the runtime URL after a deployment.

Facts

Last pushLicenceApache-2.0

Where it sits

Lives in
Provides
Agent guidanceBTPAgent 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.

Who is behind it

SAP SamplesSAP SamplesOrganisationMaintains this
In the atlas: maintains 222
@SAP-samples
maintainerAmin TehauchaPersonContributes to this
In the atlas: contributes to 1
@charphob
Sergio RozenszajnPersonContributes to this
In the atlas: contributes to 1
@sergioRozenszajn
2 contributors

What it declares

Every artifact

Type
Skill
Origin
By SAP

As a skill

Distributed through
does not say

For agent guidance

Installs into
Claude Code

Tasks this contributes to1Beta

Change a BTP service from an agent sessionA developer working with an agent wants the change made in their own BTP account or service, a Command deployed, an agent pushed, a deployment created, rather than a command to copy out and run themselves.Covers, under conditionsmigrates locally, and undeploys through the Cloud Foundry command line
What it does

The migration is local: the README states that no MCP servers or network access are required and that the plugin operates entirely on local files. Its cleanup skill undeploys a deployed appFront app from Cloud Foundry, optionally deleting service instances and keys, and removes the local output folder.

Conditions

The CF command line logged in and targeted at an org and space before deploying, which the requirements state; The MultiApps Build Tool for building the MTA and the CF multiapps plugin for cf deploy, both named in the requirements; A subaccount with the Application Frontend service entitlement and the Cloud Foundry environment enabled

Remaining work

Build and deploy with the named tools; the appFront command line is listed as optional and is what fetches the runtime URL after a deployment.

All options on the Agent guidance page →

Connections1

README

quoted from SAP-samples/html5-applications-migration-skills-for-sap-btp under Apache-2.0, read
SAP-samples/html5-applications-migration-skills-for-sap-btp/README.mdOn GitHub

AI Skills for HTML5 Applications Migration to Application Frontend Service

REUSE status

Claude Code plugin providing AI-assisted skills for SAP BTP Application Frontend (appFront) service: migrate existing HTML5 apps from Neo or html5-apps-repo, and validate appFront configurations.


Table of Contents


Skills Overview

SkillHow to invokeDescription
migrate/appfront:migrate [neo|html5-repo|standalone-approuter] [cf|kyma] [xsuaa|ias]Migrates an existing HTML5 app from SAP Neo, html5-apps-repo, or a standalone approuter (localDir) to appFront. Produces updated mta.yaml, xs-app.json, and xs-security.json.
validate/appfront:validate [path]Checks appFront configuration for correctness and deployment readiness. Produces a PASS/WARN/FAIL report for local files; optionally validates the live deployed app via browser.
cleanup/appfront:cleanupUndeploys a deployed appFront app from Cloud Foundry (optionally deleting service instances and keys) and removes the local output folder. Works for migrated apps (appfront-migrated/).

What is appFront?

SAP Application Frontend (appFront) is an SAP BTP service that provides a simpler deployment model for HTML5 applications compared to the older html5-apps-repo (HTML5 Application Repository) service. It eliminates the need for:

  • A destination-content MTA module
  • The HTML5Runtime_enabled: true flag on the destination service

This plugin helps teams migrate to appFront and stay productive during development.


Options Matrix

Migration Paths (/appfront:migrate)
📦 Source ☁️ Target Runtime 🔐 Auth Service 🚀 appFront ✅ Supported ✅ Supported ✅ Supported ✅ CDM steps required ✅ Supported ✅ Supported ✅ Supported ✅ Supported html5-apps-repoInstance-Level Destinations html5-apps-repoSubaccount-Level Destinations html5-apps-repoEmbedded Credentials html5-apps-repoWorkZone Managed Approuter SAP NeoHTML5 App Standalone Approuter(localDir routes) Cloud Foundry Kyma XSUAA IAS app-front servicemta.yaml + xs-app.jsonxs-security.json / ias-security.json
Supported Migration Paths
SourceTarget RuntimeAuth ServiceStatus
SAP Neo HTML5 AppCloud FoundryXSUAA✅ Fully documented
SAP Neo HTML5 AppCloud FoundryIAS✅ Fully documented
html5-apps-repo (managed approuter)Cloud FoundryXSUAA⚠️ Skill logic present — populate references/migration-guides/html5-repo-to-appfront.md for best results
html5-apps-repo (managed approuter)Cloud FoundryIAS⚠️ Skill logic present — populate references/migration-guides/html5-repo-to-appfront.md for best results
html5-apps-repo (managed approuter)KymaXSUAA⚠️ Skill logic present — populate references/migration-guides/html5-repo-to-appfront.md for best results
html5-apps-repo (WorkZone managed approuter)Cloud FoundryXSUAA⚠️ Skill logic present — CDM steps required; populate references/troubleshooting/workzone-integration.md
Standalone approuter (localDir routes)Cloud FoundryXSUAA⚠️ Skill logic present — populate references/migration-guides/standalone-approuter-to-appfront.md for best results

Requirements

  • Claude Code CLI — Install Claude Code
  • SAP BTP subaccount with Application Frontend service entitlement and Cloud Foundry environment enabled (org and space created)
  • MBT (SAP MultiApps Build Tool) — npm install -g mbt — for building MTAs after migration
  • CF CLI — logged in (cf login) and targeted (cf target -o <org> -s <space>) before deploying
  • CF MultiApps plugin — cf install-plugin multiapps — required for cf deploy
  • Optional: afctl (appFront CLI) — for deploying, listing, and managing appFront applications; required for fetching the runtime URL after deployment

Download and Installation

Claude Code
claude plugin install appfront --marketplace https://github.com/SAP-samples/html5-applications-migration-skills-for-sap-btp.git

After installation, restart Claude Code, then type / and look for appfront:migrate, appfront:validate, and appfront:cleanup in the listed skills.

To update to the latest version:

claude plugin update appfront
Other agents

The skills in this repository follow the agentskills.io open standard and can be used with any compatible agent by copying the skill directory to your agent's skills location.

# Clone the repo
git clone https://github.com/SAP-samples/html5-applications-migration-skills-for-sap-btp.git

# Copy one or more skills to your agent's skills directory
cp -r html5-applications-migration-skills-for-sap-btp/skills/migrate ~/.agents/skills/

Example — GitHub Copilot:

cp -r html5-applications-migration-skills-for-sap-btp/skills/migrate .github/skills/

Usage

Migrating an app

Navigate to your project directory in Claude Code, then:

/appfront:migrate html5-repo cf xsuaa

Or:

/appfront:migrate standalone-approuter cf xsuaa

Or with natural language (after the skill is loaded):

Migrate this html5-repo app to appFront on Cloud Foundry using XSUAA

What happens:

  1. Claude detects the source type (html5-repo, standalone-approuter, or Neo) and asks blocking questions one at a time to confirm source, target, and auth service
  2. Claude reads your project files:
    • html5-repo / standalone-approuter: mta.yaml, xs-app.json, xs-security.json
    • Neo: neo-app.json (routes, securityConstraints, welcomeFile), neo-mta.yaml, and webapp/manifest.json
  3. Claude presents a migration plan — no files are changed until you approve
  4. After your approval, Claude writes changes to appfront-migrated/ (the source project is never touched)
  5. A critic sub-agent reviews the migration for common errors
  6. Claude produces a migration report with deployment commands and optionally builds and deploys

Neo specifics: The skill reads neo-app.json to extract routes (destinations, SAPUI5 service, User API), securityConstraints (mapped to XSUAA scopes), welcomeFile, and optional cacheControl/responseHeaders/logoutPage settings. It creates a fresh mta.yaml, xs-app.json, and xs-security.json from scratch — the Neo files (neo-app.json, neo-mta.yaml) are deleted from the output folder.

sap.cloud.service and the business solution concept: Neo has no equivalent to sap.cloud.service. When migrating to appFront, this value defines a business solution — a logical grouping of one or more HTML5 apps that share a single XSUAA instance, a single app-front service instance, and a single MTA. The skill will ask you to define this value and explain your intent. See the Mass Migration section below for consolidating multiple Neo apps.

Mass Migration

If you have several related Neo HTML5 apps (e.g. belonging to the same product or team), you can migrate them together into one appFront business solution. This produces a single mta.yaml with shared infrastructure (one app-front instance, one XSUAA instance) and one deployment.

To trigger mass migration, invoke the skill and answer "Yes" when asked whether you want to group multiple apps:

/appfront:migrate neo cf xsuaa

When the skill asks about sap.cloud.service, choose option 2 (mass migration) and provide the list of Neo app directories to include. The skill will:

  1. Read neo-app.json and manifest.json from each app directory
  2. Merge all securityConstraints into a single xs-security.json
  3. Create one html5 source module per app in mta.yaml
  4. Wire all app zips into a single deployer module
  5. Set the same sap.cloud.service value in every app's manifest.json

Example: migrating three Neo apps app-leave, app-payslip, app-orgchart into one business solution com.sap.hr:

appfront-migrated/
├── mta.yaml                   ← one MTA, three html5 modules
├── xs-security.json           ← merged scopes from all three apps
├── hr-leave/webapp/...
├── hr-payslip/webapp/...
└── hr-orgchart/webapp/...

Standalone approuter specifics: If your source uses approuter.nodejs with localDir routes, the skill replaces the approuter module with an appFront deployer module, converts localDir routes to "service": "app-front", and converts group: destinations to config.destinations.

WorkZone integration: If your source app uses sap.cloud.service in the destination-content module, the skill will flag the required CDM steps and wait for your acknowledgment before proceeding.

Validating an app

Navigate to your appFront project directory:

/appfront:validate

Or point to a specific project:

/appfront:validate ./my-appfront-project

Output: A structured PASS / WARN / FAIL report covering:

  • mta.yaml structure (appFront resource, deployer module, residual html5-repo artifacts)
  • xs-app.json routing (appFront service routes, authentication consistency)
  • xs-security.json or ias-security.json (scopes, role templates, oauth2-configuration)
  • manifest.json (app ID, dataSource URIs, Fiori Elements dependencies)

After static validation, the skill can optionally validate the live deployed app by fetching runtime files via browser (requires a deployed app and browser access).


Reference Material

The skills/appfront-migrate/references/ directory contains reference guides that Claude loads during migration. Populate these files with your team's specific guidance to get more accurate and landscape-specific results.

Priority files to populate
FileImpactWhat to add
skills/appfront-migrate/references/migration-guides/html5-repo-to-appfront.mdHighYour team's step-by-step migration guide
skills/appfront-migrate/references/migration-guides/neo-to-appfront.mdHighNeo-specific migration steps
skills/appfront-migrate/references/migration-guides/standalone-approuter-to-appfront.mdHighStandalone approuter (localDir) migration steps
skills/appfront-migrate/references/services/app-front-service.mdHighService plan names in your landscapes, afctl commands
skills/appfront-migrate/references/target-configs/xs-app-patterns.mdHighValidated xs-app.json patterns for your auth services
skills/appfront-migrate/references/troubleshooting/known-issues.mdMediumIssues discovered in real migrations
skills/appfront-migrate/references/troubleshooting/workzone-integration.mdMediumCDM steps for WorkZone-integrated apps

Until populated: Claude uses its training knowledge of appFront as a fallback. Standard migrations (html5-repo → CF + XSUAA) work immediately. Landscape-specific details (exact service plan names, cluster URLs) will be flagged for manual confirmation.

Adding content to reference files

Each placeholder file contains a ## What to put here section listing exactly what content is needed. When you migrate an app and discover issues not covered by the skill, add them to:

  • skills/appfront-migrate/references/troubleshooting/known-issues.md — compatibility problems
  • skills/appfront-migrate/references/troubleshooting/deployment-errors.md — deploy failures with fixes

Architecture

This plugin uses only built-in Claude Code tools:

  • Read, Glob, Grep — reading project files
  • Write, Edit — writing migrated or generated files
  • Bash — running discovery commands (find, grep) and build commands
  • Task — spawning a critic sub-agent for migration quality review

No MCP servers or network access required. The plugin operates entirely on local files.


Skill Behavior Summary

Skilldisable-model-invocationWhen Claude activates it
migrateYesOnly on explicit /appfront:migrate command
validateNoAuto-activates when user asks to validate an appFront app
cleanupYesOnly on explicit /appfront:cleanup command

The migration skill requires explicit invocation because it modifies files — auto-activation for file-modifying operations would be surprising and potentially dangerous.


Known Issues

No known issues.


How to obtain support

Create an issue in this repository if you find a bug or have questions about the content.

For additional support, ask a question in SAP Community.


Contributing

Reporting issues

If the skill misses a migration case or produces incorrect output, please:

  1. Add the case to skills/appfront-migrate/references/troubleshooting/known-issues.md
  2. Open an issue in this repository
Updating the skill logic

Skill behavior is defined in skills/*/SKILL.md. The HARD RULES, phase structure, and critic checklist can all be updated without code changes — the skills are plain Markdown.

Adding a new migration path
  1. Add a new guide file in skills/appfront-migrate/references/migration-guides/
  2. Add a new source type reference in skills/appfront-migrate/references/source-types/
  3. Add the new source type to Phase 0's Source Type Identification section in skills/migrate/SKILL.md
  4. Add an entry to skills/appfront-migrate/references/INDEX.md
  5. Update the Supported Migration Paths table in this README
Code contributions

If you wish to contribute code, offer fixes or improvements, please send a pull request. Due to legal reasons, contributors will be asked to accept a DCO when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses the standard DCO text of the Linux Foundation.


Changelog

See CHANGELOG.md.



License

Copyright 2026 SAP SE or an SAP affiliate company and html5-applications-migration-skills-for-sap-btp contributors. Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.

Apache-2.0, read

History

Latest

v1.0.0

Features 4

Notes
Added
  • appfront-migrate skill: migrate html5-apps-repo (managed approuter) or SAP Neo HTML5 apps to appFront. Supports CF and Kyma runtimes, XSUAA and IAS auth.
  • appfront-validate skill: validate appFront application configuration for deployment readiness.
  • Reference folder structure with smart placeholders for migration guides, target configs, service configs, golden path, and troubleshooting.
  • Annotated before/after mta.yaml and xs-app.json examples for html5-repo → appFront migration.
Agent guidance
  1. abap2UI5 for VS CodeVS Code extension to preview, activate and lint abap2UI5 appsfrom ABAP
  2. sap-cx-developer-companionAgent skill for SAP Customer Experience APIs, CDS and errorsfrom SAP Commerce
  3. sap-basis-opsRunbook skills for Basis operations at the OS and database layerfrom ABAP
  4. abap-offstack-aunitAgent skill for off-stack ABAP Unit tests and an abaplint gatefrom ABAP
  5. ARC-1 SkillsTwenty-two agent skills shipped with arc-1from ABAP
  6. sapskillsAgent skills for Clean ABAP, ADT in VS Code and guardrailsfrom ABAP
  7. SuperClaude for SAPClaude Code plugin with an ABAP MCP server and write guardsfrom ABAP
  8. sap-dm-pod2-mcp-serverMCP server for SAP Digital Manufacturing POD 2.0 extensionsfrom SAP Digital Manufacturing
  9. capire/skillsAgent skills for CAP development, each a SKILL.md with referencesfrom CAP
  10. sap-cloud-integration-pipeline-assistantAgent skill for the Pipeline Concept in SAP Cloud Integrationfrom BTP/BAIP
  11. claude-abap-devFive ABAP workflows for Claude Code on existing MCP serversfrom ABAP
  12. DanKromp/skillOverflowCollection of 41 agent skills, 37 for SAP development tasksfrom CAP
  13. sap-commerce-skillAgent skill for SAP Commerce Cloud 2211-jdk21.1 and laterfrom SAP Commerce
  14. ARC-DRAWMCP server drawing BTP solution diagrams on a draw.io canvasfrom BTP/BAIP
  15. cap-mtx-scaffoldAgent skill for CAP multitenancy scaffoldingfrom CAP
  16. sap-ai-dev-toolkitMCP proxy pinning an agent's ABAP tools to one SAP systemfrom ABAP
  17. scaffold-fiori-ai-bridgeAgent skill generating a Joule Frontend Actions bridge for UI5 appsfrom UI5
  18. sapcli Claude Code PluginAgents and skills that drive sapcli instead of ADTfrom ABAP
  19. CAP GuardianCAP review skill for coding agents with gates and prohibitionsfrom CAP
  20. sap-odata-explorerRust CLI and desktop app for exploring SAP OData servicesfrom BTP/BAIP
  21. btp-solution-diagram-generatorClaude plugin writing BTP solution diagrams as .drawio filesfrom BTP/BAIP
  22. abap-skillsSeventeen agent skills for ABAP developmentfrom ABAP
  23. drawio-skill-sapGitHub Copilot skill writing BTP solution diagrams as draw.io XMLfrom BTP/BAIP
  24. sap-mdk-appsAgent skill for Mobile Development Kit projectsfrom BTP/BAIP
  25. ABAP remote filesystemVS Code extension editing ABAP systems over ADT as a filesystemfrom ABAP
  26. sap-architectureClaude Code plugin and skill drawing validated BTP diagramsfrom BTP/BAIP
  27. WerkbankLocal desktop workspace for AI conversations with SAP connectorsfrom Across stacks
  28. SAP Datasphere Plugin for ClaudeEighteen Datasphere skills over a bundled MCP serverfrom BTP/BAIP
  29. claude-abap-skillsClaude Code plugins with Clean ABAP rules and templatesfrom ABAP
  30. SAP Power for KiroSAP skills for the Kiro IDEfrom BTP/BAIP
  31. drawio-btp-diagram-skillsClaude Code skills for BTP architecture diagrams in draw.iofrom BTP/BAIP
  32. @patimweb/pi-cap-bestpracticesSAP's capire/skills packaged for the pi coding agentfrom CAP
  33. pod2-configAn agent skill that turns a described POD change into an importable [SAP Digital Manufacturing](external:sap-digital-manufacturing) POD 2.0 export, built from standard plugins and actions only.from SAP Digital Manufacturing
  34. aicore-skillsFour agent skills for SAP AI Core in SAP's AI Skills Libraryfrom BTP/BAIP
  35. SAP/automation-pilot-agent-skillsEight skills for writing and operating SAP Automation Pilot contentfrom BTP/BAIP
  36. SAP Developers MCPHosted MCP server of developers.sap.com tutorials and missionsfrom Across stacks
  37. sap-fiori-guidelinesAgent skill built from the Fiori Design Guidelinesfrom UI5
  38. sap-fiori-iosAgent skill mapping Fiori iOS UI Kit nodes in Figma to SwiftUIfrom BTP/BAIP
  39. SAP/leanix-ai-pluginsClaude Code plugin with two skills for SAP LeanIX scriptingfrom BTP/BAIP
  40. SAP-samples/joule-a2a-agent-toolkitSkills for building an A2A agent for Joule and deploying it to CFfrom BTP/BAIP
  41. SAP-samples/sap-devs-cliCLI adding SAP developer knowledge and MCP servers to AI coding toolsfrom BTP/BAIP
  42. sap-tutorials-contentAgent skill mapping the developers.sap.com content APIfrom BTP/BAIP
  43. SAP/ui-theme-designer-plugins-for-coding-agentsAgent plugin on the SAP Design System and theming parametersfrom UI5
  44. secondsky/sap-skillsForty SAP development plugins for coding agentsfrom BTP/BAIP
  45. claude-sap-kitClaude Code plugin adding Custom_* tools to arc-1from ABAP
  46. UI5/plugins-coding-agentsUI5 plugins for coding agentsfrom UI5
  47. UI5 Web Components agent skillsTwo agent skills for accessibility and styling of web componentsfrom UI5
  48. rap-skillsRAP skills delivered branch-per-target for each deploymentfrom ABAP
  49. KlystronMCP server in ABAP inside the application server, with agent skillsfrom ABAP

Details

Sources3
GitHub organisations and accountsdiscovered herechecked
github.com/SAP-samples/html5-applications-migration-skills-for-sap-btptree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
discovered viaGitHub organisations and accounts
first seen in the atlas
ecosystem and domainbtp, ai-and-agents
Contributors2

From the repository’s contributor list, .

History in the atlas3
  1. Claude Code
  2. The same sentence, followed by what the README's requirements name for reaching Cloud Foundry: the MultiApps Build Tool, the CF command line logged in and targeted, the CF multiapps plugin, and the optional appFront command line.
  3. First seen.
For your agent
Ref
artifact:sap-samples-html5-applications-migration-skills-for-sap-btp
JSON
/artifacts/sap-samples-html5-applications-migration-skills-for-sap-btp.json
MCP
Connecting an agent