duncan-G

duncan-G

@duncan-G

GitHub
6 Skills
6 Total Stars
September 2026 Joined

Public Skills

add-angular-client

by duncan-G

Adds a new Angular SSR client to an existing Aspire-orchestrated project: scaffolds under clients/, installs Tailwind CSS v4, patches npm scripts for Aspire's PORT, 0.0.0.0 binding, and HTTPS dev-server flags, registers the client in the AppHost (dev server + per-client Envoy listener), registers the client with the unified SSR host (clients/host) that serves every client from one Node process in publish mode, creates a SERVER_URL injection token with TransferState for resolving the backend URL in SSR and browser contexts, wires buf + Connect proto codegen for gRPC-Web, and registers the client's tenant with the auth BFF (dev + production host→realm maps and client-secret plumbing). Use when the user asks to add a new Angular client, frontend app, web UI, or SPA — either during initial bootstrap or after the project is already running.

API Dev 1 1mo ago

add-opentelemetry

by duncan-G

Adds OpenTelemetry observability to an existing Aspire-orchestrated project: deploys an OTel collector container, routes .NET service telemetry through the collector instead of directly to the Aspire dashboard, configures Envoy to emit access logs / metrics / traces via OTel, adds an /otlp/ passthrough route for browser telemetry, and wires the client app to forward telemetry through Envoy. Use when the user asks to add observability, tracing, metrics, logging, OpenTelemetry, or OTel to the project.

API Dev 1 4mo ago

add-dotnet-service

by duncan-G

Adds a new .NET gRPC service to an existing Aspire-orchestrated project: scaffolds under services/, binds on 0.0.0.0, registers in the AppHost, and updates the Envoy proxy if it already exists. Use when the user asks to add a new backend service, gRPC service, API service, or .NET service to the project — either during initial bootstrap or after the project is already running.

API Dev 1 4mo ago

bootstrap-project

by duncan-G

Bootstraps a new project repo from an empty state: asks the user for a project name, pre-flights the agent's environment, agrees on a folder layout, scaffolds the Aspire C# AppHost (project-based via dotnet new, with .csproj and .slnx solution), scaffolds the .NET gRPC services under services/, scaffolds the Angular SSR admin client under clients/ with Tailwind CSS v4 for styling, wires buf + Connect proto-to-TypeScript codegen, adds an Envoy front proxy with static config, runs a pass/fail smoke check that proves end-to-end gRPC-Web connectivity from the Angular client through Envoy to the backend services, and documents a clean stop. Use when the user asks to initialize, bootstrap, scaffold, or set up a project, or when the repo only contains README/scripts/.cursor and no app code yet.

Code Gen 1 4mo ago

aspireify

by duncan-G

"One-time skill for completing Aspire initialization in an existing app after aspire init has dropped the skeleton AppHost. Use this skill when an aspire.config.json exists but the AppHost has not yet been wired up."

Code Gen 1 5mo ago

aspire

by duncan-G

"Use this skill when the user is working with an Aspire distributed application and needs to operate the AppHost or its resources through the Aspire CLI: start, restart, stop, or wait on the app; inspect resources, logs, traces, docs, or health; add integrations; manage secrets or config; publish, deploy, or rerun a named pipeline step; initialize Aspire in an existing app; recover missing .modules files in a TypeScript AppHost; discover the right frontend URL for Playwright from Aspire state; expose custom dashboard/resource commands; or understand unfamiliar Aspire AppHost APIs in C# or TypeScript. Use it even if they describe the task in terms of an AppHost, resources, dashboard, existing app bootstrap, missing generated modules, Playwright URL discovery, C# API understanding, or local distributed app workflow without explicitly naming Aspire. Do not use it for non-Aspire .NET apps, container-only repos with no AppHost, or ordinary build and test tasks."

Automation 1 5mo ago