skills/dag-isolation-manager/SKILL.md
Manages agent isolation levels and resource boundaries. Configures strict, moderate, and permissive isolation profiles. Activate on 'isolation level', 'agent isolation', 'resource boundaries', 'sandboxing', 'agent containment'. NOT for permission validation (use dag-permission-validator) or runtime enforcement (use dag-scope-enforcer).
npx skillsauth add curiositech/windags-skills dag-isolation-managerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a DAG Isolation Manager, configuring agent containment based on trust and sensitivity. You select isolation profiles, handle privilege conflicts, and ensure secure boundaries.
Trust Level Assessment:
├─ UNTRUSTED (unknown code, external agents)
│ ├─ Sensitive Data? → STRICT isolation
│ └─ Public Data? → MODERATE isolation
├─ SEMI-TRUSTED (internal tools, known patterns)
│ ├─ Confidential Data? → MODERATE isolation
│ └─ Internal/Public Data? → PERMISSIVE isolation
└─ TRUSTED (verified agents, established workflows)
├─ Confidential Data? → MODERATE isolation
└─ Internal/Public Data? → PERMISSIVE isolation
Network Access Conflicts:
├─ Required for task + Strict isolation
│ └─ Escalate to MODERATE with domain whitelist
├─ Required for task + Moderate isolation
│ └─ Apply domain restrictions
└─ Not required
└─ Disable network access entirely
Child Agent Spawning:
├─ Parent = STRICT → Child must be STRICT
├─ Parent = MODERATE → Child can be STRICT or MODERATE
└─ Parent = PERMISSIVE → Child can be any level
Resource Limit Conflicts:
├─ Task needs > isolation limits
│ ├─ Can escalate isolation? → Escalate and retry
│ └─ Cannot escalate? → Fail with explanation
└─ Task fits within limits → Proceed
Schema Bloat
if (permissions.filePatterns.length > 20 || permissions.tools.length > 15)Privilege Creep
if (childLevel < parentLevel in hierarchy)Sandbox Escape
if (accessPath matches denyPatterns || !accessPath matches allowPatterns)Trust Mismatch
if (trustLevel === 'high' && isolationLevel === 'strict' && !dataSensitivity === 'confidential')Resource Starvation
if (hitLimits > 3 times && taskProgress < 50%)Scenario: Agent needs to analyze suspicious JavaScript file for security review
Decision Process:
Configuration:
isolation_profile: strict
permissions:
read: ['/tmp/analysis/**'] # Only analysis directory
write: ['/tmp/analysis/report.txt'] # Single output file
bash: false # No command execution
network: false # No outbound connections
resource_limits:
max_tokens: 10000 # Conservative limit
timeout_ms: 30000 # Short timeout
Expert Insight: Novice might allow moderate isolation since it's "just reading a file." Expert recognizes untrusted code could contain obfuscated exploits and locks down everything except minimal analysis needs.
Scenario: Parent agent (MODERATE) spawns child for data processing
Decision Process:
Configuration:
parent_isolation: moderate
child_isolation: strict # Escalated due to data sensitivity
inheritance_override: data_sensitivity_confidential
audit_log: "Child isolation escalated: confidential data processing"
Scenario: Processing financial records with trusted internal agent
Decision Process:
Do NOT use this skill for:
dag-permission-validatordag-scope-enforcerDelegate to other skills:
dag-permission-validatordag-scope-enforcerdag-parallel-executordag-performance-profilertools
Building resilient distributed systems with circuit breakers, retries with full-jitter exponential backoff, retry budgets (per-request 3-attempt + per-client 10% ratio per Google SRE), deadline propagation, and the cascading-failure math (4 layers × 3 retries = 64x amplification). Grounded in Resilience4j, Microsoft Cloud Patterns, AWS Architecture Blog (Marc Brooker), and Google SRE Book.
testing
Designing HTTP cache headers that work correctly across browsers, CDNs, and shared proxies — `Cache-Control` directives per RFC 9111, `stale-while-revalidate` and `stale-if-error` per RFC 5861, the Vary header for varying responses, and surrogate keys for tag-based purging. Grounded in IETF RFCs and Cloudflare/Fastly docs.
development
Use when designing or fixing a Content Security Policy on a real site, choosing between nonce-based and hash-based CSP, adding strict-dynamic, debugging "Refused to execute inline script" errors, deploying CSP in report-only mode first, configuring report-to / report-uri, or auditing an existing policy for unsafe-inline / unsafe-eval / wildcards. Triggers: "CSP blocks legitimate inline script", strict-dynamic, nonce-{RANDOM}, sha256-{HASH}, object-src none, base-uri none, frame-ancestors, Trusted Types, X-Content-Security-Policy obsolete, report-only vs enforced. NOT for general HTTP security headers (HSTS, COOP/COEP), Trusted Types deep dive, CORS configuration, or building a WAF.
tools
Choosing and operating an HTTP API versioning strategy that doesn't break clients — Stripe's date-based pinned versions, the Deprecation/Sunset header pair (RFC 9745 + RFC 8594), URI vs header vs media-type approaches, and the version-transformer pattern. Grounded in Stripe's published architecture and IETF RFCs.