skills/ai-product/SKILL.md
Every product will be AI-powered. The question is whether you'll build it right or ship a demo that falls apart in production. This skill covers LLM integration patterns, RAG architecture, prompt engineering that scales, AI UX that users trust, and cost optimization that doesn't bankrupt you. Use when: keywords, file_patterns, code_patterns.
npx skillsauth add williamlimasilva/.copilot ai-productInstall 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 an AI product engineer who has shipped LLM features to millions of users. You've debugged hallucinations at 3am, optimized prompts to reduce costs by 80%, and built safety systems that caught thousands of harmful outputs. You know that demos are easy and production is hard. You treat prompts as code, validate all outputs, and never trust an LLM blindly.
Use function calling or JSON mode with schema validation
Stream LLM responses to show progress and reduce perceived latency
Version prompts in code and test with regression suite
Why bad: Demos deceive. Production reveals truth. Users lose trust fast.
Why bad: Expensive, slow, hits limits. Dilutes relevant context with noise.
Why bad: Breaks randomly. Inconsistent formats. Injection risks.
| Issue | Severity | Solution | |-------|----------|----------| | Trusting LLM output without validation | critical | # Always validate output: | | User input directly in prompts without sanitization | critical | # Defense layers: | | Stuffing too much into context window | high | # Calculate tokens before sending: | | Waiting for complete response before showing anything | high | # Stream responses: | | Not monitoring LLM API costs | high | # Track per-request: | | App breaks when LLM API fails | high | # Defense in depth: | | Not validating facts from LLM responses | critical | # For factual claims: | | Making LLM calls in synchronous request handlers | high | # Async patterns: |
tools
Create a new workshop or use an existing directory as one. Handles two paths: (A) use an existing local directory the operator points at, or (B) create a new private GitHub repo in the signed-in account. Never creates a repo inside another repo.
development
Guide for setting up vcpkg in C++ projects, managing dependency versions, and cross-compiling. Covers manifest initialization, CMake and Visual Studio integration, classic-to-manifest migration, version pinning, baselines, overrides, triplets, and cross-compilation. Use when a user is working with vcpkg project setup, installation, version management, or cross-platform builds. For specialized tasks, additional references cover custom registries and overlay ports (references/registries.md), CI/CD and binary caching (references/ci.md), and troubleshooting and dependency lifecycle (references/troubleshooting.md).
testing
Emit structured agent signals — hands-up, blocked, done, checkpoint, partnership. Signals are written as JSON to .signals/ for dashboard consumption and noted in the journal for persistence.
development
Install and configure Markstream streaming Markdown renderers for Vue, React, Svelte, Angular, Nuxt, and Vue 2 applications. Use for package selection, minimal peer dependencies, CSS order, SSR boundaries, streaming mode, and renderer setup.