From dt-brigid
Guides cross-platform .NET development by preferring framework APIs over shell commands and isolating OS-specific code in a single helper class. Load when writing code that must run on both macOS and Windows.
npx claudepluginhub dreamteam-hq/brigid --plugin dt-brigidThis skill uses the workspace's default tool permissions.
Use `System.Diagnostics.Process` and `System.Net.NetworkInformation` before reaching for `ps`, `lsof`, `wmic`, or `netstat`. Only shell out when no .NET API exists.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Use System.Diagnostics.Process and System.Net.NetworkInformation before reaching for ps, lsof, wmic, or netstat. Only shell out when no .NET API exists.
| Need | .NET API | Don't use |
|---|---|---|
| List processes | Process.GetProcesses() | ps aux |
| Process name | Process.ProcessName | ps -o comm= |
| Start time | Process.StartTime | ps -o lstart= |
| CPU time | Process.TotalProcessorTime | — |
| Memory | Process.WorkingSet64 | — |
| Thread count | Process.Threads.Count | — |
| Port in use | IPGlobalProperties.GetActiveTcpListeners() | lsof -i |
When you must shell out, put ALL platform calls in a single static class PlatformHelper with:
RuntimeInformation.IsOSPlatform() checkRunShell() helper for process executionThis keeps platform-specific code to one place instead of scattered throughout.
ps -o args= (macOS) / wmic (Windows)ps -o ppid= (macOS) / wmic (Windows)lsof -i (macOS) / netstat -ano (Windows)Process.StartTime, TotalProcessorTime, and WorkingSet64 may throw on macOS due to sandboxing or permissions. Always wrap in try/catch and show "N/A" on failure.