outsystems-app-archite…
[Beta] Generate an interactive HTML graph of a single OutSystems app's architecture — UI flows + screens, server/client/service…
[Beta] Generate an interactive HTML graph of an OutSystems Developer Cloud tenant's assets (web/mobile apps, agents and agent definitions, AI model connections, knowledge bases, libraries, integrations) with filter-by-type controls, where each asset is deployed (revision drift
Claude Code
$ npx -y skills add OutSystems/outsystems-mcp --skill outsystems-tenant-architecture --agent claude-code
Codex
$ npx skills add OutSystems/outsystems-mcp --skill outsystems-tenant-architecture -a codex -y
Cursor
$ npx skills add OutSystems/outsystems-mcp --skill outsystems-tenant-architecture -a cursor -y
Gemini CLI
$ npx skills add OutSystems/outsystems-mcp --skill outsystems-tenant-architecture -a gemini-cli -y
GitHub Copilot
$ npx skills add OutSystems/outsystems-mcp --skill outsystems-tenant-architecture -a github-copilot -y
OpenCode
$ npx skills add OutSystems/outsystems-mcp --skill outsystems-tenant-architecture -a opencode -y
Windsurf
$ npx skills add OutSystems/outsystems-mcp --skill outsystems-tenant-architecture -a windsurf -y
name: outsystems-tenant-architecture
description: "[Beta] Generate an interactive HTML graph of an OutSystems Developer Cloud tenant's assets (web/mobile apps, agents and agent definitions, AI model connections, knowledge bases, libraries, integrations) with filter-by-type controls, where each asset is deployed (revision drift per environment), a 7-day Production traffic/error overlay and an AI governance view (model providers, Trial vs Customer entitlement, test/demo-named and stale agents). ONE tenant-level pass per invocation, no per-app deep dives (use outsystems-app-architecture for one app); also the entry point for 'architecture of every app' requests, which it confirms before any per-app run. First run 2-5 min; cached re-runs ~5s. Use when the user asks for a tenant overview, architecture diagram, asset inventory, 'what's in my tenant', 'show me my apps', 'what is deployed where', an AI inventory, 'audit my AI', 'which models are we using', 'show me my agents', AI governance, or similar. Not for OutSystems 11 (O11) or Service Studio."
license: MIT
compatibility: Needs an agent that can run shell commands and Python 3.10+ (standard library only), with the OutSystems MCP server connected and signed in. Validated on Claude Code. Claude Desktop's Chat tab has no shell and cannot run it. The output HTML embeds the tenant data but loads its graph library and fonts from public CDNs; offline it falls back to a plain asset table.
allowed-tools: Bash(python3 ${CLAUDE_PLUGIN_ROOT}/skills/outsystems-tenant-architecture/scripts/build.py *) Bash(python3 "${CLAUDE_PLUGIN_ROOT}/skills/outsystems-tenant-architecture/scripts/build.py" *) Write mcp__plugin_outsystems_outsystems__auth_status mcp__plugin_outsystems_outsystems__env_list mcp__plugin_outsystems_outsystems__app_list mcp__plugin_outsystems_outsystems__env_apps mcp__plugin_outsystems_outsystems__app_health mcp__plugin_outsystems_outsystems__context_agents mcp__plugin_outsystems_outsystems__context_connections mcp__outsystems__auth_status mcp__outsystems__env_list mcp__outsystems__app_list mcp__outsystems__env_apps mcp__outsystems__app_health mcp__outsystems__context_agents mcp__outsystems__context_connections
metadata:
version: "1.9.0"
maturity: beta
author: OutSystems**Beta Feature.** This skill is a Beta Feature: a non-final OutSystems capability provided to collect customer feedback. It can change significantly, including through breaking changes, or be discontinued. The first time you use this skill in a conversation, tell the user it's a Beta Feature and share https://www.outsystems.com/legal/beta-features-agreement.
Produces a single HTML file with a force-directed graph of every asset in the user's ODC tenant, where each one is deployed, and a 7-day Production traffic/error overlay. OutSystems dark theme, filter-by-type, by-environment and by-health sidebar, click for asset details, and a Table view. Caches results across sessions, so a re-run within the hour takes seconds.
The tenant data is embedded in the file, so it can be mailed or archived as-is. It is **not** fully self-contained: the graph library (vis-network 9.1.9, pinned with Subresource Integrity, from unpkg with a jsDelivr fallback) and the web fonts load from public CDNs. With both CDNs unreachable (offline, or blocked by a proxy) the page says so and shows the asset table with every filter and the detail panel; fonts fall back to system fonts.
the tools named below; tool names here are the server's own, and your harness may show them with a prefix (in Claude Code, `mcp__plugin_outsystems_outsystems__app_list` for `app_list`).
scripts read the saved tool results from disk and write the HTML; they never call the server and hold no sign-in of their own.
file (in the OutSystems plugin, `skills/outsystems-tenant-architecture/`), so `<skill-folder>/scripts/build.py` is the script next to it. Values in angle brackets are placeholders you substitute; quote every path, since a home folder can contain spaces.
it: the skill's permissions match `python3 "<skill-folder>/scripts/build.py" ...` and nothing else, so an added redirect (`2>&1`), pipe or chained command (`;`, `&&`) makes the harness stop and ask the user.
example Claude Code, not Claude Desktop's Chat tab); don't try to build the page by hand.
**The core rule: keep large data off the model's context.** Tool results go to disk, `build.py` reads them from there, and the HTML comes out the other side. Never read a saved result back into the conversation.
This skill produces **one tenant-level visualization** per invocation, **not per-app deep dives**. Read the user's request and pick the matching branch:
**Branch A — Tenant-only view** ("show me my tenant", "what's in my tenant", "tenant architecture", "show me my apps") → Continue the procedure as normal.
**Branch B — Tenant + per-app deep dives** ("show me everything in detail", "architecture of every app", "deep dive on each app") → **Stop and ask the user for confirmation, before any MCP call.** Don't list the apps to count them first: the question needs no count. Chaining `outsystems-app-architecture` over every app costs ~10K tokens and ~0.5-1 min per app (100 apps = ~1M tokens and 30-60 min). Offer three choices:
Run `outsystems-app-architecture` afterwards only for the apps the user wants to drill into.
for each app, at the
Distribution repo for the OutSystems MCP. To install, paste the matching prompt below into your AI assistant. Every harness section below sets up two artifacts and says how to keep the skill current.
[Beta] Generate an interactive HTML graph of a single OutSystems app's architecture — UI flows + screens, server/client/service…
[Beta] Reference + workflow for building, testing, and deploying C# class-library "External Logic" libraries for OutSystems…
[Beta] Build an interactive HTML REVERSE-dependency explorer — answers 'who depends on this library/agent/connection?' from the…
[Beta] Drive ODC Mentor to bootstrap an OutSystems app from a design source — Figma URL, screenshot/image, HTML mockup, or…
[Beta] Drive ODC Mentor to bootstrap an OutSystems app from a TEXT-ONLY structured spec. For Figma/image/HTML inputs, use…
OutSystems Developer Cloud (ODC) over MCP. Edit apps, publish, deploy, search tenant elements, manage external libraries. Load…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.