
Azure Functions
Author production-ready Azure Functions with isolated worker DI, Durable orchestration, and cold-start tuning for solo serverless APIs.
Overview
Azure Functions is an agent skill for the Build phase that teaches isolated worker, Durable Functions, cold start, and production patterns for .NET, Python, and Node.js on Azure.
Install
npx skills add https://github.com/sickn33/antigravity-awesome-skills --skill azure-functionsWhat is this skill?
- Isolated worker Program.cs template with Application Insights and HttpClientFactory DI
- Durable Functions orchestration patterns for multi-step workflows
- Cold start optimization and production hardening guidance
- Patterns for .NET, Python, and Node.js programming models
- When-to-use guidance for choosing isolated worker on new .NET apps
- Covers 3 programming models: .NET, Python, and Node.js
- Includes isolated worker Program.cs and HttpTrigger-style patterns
Adoption & trust: 601 installs on skills.sh; 40.1k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need serverless endpoints or background jobs on Azure but lack vetted templates for host setup, orchestration, and production tuning.
Who is it for?
Solo builders adding HTTP APIs, queues, or durable workflows on Azure Functions with modern .NET isolated worker or polyglot runtimes.
Skip if: Teams only deploying static sites to Vercel or AWS Lambda with no Azure footprint, or builders who only need Azure Portal click-ops without code patterns.
When should I use this skill?
Building new .NET Azure Functions apps or applying isolated worker, Durable Functions, cold start, and production patterns.
What do I get? / Deliverables
You get copy-ready isolated worker bootstrapping, trigger examples, and orchestration patterns you can drop into a Functions repo and extend toward deploy and monitoring.
- Host bootstrap (Program.cs / worker defaults) with DI and telemetry
- HTTP trigger and related function handler scaffolds
- Durable orchestration and production-pattern notes applied to the app
Recommended Skills
Journey fit
Serverless handlers and host configuration are written in Build before testing, security review, and production operations. Targets backend execution models (HTTP triggers, workers, orchestration), not frontend or marketing work.
How it compares
Procedural Azure Functions patterns in a skill package—not a live Azure MCP server or generic DevOps checklist.
Common Questions / FAQ
Who is azure-functions for?
Indie and solo developers shipping serverless backends on Azure who want isolated worker, Durable Functions, and production guidance inside their coding agent.
When should I use azure-functions?
During Build when scaffolding new function apps, migrating to isolated worker, designing durable workflows, or optimizing cold starts before Ship testing and Operate monitoring.
Is azure-functions safe to install?
Source is tagged low risk in metadata; review the Security Audits panel on this Prism page and avoid pasting production secrets into chat while following the templates.
SKILL.md
READMESKILL.md - Azure Functions
# Azure Functions Expert patterns for Azure Functions development including isolated worker model, Durable Functions orchestration, cold start optimization, and production patterns. Covers .NET, Python, and Node.js programming models. ## Patterns ### Isolated Worker Model (.NET) Modern .NET execution model with process isolation **When to use**: Building new .NET Azure Functions apps ### Template // Program.cs - Isolated Worker Model using Microsoft.Azure.Functions.Worker; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; var host = new HostBuilder() .ConfigureFunctionsWorkerDefaults() .ConfigureServices(services => { // Add Application Insights services.AddApplicationInsightsTelemetryWorkerService(); services.ConfigureFunctionsApplicationInsights(); // Add HttpClientFactory (prevents socket exhaustion) services.AddHttpClient(); // Add your services services.AddSingleton<IMyService, MyService>(); }) .Build(); host.Run(); // HttpTriggerFunction.cs using Microsoft.Azure.Functions.Worker; using Microsoft.Azure.Functions.Worker.Http; using Microsoft.Extensions.Logging; public class HttpTriggerFunction { private readonly ILogger<HttpTriggerFunction> _logger; private readonly IMyService _service; public HttpTriggerFunction( ILogger<HttpTriggerFunction> logger, IMyService service) { _logger = logger; _service = service; } [Function("HttpTrigger")] public async Task<HttpResponseData> Run( [HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req) { _logger.LogInformation("Processing request"); try { var result = await _service.ProcessAsync(req); var response = req.CreateResponse(HttpStatusCode.OK); await response.WriteAsJsonAsync(result); return response; } catch (Exception ex) { _logger.LogError(ex, "Error processing request"); var response = req.CreateResponse(HttpStatusCode.InternalServerError); await response.WriteAsJsonAsync(new { error = "Internal server error" }); return response; } } } ### Notes - In-process model deprecated November 2026 - Isolated worker supports .NET 8, 9, 10, and .NET Framework - Full dependency injection support - Custom middleware support ### Node.js v4 Programming Model Modern code-centric approach for TypeScript/JavaScript **When to use**: Building Node.js Azure Functions ### Template // src/functions/httpTrigger.ts import { app, HttpRequest, HttpResponseInit, InvocationContext } from "@azure/functions"; export async function httpTrigger( request: HttpRequest, context: InvocationContext ): Promise<HttpResponseInit> { context.log(`Http function processed request for url "${request.url}"`); try { const name = request.query.get("name") || (await request.text()) || "world"; return { status: 200, jsonBody: { message: `Hello, ${name}!` } }; } catch (error) { context.error("Error processing request:", error); return { status: 500, jsonBody: { error: "Internal server error" } }; } } // Register function with app object app.http("httpTrigger", { methods: ["GET", "POST"], authLevel: "function", handler: httpTrigger }); // Timer trigger example app.timer("timerTrigger", { schedule: "0 */5 * * * *", // Every 5 minutes handler: async (myTimer, context) => { context.log("Timer function executed at:", new Date().toISOString())