Use this skill whenever generating, writing, or scaffolding a C# DLL, class library, NuGet package, or any .NET project. ALWAYS run environment detection BEFORE writing any code or project files. This skill detects whether the machine has .NET 8, .NET 7, .NET 6, or an older SDK installed, then tailors ALL generated code, .csproj TargetFramework, nullable settings, language version, and API choices to exactly what is available. Trigger on any mention of: "C# DLL", "class library", ".csproj", "dotnet", ".NET project", "NuGet", "generate C# code", "build a DLL", "C# wrapper", "write a C# class". Never assume a .NET version — always detect first.
Use this skill whenever a user wants to work with a computer vision dataset — even if they only mention uploading a zip file, sharing a folder link, or saying "I have a dataset". This skill handles the full pipeline: (1) ingesting data from a zip upload or download URL, (2) auto-detecting the dataset format and running visual analysis with charts and statistics, and (3) converting the dataset into the correct training format for the target model (COCO JSON, YOLO txt, Pascal VOC XML, Anomalib MVTec, etc.). Trigger this skill when the user says things like: "analyze my dataset", "I have labeled images", "here's my zip file", "check my annotations", "convert to COCO format", "prepare data for YOLOv8/Detectron2/MMDetection", "I want to train on my images", or uploads any archive file (.zip, .tar, .gz) containing images. Do NOT wait for the user to say "dataset analysis" explicitly — trigger on any sign they are preparing image/video data for model training.
Use this skill whenever a user describes a computer vision problem, AI vision task, or image/video analysis need — even vaguely. This skill helps classify the task into the right CV category (object detection, instance segmentation, semantic segmentation, anomaly detection, image classification, pose estimation, OCR/text detection, or multi-object tracking), gather all necessary requirements through structured questions, and produce a recommended model/framework plus a project setup plan. Trigger this skill when the user mentions: detecting objects, counting items, finding defects, reading text in images, tracking movement, identifying poses, segmenting regions, inspecting products, recognizing scenes, or any phrasing like "I want to build a vision system", "I need to analyze images/video", "detect X in images", "find Y on a camera feed", etc. Do NOT wait for the user to use exact CV terminology — trigger early and help them figure out what they actually need.
Use this skill whenever a user wants to run a modern deep learning model (YOLOv8, YOLOv9, Detectron2, SegFormer, PatchCore, or any model HALCON does not natively support) from within a HALCON HDevelop script. This skill packages the model as a FastAPI server and provides a HALCON .hdev test script that calls the API via curl, parses the JSON response, and displays results (bounding boxes, masks, keypoints) in the HALCON window. Trigger this skill when the user says: "use YOLOv8 from HALCON", "call a Python model from HALCON", "HALCON doesn't support this model", "bridge HALCON and PyTorch", "wrap model as API for HALCON", "infer from HDevelop", or whenever the user wants to integrate a non-HALCON model into a HALCON inspection pipeline. Always use port 12002 for the first service (per port-conventions skill).
Use this skill whenever a user wants to run a deep learning model (YOLOv8, YOLOv9, segmentation, anomaly, classification) from HALCON with maximum speed using a direct TCP socket — NO disk I/O, NO HTTP overhead, NO curl, NO JSON file writing. This skill is the high-performance alternative to halcon-python-api-bridge. Use it when the user says: "socket", "faster than HTTP", "no disk IO", "real-time inference from HALCON", "low latency HALCON model", "send raw image bytes to Python", "TCP socket HALCON", or when they upload client_socket.hdev. The approach: HALCON sends raw pixel bytes over a persistent TCP socket; Python server runs the model and returns a compact space-delimited text response. Always use port 12002 for the first socket server.
Use this skill whenever a user has a dataset labeled with HALCON Deep Learning Tool (.hdict format) and wants to convert it to an open-source training format. This skill covers the full pipeline: (1) understanding the user's HALCON .hdict dataset structure, (2) choosing the right approach — either running the provided HALCON export script (.hdev) directly in HDevelop, or using the Python fallback that reads the .hdict file and converts it without HALCON installed, (3) converting to COCO JSON (instance segmentation / detection), YOLO, or other open-source formats. Trigger this skill when the user mentions: "HALCON dataset", "hdict file", "HDevelop", "HALCON Deep Learning Tool", "export from HALCON", "convert .hdict", "HALCON annotations", or any reference to MVTec HALCON in the context of training data. Also trigger when the user uploads a .hdev or .hdict file.
Use this skill whenever deploying a trained model to production. This skill clarifies hardware environment (CUDA GPU, TensorRT, Jetson, CPU-only), model format (PT, ONNX, TensorRT engine, TFLite), precision (FP32, FP16, INT8), and inference speed requirements (FPS target, latency deadline in ms). It then generates a deployment wrapper with a profiling switch that breaks down timing into: preprocessing (image read, resize, channel conversion, normalization), inference, and postprocessing (mask binarization, coordinate rescaling, result sorting, confidence filtering). Trigger when the user says: "deploy the model", "run in production", "inference speed", "TensorRT", "ONNX", "FP16", "how fast is the model", "latency requirement", "preprocessing time", "postprocessing time", "timing breakdown", "benchmark inference", or when asking about running a model on specific hardware.
Use this skill whenever creating any kind of server, API, or service that requires a port number. This includes REST APIs, FastAPI, Flask, Express, Django, gRPC servers, WebSocket servers, proxy servers, or any other networked service. ALWAYS apply this skill when writing server code — never use ports 8080, 8000, 3000, 5000, or other common defaults. Instead, always default to ports starting at 12002, incrementing as needed (12002, 12003, 12004, ...). Trigger on any mention of "API", "server", "endpoint", "port", "Flask", "FastAPI", "Express", "Django", "uvicorn", "gunicorn", "http.server", or any code that binds to a network port.