Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/OutSystems/outsystems-mcpnpx agentmods add skills/outsystems/outsystems-mcp/outsystems-custom-codeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/outsystems/outsystems-mcp/outsystems-custom-code)<a href="https://agentmods.dev/skills/outsystems/outsystems-mcp/outsystems-custom-code"><img src="https://agentmods.dev/badge/skills/outsystems/outsystems-mcp/outsystems-custom-code/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/outsystems/outsystems-mcp/outsystems-custom-code"><img src="https://agentmods.dev/badge/skills/outsystems/outsystems-mcp/outsystems-custom-code.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00173 | $0.05740 |
| Opus 5.5 | $0.00069 | $0.02296 |
| Sonnet 5.5 | $0.00035 | $0.01148 |
| Haiku 4.5 | $0.00017 | $0.00574 |
Grade A, and why
outsystems-custom-code scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 538 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.
OutSystems ODC External Library Skill
This file describes how to create, build, test, and deploy C# libraries for the OutSystems Developer Cloud (ODC) External Logic feature.
Load the main outsystems skill before uploading: upload, polling and publish rules come from it (read the live tool catalog, poll long-running operations to terminal, confirm before every tenant write). The main skill's upload, polling and publish rules apply, and this skill's two confirmations (see Upload and publish) always apply on top of them. For building and packaging the library, follow this skill.
Project Overview
OutSystems ODC External Logic allows extending ODC apps with custom C# code. The C# class library project is built locally, published as a ZIP file to the ODC platform. OutSystems generates a wrapper around the code that exposes the decorated interfaces as server actions consumable by ODC applications.
Runtime Constraints
These are hard limits enforced by the ODC platform. Never design functions that approach or exceed them:
| Constraint | Limit |
|---|---|
| Max execution duration | 95 seconds per function call |
| Max memory | 1,024 MB |
| Max ephemeral storage | 512 MB |
| Max payload (inputs + outputs combined) | 5.5 MB |
For large data: stream in chunks, use references/URLs instead of raw bytes.
Project Setup
Target Framework
- Use .NET 10. Do not use .NET 6 or .NET 8: .NET 8 support is ending, and after that ODC refuses to upload, update, or install a library that targets it.
- Project type: Class Library (
<OutputType>Library</OutputType>). - If the project targets an older .NET, update it to .NET 10.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 538 lines · 173 tokens per session scan A f79cb7d8c64d
outsystems-custom-code is a skill published in the GitHub repository OutSystems/outsystems-mcp (41 stars, last pushed today), licensed MIT. It adds 173 tokens to every session and 5,740 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-20.
Other skills, from other repositories
dotnet-backend
Build and upgrade ASP.NET Core services with typed contracts, dependency lifetimes and verified persistence. Use when implementing .NET APIs, background services or runtime migrations; coordinate SDK, target framework and package support.
dotnet-aspnetcore-service
Use when building or extending a C# service on ASP.NET Core - Minimal APIs or controllers, DI and options, EF Core with Npgsql, ProblemDetails, HttpClientFactory resilience, async and cancellation.
software-csharp-backend
Applies C# and .NET backend standards to ASP.NET Core APIs, EF Core, Dapper, and workers. Use when shaping API boundaries, data access, resilience, or observability.
sinch-functions-dotnet
Write C#/.NET Sinch Functions with the Sinch.Functions.Runtime NuGet package. Use when writing or editing a function controller: answering and controlling calls with Voice API v2, IVR menus, placing, bridging or transferring calls, realtime AI voice agents, SMS/WhatsApp/RCS webhooks, custom HTTP endpoints, dependency…
ddd
Domain-Driven Design patterns for .NET — aggregates, value objects, strongly-typed IDs, domain events, repositories, and the DDD variant of the layer rules.
vertical-slice
Vertical Slice Architecture (VSA) for .NET APIs — feature-first folder structure, IEndpointGroup pattern, cross-cutting concerns, and testing approach.