Integrate ManagedCode.Orleans.Graph into an Orleans-based .NET application for grain-call policy enforcement, deadlock detection, live-call telemetry, and Mermaid graph diagnostics. USE FOR: ManagedCode.Orleans.Graph integration; allowed grain transitions; Orleans call filters; live policy graphs; reviewing Orleans call-cycle risk. DO NOT USE FOR: generic graph data modeling or traversal unrelated to Orleans calls. INVOKES: inspect the repository context, edit targeted files, and run relevant bu
SkillScore100Maintained
Automatic
◆Coding pack
Last verified 8/19/2026
What it changes
Passed 22 of 22 test cases with the skill, and 11 of 22 without it.
Without skill50%
With skill100%
Checks it passed that the model alone missed
Decorates IOrderGrain with [AllowClientCall].
Decorates IPaymentGrain with [AllowSelfReentrancy].
Disables or removes the observe-all discovery mode.
and 14 more in the full report
11 fixed11 passed either way0 still failing0 broke
Pass-rate lift
+50 pp
Tokens
+6%
Agent turns
0%
Response time
-58%
Model gemini-3.6-flashMeasured 8/19/2026v122 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 11 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 11
Prompt
When an external client calls into an Orleans silo with graph policy enforcement active, what exact string identity does the system assign to represent the client vertex in call history?
What was checked, without and with the skill
Checked
Without skill
With skill
Identifies ORLEANS_GRAIN_CLIENT as the vertex identity string for client calls.
Missed
Passed
case-11 · gemini-3.6-flash · 8/19/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md138 linessingle file
ManagedCode.Orleans.Graph
Trigger On
integrating ManagedCode.Orleans.Graph into an Orleans-based system
enforcing which grain interfaces may call other grain interfaces and methods
detecting unsafe runtime grain call cycles or intentional self-reentrancy
generating configured-policy or live-call Mermaid diagrams
running observe mode to discover real traffic before locking down a policy
Install
Current upstream release reviewed: v10.0.3.
dotnet add package ManagedCode.Orleans.Graph
The upstream package targets the current .NET 10 / Orleans 10 stack. Do not add it to older Orleans applications without first checking target frameworks and Orleans package compatibility.
Workflow
Confirm the application needs grain-call policy enforcement or live-call diagnostics. If the task is generic graph data traversal, use normal Orleans grain modeling instead.
Register Orleans.Graph filters in the silo with AddOrleansGraph(...).
Model the policy from source grain to target grain and method. Start with explicit allow rules for client entry points and grain-to-grain transitions.
Use AllowAll() observe mode only to discover traffic before enforcement. Keep a follow-up step to convert observed edges into reviewed policy.
Register the client-side outgoing filter with clientBuilder.AddOrleansGraph() only when Orleans clients should participate in call-history tracking.
Use attributes when colocating policy with grain contracts is clearer than central fluent setup.
Generate Mermaid diagrams and inspect policy edges for review artifacts.
Validate with real Orleans runtime tests, including timer, reminder, hosted-service, and stateless-worker call origins when those are part of the topology.
flowchart LR
A["Orleans call"] --> B["Outgoing filter records source"]
B --> C["Incoming filter checks transition policy"]
C --> D{"Allowed?"}
D -->|Yes| E["Target grain method runs"]
D -->|No| F["Blocked before target code"]
E --> G["Telemetry worker aggregates live edge"]
G --> H["Telemetry grain / Mermaid graph"]
Build, review, or migrate .NET MAUI applications across Android, iOS, macOS, and Windows with correct cross-platform UI, platform integration, and native packaging assumptions. USE FOR: working on cross-platform mobile or desktop UI in .NET MAUI; integrating device capabilities, navigation, or platform-specific code; migrating Xamarin.Forms or aligning. DO NOT USE FOR: unrelated stacks; generic tasks that do not need this specific guidance. INVOKES: inspect the repository context, edit targeted