rwilson504
- 44 skills
- 0 followers
- 1 week ago last updated
- ▌ Streamdeck Profiles Localization · rwilson504Stream Deck profile bundling, localization/i18n, and Stream Deck + touch-strip layouts: shipping .streamDeckProfile files inside a plugin, switching profiles programmatically (streamDeck.profiles.switchToProfile), language files (en/de/fr/ja/ko/es/zh_CN/zh_TW.json), manifest string overrides + Localization dictionary, streamDeck.i18n.translate, custom touch-strip layout JSON (200×100 canvas, bar/gbar/pixmap/text items), built-in layout IDs ($A0/$A1/$B1/$B2/$C1/$X1), per-feedback-item keys. USE FOR: bundling a default profile with your plugin, switching the device to a bundled profile, translating action names/tooltips, custom dial touch-strip designs, custom layout JSON schema, reserved layout keys (title, icon, value, indicator).
- ▌ Dataverse Classic Custom Activity · rwilson504Scaffold a custom workflow activity for Dataverse Classic Workflows - a C# `CodeActivity` class that XAML can call through `mxswa:ActivityReference`. Use when user says "create a custom workflow activity", "scaffold a CodeActivity", "write a C# workflow step", "I need a step that does X and the platform has no built-in", "register my workflow assembly", "my custom activity does not show up in the designer", or works with `Microsoft.CrmSdk.Workflow` or spkl `[CrmPluginRegistration]`. Covers the .NET Framework 4.6.2 target, `[Input]` / `[Output]` / `[RequiredArgument]` / `[Default]` / `[ReferenceTarget]` / `[AttributeTarget]` parameter attributes, the sandbox constraints, and assembly registration. Do NOT use for editing workflow XAML (use dataverse-classic-write) or for Dataverse plugins registered on SDK message steps.
- ▌ Streamdeck Publishing · rwilson504Packaging and shipping a Stream Deck plugin to the Elgato Marketplace: streamdeck pack to produce .streamDeckPlugin, .sdignore exclusions, DRM (SDKVersion 3 + Software 6.9+: file encryption + integrity), Maker Console submission (https://maker.elgato.com), Maker Agreement, review process, supported product types, country/Stripe limitations, 70/30 payout split, IP ownership, multi-listing, marketplace UX guidelines for icons, side-loading via .streamDeckPlugin double-click, version bumps. USE FOR: publishing a Stream Deck plugin, enabling DRM, packaging a plugin, submitting to Maker Console, becoming a maker, marketplace review, plugin updates / version bumps, icon UX guidelines, distributing outside the marketplace.
- ▌ Xrmtoolbox Plugin Dev · rwilson504Build, debug, and ship XrmToolBox plugins (tools) that connect to Dataverse / Dynamics 365 CE. USE WHEN: creating a new XrmToolBox tool, scaffolding PluginBase/PluginControlBase, wiring ExportMetadata, calling the OrganizationService via ExecuteMethod/WorkAsync, handling UpdateConnection, showing errors (ShowErrorDialog), logging, notifications, saving tool settings, adding interfaces (IGitHubPlugin, IHelpPlugin, IStatusBarMessenger, IMessageBusHost, IAboutPlugin, ISettingsPlugin, IShortcutReceiver), setting up Visual Studio debug (post-build copy to Plugins, .csproj.user launch settings, pdb-for-breakpoints, /overridepath, /connection, /plugin), debugging on Windows-on-ARM (ARM64 can't debug .NET Framework in VS Code — use Visual Studio 2022), MSBuild /restore, Hot Reload limits, storing secrets with DPAPI vs CryptoManager, or packaging/distributing via NuGet to the Tool Library. DO NOT USE FOR: Dataverse plugins/SDK steps registered in CRM, FetchXML query syntax, or general C# unrelated to XrmToolBox.
- ▌ Cad Partcad Repository · rwilson504PartCAD — package manager + public repository of community CAD parts and assemblies (https://partcad.org/repository). Browse hundreds of parts (electrical, electronics, electromechanics, furniture, medical, robotics, std, storage), import them into build123d via `pc.get_part_build123d(...)`, publish your own packages. Covers install, CLI (`pc list/info/inspect/export`), Python API (build123d / CadQuery / generic), partcad.yaml package authoring, AI-generated parts (Google / OpenAI), assembly composition (.assy). USE FOR: PartCAD, partcad, find a community part, browse part catalog, public CAD repo, import community part into build123d, pc.get_part_build123d, pc inspect, pc export, pc list parts, AI-generated CAD model, ai-cadquery, ai-openscad, publish CAD package, OpenVMP robot.
- ▌ Dataverse Classic Copy · rwilson504Clone a Dataverse Classic Workflow safely, using the Process Template path that works around the platform bug where a naively copied workflow will not activate. Use when user says "make a copy of this workflow", "clone this workflow", "duplicate this workflow", "fork this workflow as a starting point", "copy via Process Template", "save as template", "my copied workflow will not activate", or "why can I not turn on the workflow I duplicated". Covers the template create / instantiate / rename sequence, which identifiers must be regenerated versus preserved, and the trigger and scope settings that silently do not carry across. Do NOT use for editing an existing workflow in place (use dataverse-classic-write) or for moving a workflow between environments (use dataverse-classic-publish).
- ▌ Dataverse Classic Read · rwilson504Parse and summarize a Dataverse Classic Workflow XAML file (WF4, the `workflow` table) into a human-readable narrative. Use when user says "what does this workflow do", "summarize this workflow", "explain this XAML", "walk me through this workflow", "what triggers this", "what are the steps", "extract the trigger info", "is this real-time or background", "what scope does this run at", or pastes/points at a `.xaml` file from `pac solution clone` or `unpack`. Produces trigger + scope + mode + run-as details and a step-by-step narrative, resolving `mxswa:ActivityReference` wrappers and `[bracket]` VB.NET expressions into plain language. Do NOT use for editing XAML (use dataverse-classic-write), diffing two versions (use dataverse-classic-compare), or gap analysis against requirements (use dataverse-classic-analyze).
- ▌ Dataverse Classic Write · rwilson504Make round-trip-safe edits to Dataverse Classic Workflow XAML so the classic designer still opens the result. Use when user says "add a step to this workflow", "remove this step", "change this condition", "modify this workflow", "edit this XAML", "insert an update step", "change the email body", "add a branch", or asks for any change to a `.xaml` workflow file. Enforces the rules that break workflows when ignored: the mandatory ConditionSequence to ConditionBranch to Composite nesting, wrapping control-flow activities in `mxswa:ActivityReference` rather than emitting them directly, preserving `UserData` and `mva:VisualBasicValue` designer blobs, and the CreateCrmType payload shape required for write operations. Do NOT use for authoring a C# activity assembly (use dataverse-classic-custom-activity) or for activating and importing (use dataverse-classic-publish).
- ▌ Cad Measurement Diagrams · rwilson504Generate self-guided SVG instruction diagrams whenever you ask a human to take a physical measurement (caliper placement, thread pitch spans, datum choice, across-flats vs across-corners). USE FOR: "how do I measure this", "show me where to put the calipers", asking a user for dimensions, reverse-engineering a physical part, thread pitch measurement, any bench procedure you are describing in words.
- ▌ Cad Reverse Engineer Stl · rwilson504Read an existing STL (or STEP) file, measure it, and rebuild it as a parametric build123d model. Covers mesh loading (trimesh / OCCT), bounding-box and primitive detection, hole/fillet inference, alignment to a sane coordinate system, and an iterative measure → propose → diff workflow. USE FOR: "rebuild this STL parametrically", "extract dimensions from this mesh", "convert STL to build123d", "reverse engineer a downloaded model", "I have an STL but no source", "measure features in a mesh", "import STEP into build123d".
- ▌ Dataverse Classic Analyze · rwilson504Gap-analyze an existing Dataverse Classic Workflow against new requirements and flag risky patterns. Use when user says "I have new requirements, what needs to change", "does this workflow meet this spec", "gap analysis", "review this workflow", "what is wrong with this workflow", "why does this loop", "is this workflow going to run away", "audit this workflow", or supplies a requirements document alongside a `.xaml`. Produces a requirement-by-requirement verdict plus a change plan, and checks the documented failure modes: infinite-loop protection (the 16-in-a-short-window rule), hierarchical Under / Not Under operator behavior, scope and run-as mismatches, and MS Learn best-practice violations. Do NOT use for plain summarization (use dataverse-classic-read) or for applying the changes (use dataverse-classic-write).
- ▌ Dataverse Classic Compare · rwilson504Structurally diff two Dataverse Classic Workflow XAML files and report what actually changed. Use when user says "what changed between these two workflows", "diff these workflows", "compare version A and B", "compare DEV and PROD copies of this workflow", "why does this behave differently in the other environment", "did anything change other than formatting", or supplies two `.xaml` files. Compares triggers, scope, steps, and conditions at the activity level rather than by text diff, so reordered attributes, regenerated GUIDs, and `UserData` designer blobs do not drown the real differences. Do NOT use for summarizing a single workflow (use dataverse-classic-read), applying changes (use dataverse-classic-write), or cloning one workflow into another (use dataverse-classic-copy).
- ▌ Dataverse Classic Publish · rwilson504Get a Dataverse Classic Workflow back into an environment and switched on, using the Power Platform CLI. Use when user says "publish this workflow", "activate this workflow", "deactivate this workflow", "import this solution", "export the solution", "push this to my org", "promote this from DEV to TEST", "pack the solution", "my workflow imported but is not running", or works with `pac solution pack` / `unpack` / `import` / `export`. Covers the pack and import sequence, activation ordering and why activation fails when dependencies are missing, managed versus unmanaged considerations, and the AsyncOperation lifecycle to check after a workflow starts running. Do NOT use for editing XAML (use dataverse-classic-write) or cloning a workflow within one environment (use dataverse-classic-copy).
- ▌ Streamdeck System Devices · rwilson504Stream Deck system + devices namespaces: streamDeck.system.openUrl, system wake (onSystemDidWakeUp), deep linking (streamdeck://plugins/message/<UUID> active vs passive), onDidReceiveDeepLink, application monitoring (onApplicationDidLaunch/onApplicationDidTerminate + manifest.ApplicationsToMonitor), device events (onDeviceDidConnect/Change/Disconnect), device type enum (0–13), per-device action access. USE FOR: opening a URL in the user browser, restoring connections after sleep, receiving streamdeck:// deep-link messages, IPC between local apps via deep link, monitoring app launch/terminate (OBS, Spotify, Wave Link), enumerating connected Stream Decks, reacting to a device being unplugged.
- ▌ Cad Build123d Bd Warehouse · rwilson504bd_warehouse — the comprehensive parametric part library for build123d (by the build123d author Gumyr). Covers fasteners (nuts/screws/washers + ClearanceHole/TapHole/InsertHole), bearings, gears, sprockets, threads, pipes, flanges, OpenBuilds parts. USE FOR: bolt, screw, nut, washer, hex nut, socket-head cap screw, clearance hole, tap hole, threaded hole, heat-set insert, ball bearing, press-fit hole, simple gear, sprocket, pipe, flange, OpenBuilds; also points to py_gearworks / bd_vslot / bd_beams_and_bars / superellipses for niches outside bd_warehouse.
- ▌ Dataverse Classic Workflow · rwilson504 bundleFoundations and shared reference for Microsoft Dataverse Classic Workflows - the WF4/XAML `workflow` table (category=0), not Power Automate cloud flows. Load this first for any classic-workflow task, then the task-specific skill. Use when user mentions a classic workflow, `mxswa:` or `mcwc:` activities, `mxswa:ActivityReference`, `[bracket]` VB.NET expressions, `UserData` or `mva:VisualBasicValue` blobs, WF4 XAML anatomy, trigger / scope / run-as semantics, the async job lifecycle, or asks which Microsoft Learn page documents a classic-workflow limit. Task skills: dataverse-classic-read, -analyze, -compare, -copy, -write, -custom-activity, -publish. Do NOT use for Power Automate cloud flows, Business Process Flows (category=4), Business Rules (category=2), or Dataverse plugin development.
- ▌ Cad Build123d Printed Threads · rwilson504How to design 3D-printable screw threads, thumbscrews, and printed nuts in build123d using bd_warehouse.thread. Covers the right thread family for FDM (ISO vs Acme vs trapezoidal), pitch/diameter rules for layer-line resolution, the "shaft at minor diameter + add external thread" pattern, the printed-on-printed clearance trick, and the bd_warehouse SUBTRACT bugs that bite trapezoidal threads. USE FOR: 3D-printed thumbscrew, printed nut, captive nut, lead screw, knob, threaded clamp, IsoThread, AcmeThread, MetricTrapezoidalThread, TrapezoidalThread, threaded bore, helix, FDM thread, printed-on-printed fit.
- ▌ Cad Build123d Six View Checks · rwilson504Generate front/back/left/right/top/bottom verification images for build123d models after each rebuild. USE FOR: six-side screenshots, orthographic checks, verify walls/faces, compare +Y vs -Y, regression snapshots, visual QA before print.
- ▌ Streamdeck Property Inspector · rwilson504Stream Deck property inspector (PI) UI: HTML in *.sdPlugin/ui/, sdpi-components web components (sdpi-item / textfield / select / checkbox / range / file / password / color / button etc.), streamDeckClient (setSettings, getSettings, send, onDidReceiveSettings, onSendToPlugin), action vs global settings, sending sendToPropertyInspector from plugin, debugging at localhost:23654, security (never store secrets in action settings — use global). USE FOR: building an action configuration UI, sdpi-components, web components for PI, settings persistence patterns, plugin↔PI messaging, secure token storage, PI ↔ plugin handshake on open, dropdowns populated from plugin (e.g. fetched device list), zod validation of settings.
- ▌ Power Platform Custom Connector · rwilson504 bundleBuild Power Platform custom connectors (Independent Publisher and Verified Publisher) for Microsoft certification. Use when user says "create a custom connector", "build a Power Automate connector", "write apiDefinition.swagger.json", "configure apiProperties.json", "add x-ms-* extensions", "set up OAuth for a connector", "write script.csx custom code", "create a webhook trigger connector", "prepare connector for certification PR", "add dynamic dropdowns", "configure policy templates", or "submit connector to PowerPlatformConnectors repo". Capabilities; Swagger 2.0 OpenAPI definitions, 5 auth types, 13 policy templates, C# custom code,webhook triggers, dynamic values, Copilot Studio AI extensions, certification checklists, pac connector CLI. Do NOT use for generic REST API design, Azure API Management policies, or Logic Apps built-in connectors.
- ▌ Streamdeck OAUTH · rwilson504OAuth 2.0 (authorization code + PKCE) for Stream Deck plugins: launching auth via streamDeck.system.openUrl, receiving the callback via deep-linking (streamdeck://plugins/message/<UUID>/<path>), the Elgato OAuth2 redirect proxy (https://oauth2-redirect.elgato.com/streamdeck/plugins/message/<UUID>/<path>) for providers that reject custom schemes, validating `state`, exchanging `code` for tokens in the plugin backend, storing access + refresh tokens in global settings, refresh-token rotation, sign-out, end-to-end TypeScript reference. USE FOR: connecting a Stream Deck plugin to Spotify/Twitch/YouTube/Hue/Google/Microsoft/GitHub or any OAuth2 provider, "sign in with X" button in property inspector, OAuth callback handling, deep link OAuth, oauth2-redirect.elgato.com proxy URL, PKCE, refresh token rotation, secure token storage in Stream Deck plugins.
- ▌ Cad Layout Map 2d · rwilson504Render a labeled 2D top-down (or side/front) layout map of a parametric build123d model from its FeatureRegistry, drawing every cavity, hole, cutout, and boss to scale on an outer-box outline with a north/south/east/west compass and color-coded annotations. USE FOR: "show me a layout diagram", "annotated top view", "where are the holes", "draw the layout", "schematic of the box", "diagram the compartments", verifying spatial intent before printing, communicating layout to the user.
- ▌ Cad Render Images · rwilson504Generate publication-quality PNG/GIF/MP4 renders from build123d models for documentation sites, README hero shots, and embedded HTML images. USE FOR: hero/isometric renders, web-optimized PNGs, exploded views, cross-section/cutaway renders, animated turntables, color preservation from build123d Color() tags, transparent or dark-theme backgrounds, HTML <img>/<picture> embedding patterns, documentation render pipeline, headless render with trimesh + pyvista, render PCB assembly, render enclosure with components.
- ▌ Print Project New · rwilson504Scaffold a new 3D print project folder — README, a first material-and-orientation decision record, and an optional session log. Adapts to whatever folder layout the repository already uses. USE FOR: new print project, scaffold print project, start a 3D print project, create print project folder.
- ▌ Cad Port From Scad · rwilson504Port an OpenSCAD parametric script to build123d (Python) cleanly and incrementally. Covers OpenSCAD↔build123d operator equivalence, the SCAD idioms that trip up a literal port (hull/loft, intersection, taper, ternary chains), phased-bundle workflow with a deferred-features tracker, sentinel-based smoke testing for parametric scripts, and naming hygiene when source labels are misleading. USE FOR: "port this SCAD to build123d", "convert OpenSCAD to Python", "rewrite this .scad file", "I have a community OpenSCAD generator I want to extend in Python", "translate hull() to loft()", "bridge SCAD scale=[sx,sy] to build123d taper".
- ▌ N8n Build Workflow · rwilson504 bundleDesign and author n8n workflow JSON files. Use when user says "build an n8n workflow", "design a workflow", "wire these nodes", "add a trigger", "convert this requirement into n8n", "set up a Schedule/Webhook trigger", "build an AI workflow", "use the AI Agent node", "add a Switch/IF/Merge/Loop Over Items", "split into sub-workflows", "add error handling", "create an error workflow", "build a webhook that responds to the caller", or asks for a runnable workflow JSON. Covers workflow JSON schema, node/connection wiring, the n8n data structure (array-of-items), triggers (Manual, Webhook, Schedule, Form, App triggers, Error Trigger), flow logic (IF/Switch/Merge/Loop Over Items/Wait), expressions and the `={{ }}` template, AI cluster nodes (Agent + Chat Model + Memory + Tools + Vector Store), sub-workflows, and import/export. Do NOT use for executing workflows at runtime, building community node packages (use n8n-create-nodes), Code-node scripting (use n8n-code-node), or hosting setup (use n8n-self-host).
- ▌ N8n Debug Workflow · rwilson504 bundleDiagnose and fix failing n8n workflow executions. Use when user says "my n8n workflow is failing", "execution errored", "this node returns an error", "rate limited", "Could not find paired item", "workflow is stuck", "webhook isn't firing", "Schedule trigger isn't running", "memory leak", "execution timeout", "data is empty in next node", "wrong data shape downstream", "items got duplicated", "binary data missing", or pastes an n8n execution error. Walks through reading the execution log, common-error catalog, item-linking forensics, rate-limit recovery, webhook/schedule debugging, and recovery patterns (retryOnFail, continueOnFail, Error Trigger). Do NOT use for designing new workflows (use n8n-build-workflow), writing Code nodes (use n8n-code-node), or hosting/Docker-level issues (use n8n-self-host).
- ▌ Print Bambu Studio · rwilson504Bambu Studio slicer reference: profiles, key settings per material, support strategies, plate management, .3mf project files, and lessons learned. USE FOR: slicing in Bambu Studio, choosing print profiles, support placement, infill choice, seam tuning, multi-color printing, troubleshooting slicer-side issues.
- ▌ Streamdeck Actions · rwilson504Stream Deck action implementation: SingletonAction class, @action decorator, registering with streamDeck.actions, key actions (onKeyDown/onKeyUp, setImage, setTitle, setState, showOk/showAlert), dial actions (onDialDown/onDialRotate/onDialUp/onTouchTap, setFeedback, setFeedbackLayout, setTriggerDescription), multi-state toggles, multi-actions (userDesiredState), action lifecycle (willAppear → events → willDisappear), accessing visible actions. USE FOR: writing an action class, key press handlers, dial handlers, toggle action, multi-state action, multi-action behavior, setting key images dynamically, updating dial touch-strip feedback, showOk/showAlert visual feedback, iterating visible actions, sending sendToPropertyInspector.
- ▌ Streamdeck General · rwilson504Foundational Stream Deck plugin workflow: prerequisites (Node 24+, Stream Deck 7.1+, @elgato/cli), `streamdeck create` scaffold, .sdPlugin / src project layout, the dual runtime (Node.js plugin + Chromium property inspector), hot-reload + watch, debugging via Node inspector, logging, linting. USE FOR: starting a new Stream Deck plugin, project file layout, .sdPlugin directory, src/plugin.ts entry, hot reload, watch script, attaching VS Code debugger, streamDeck.logger, ESLint/Prettier config, plugin lifecycle, plugin runtime architecture, Node version pinning, what file goes where.
- ▌ Cad Build123d Tools · rwilson504Catalog of external tools for the build123d ecosystem: editors, viewers, CAM toolpath generation, Blender integration, topology optimization, browser-based CAD, package management, and CI/publishing. USE FOR: OCP CAD Viewer, ocp-vscode, view model, preview CAD, CNC toolpath, CAM, Blender, blendquery, nething, generative AI CAD, topology optimization, dl4to4ocp, OCP.wasm, browser CAD, PartCAD package manager, MakerRepo, makerrepo-cli, publish model, share model, Yet Another CAD Viewer.
- ▌ Cad Terminal Viewer · rwilson504Display STL/STEP model previews and CAD-generated PNGs directly in the terminal using rich-pixels (Python, cross-platform) or timg (Linux/macOS), bridging the render-to-PNG pipeline with in-terminal viewing. USE FOR: view STL in terminal, preview model in console, timg, rich-pixels, terminal image viewer, display PNG in terminal, quick visual check, headless preview, CLI model preview.
- ▌ Streamdeck Manifest · rwilson504Exhaustive Stream Deck plugin manifest.json reference: every top-level property, Action object, Encoder, State, OS, Nodejs, Profile, ApplicationsToMonitor, Software, TriggerDescriptions, SDKVersion (2 vs 3 / DRM), JSON schema URL, TypeScript declaration, file-path extension rules, version format. USE FOR: writing manifest.json, hand-editing manifest, choosing SDKVersion, choosing MinimumVersion, configuring Nodejs Version + Debug mode, declaring actions, controllers (Keypad/Encoder), states, encoder layouts, profile bundles, application monitoring, OS minimum versions, $schema URL for IntelliSense, fixing validation errors.
- ▌ Cad Build123d General · rwilson504Foundational build123d (Python CAD) patterns and OCCT gotchas that apply to ANY parametric 3D model — not specific to electronics enclosures. USE FOR: BuildPart/BuildSketch/BuildLine context managers, sketch-on-face + extrude, face selection, plane orientation, sign of extrude amounts, fusion rules, fillets/chamfers, parameterization, shallow copies, packing for 3D print plates, common FDM print-orientation rules. Load this BEFORE any enclosure / 3D-model skill.
- ▌ Cad Feature Inventory · rwilson504Generate a per-face inventory of a parametric build123d model: for each axis face (top/bottom/left/right/front/back) lists the features (holes, cutouts, debossed text, protrusions) sitting on that face with their positions and dimensions. USE FOR: "what is on the top face", "list features by side", "show me a feature map", "describe the model", debugging "which wall has the notch", documenting a part for review, AI ↔ user direction conversations.
- ▌ Cad Glb Component Map · rwilson504Export named, colour-tagged GLB component maps from build123d so a human and an AI can name parts of a model out loud ("make the blue plates thicker") and inspect them in a glTF viewer. USE FOR: colour in STL, does STL support colour, name parts in a viewer, GLB hierarchy, glTF node names, component map, assembly view, interference check, view model in VS Code, shared vocabulary for design review.
- ▌ Cad Makerrepo · rwilson504MakerRepo manufacturing-as-code: annotate build123d scripts with @artifact, @customizable, @cached decorators for CI/CD publishing on MakerRepo.com; BuildEnv for version marks; Result for versioned models; repository config; makerrepo-cli for local build/export/snapshot. USE FOR: MakerRepo, makerrepo, makerrepo-cli, publish model, share model, manufacturing as code, CI for CAD, build version mark, parametric generator, @artifact, @customizable, @cached, mr artifacts, mr generators, mr cache, annotate build123d script for MakerRepo.
- ▌ Cad Print 3mf · rwilson504 bundleMode-aware .3mf generation alongside STL for build123d projects. Mirrors the design/test/production EXPORT_MODE workflow from cad-build123d-general into Bambu-ready .3mf output: design includes the axis reference cube; test and production are clean meshes. Per-project template convention for slicer-profile-bearing .3mf files. Slicer-side profile mutation is out of scope here; `print-bambu-3mf` covers it when installed. USE FOR: "auto-generate .3mf alongside STL", "export 3mf for design/test/production mode", "hand build123d output directly to Bambu Studio", "skip the STL re-import step", "save mesh metadata about export mode".
- ▌ N8n Code Node · rwilson504 bundleWrite JavaScript or Python in the n8n Code node correctly. Use when user says "write a Code node", "transform data in n8n", "use the Code node to...", "JavaScript in n8n", "Python in n8n", "$json in code node", "$input vs $json", "item linking in code node", "pairedItem", "use Luxon in n8n", "use JMESPath in n8n", "binary data in code node", "AI Code Tool", "Code Tool for agent", "external libraries in code node", "fetch in code node", or pastes Code-node JS/Python. Covers the two run modes ("Run Once for All Items" vs "Run Once for Each Item"), the canonical pairedItem-preserving pattern, $json/$input/$node/$execution semantics, binary data access via helpers, Luxon (DateTime), JMESPath, the Pyodide-based Python runtime, $getWorkflowStaticData persistence, and external library use. Do NOT use for building community node packages (use n8n-create-nodes), designing the broader workflow (use n8n-build-workflow), or debugging non-code-node failures (use n8n-debug-workflow).
- ▌ N8n Self Host · rwilson504 bundleInstall, configure, and operate self-hosted n8n. Use when user says "self-host n8n", "install n8n with Docker", "n8n docker-compose", "n8n on Kubernetes", "n8n behind nginx/Traefik/Caddy", "configure n8n env vars", "n8n queue mode", "scale n8n workers", "n8n with Postgres", "encryption key rotation", "back up n8n", "upgrade n8n version", "n8n SSO", "n8n SSL", "WEBHOOK_URL", "EXECUTIONS_MODE", "N8N_ENCRYPTION_KEY", "n8n external secrets", "n8n binary storage to S3". Covers Docker Compose deployments (single + queue mode), env vars catalog, queue mode + workers (Redis + multiple worker processes), reverse proxy patterns, Postgres setup and migration from SQLite, encryption key handling, backup strategies, version upgrades. Do NOT use for building workflows (use n8n-build-workflow), debugging workflow logic (use n8n-debug-workflow), or community-node packaging (use n8n-create-nodes).
- ▌ Streamdeck CLI · rwilson504Stream Deck CLI (`streamdeck` / `sd`) command reference: create, link, restart, stop, dev, validate, pack/bundle, config. Every flag, every subcommand, with examples. USE FOR: scaffolding a plugin (streamdeck create), linking a plugin folder to Stream Deck, restarting a plugin, stopping a plugin, enabling/disabling dev mode + property-inspector debugger, validating a plugin against the schema, packaging a .streamDeckPlugin installer, .sdignore patterns, configuring package manager (npm/yarn/pnpm/bun), CLI configuration (reduceMotion), schema-update flags for CI.
- ▌ Print Bambu 3mf · rwilson504 bundleBambu Studio .3mf project file format: ZIP-archive layout, key XML/JSON files inside, important setting keys in project_settings.config, programmatic read/write recipes (Python zipfile + ElementTree), .3mf vs .gcode.3mf distinction, diffing and templating. USE FOR: extracting slicer settings from a saved .3mf, generating .3mf templates from STLs, diffing two .3mf project files, automating sidecar creation from a known-good slice, scripting Bambu Studio output, reading thumbnails or G-code out of a sliced project.
- ▌ Print Bambu P2s · rwilson504Bambu Lab P2S 3D printer reference: build volume, AMS 2 Pro / original AMS via buffer, adaptive airflow, bed types, calibration, maintenance, and documented failure modes with fixes. USE FOR: P2S setup, AMS filament loading, bed adhesion problems, calibration routines, firmware updates, maintenance tasks, hardware troubleshooting on the P2S.
- ▌ N8n Create Nodes · rwilson504 bundleBuild production-ready n8n community nodes as npm packages, covering declarative and programmatic node styles. Use when user says "create an n8n node", "build an n8n integration", "scaffold n8n node package", "create n8n credential type", "create webhook trigger node", "create poll trigger", "publish n8n community node", or works with INodeType, n8n-workflow SDK, n8n-nodes-starter, declarative routing, programmatic execute, or versioned nodes. Do NOT use for n8n workflow building or general workflow automation — this skill is specifically for node package development.