outsystems-app-archite…
[Beta] Generate an interactive HTML graph of a single OutSystems app's architecture — UI flows + screens, server/client/service…
[Beta] Build an interactive HTML REVERSE-dependency explorer — answers 'who depends on this library/agent/connection?' from the platform's deletion-impact analysis (read-only; nothing is deleted). One named target is one analysis: seconds, a few K tokens. A whole-tenant map is
Claude Code
$ npx -y skills add OutSystems/outsystems-mcp --skill outsystems-dependency-impact --agent claude-code
Codex
$ npx skills add OutSystems/outsystems-mcp --skill outsystems-dependency-impact -a codex -y
Cursor
$ npx skills add OutSystems/outsystems-mcp --skill outsystems-dependency-impact -a cursor -y
Gemini CLI
$ npx skills add OutSystems/outsystems-mcp --skill outsystems-dependency-impact -a gemini-cli -y
GitHub Copilot
$ npx skills add OutSystems/outsystems-mcp --skill outsystems-dependency-impact -a github-copilot -y
OpenCode
$ npx skills add OutSystems/outsystems-mcp --skill outsystems-dependency-impact -a opencode -y
Windsurf
$ npx skills add OutSystems/outsystems-mcp --skill outsystems-dependency-impact -a windsurf -y
name: outsystems-dependency-impact
description: "[Beta] Build an interactive HTML REVERSE-dependency explorer — answers 'who depends on this library/agent/connection?' from the platform's deletion-impact analysis (read-only; nothing is deleted). One named target is one analysis: seconds, a few K tokens. A whole-tenant map is one analysis per library/agent/connection in parallel batches (estimate: ~0.5K tokens per target plus ~0.1–0.15K per dependent found). Use ONLY for reverse questions like 'who depends on [library/agent]', 'if I publish [library] who breaks', 'blast radius of [library/agent]', 'reverse dependency map', 'library impact audit', 'agent impact audit'. For forward questions about a specific app ('what does App X depend on', 'deps of App X'), use outsystems-app-architecture or the app's references directly. 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.
allowed-tools: Bash(python3 ${CLAUDE_PLUGIN_ROOT}/skills/outsystems-dependency-impact/scripts/build.py *) Bash(python3 "${CLAUDE_PLUGIN_ROOT}/skills/outsystems-dependency-impact/scripts/build.py" *) Write mcp__plugin_outsystems_outsystems__auth_status mcp__plugin_outsystems_outsystems__app_list mcp__plugin_outsystems_outsystems__app_refs mcp__plugin_outsystems_outsystems__env_list mcp__plugin_outsystems_outsystems__deploy_impact mcp__plugin_outsystems_outsystems__deploy_impact_status mcp__outsystems__auth_status mcp__outsystems__app_list mcp__outsystems__app_refs mcp__outsystems__env_list mcp__outsystems__deploy_impact mcp__outsystems__deploy_impact_status
metadata:
version: "1.5.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-file HTML reverse-dependency explorer (it loads only its fonts from a public CDN). Pick a library, agent or connection — the page shows every asset that would break if it were removed, in which environments, at which deployed revision, and with what severity (`Error` / `Warning`).
The data comes from the platform's **deletion-impact analysis**: `deploy_impact {key, delete: true}`, polled with `deploy_impact_status`. It is an analysis only — nothing is deleted, and the MCP server calls no delete endpoint for it. For "if I publish library X, who breaks?" it lists everyone who depends on X; that is the most a pre-publish check can give for a library (the deployment variant of the analysis does not work for library types).
| Question | Calls | Wall time | Tokens | |---|---|---|---| | One named target | 1 launch + 1–3 polls | seconds | ~3–5K, plus ~0.1–0.15K per dependent | | Whole-tenant map, N targets | N launches + N+ polls, 10 per message | ~0.5–1 min per 10 targets | ~0.5K × N, plus ~0.1–0.15K per dependent |
These are estimates, not end-to-end measurements. Measured live: a launch returns in about a second, and finished reports came back for every analysis polled; a heavily used UI library had 74 dependents in a report of about 37 KB (roughly 9K tokens). The whole-tenant map is still one analysis per target, so for a large tenant it is not cheap — prefer the one-target path whenever the user names a target.
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__deploy_impact` for `deploy_impact`).
script reads the saved analysis results from disk and writes the HTML; it never calls the server and holds no sign-in of its own.
file (in the OutSystems plugin, `skills/outsystems-dependency-impact/`), 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.
index on the server; a map is N analyses.
call.** The MCP server passes any asset key through. Verified live: `LowCodeLibrary`. Agents and connections are not verified. A launch the platform refuses (`analysis_launch_rejected`) renders as "Deletion analysis not available for this asset", never as "no dependents".
`processStatus` `Failed` / `Unknown` / still `InProgress`, or a missing `report` means the impact is unknown, and the page says so.
`report.total`; when the list is shorter the page says "Showing N of M".
Read the user's request and pick the matching branch:
**Branch A — Forward-deps for ONE s
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] 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…
[Beta] Generate an interactive HTML graph of an OutSystems Developer Cloud tenant's assets (web/mobile apps, agents and agent…
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.