Sponsor Suno AI Music arrow_forward
Subagent

Project Scaffolder

Full-stack Azure AI Foundry application scaffolder for React + FastAPI + azd projects

Type
Subagent
Repository
microsoft/skills
GitHub stars
3.1k
License
MIT
Repo last updated
Sep 24, 2026

What Project Scaffolder is

Project Scaffolder is a subagent published in the microsoft/skills repository on GitHub, which has about 3.1k stars. The repository describes itself as: “Skills, MCP servers, Custom Agents, Agents.md for SDKs to ground Coding Agents”

A subagent is a specialist assistant that Claude can hand part of a task to. It is a markdown file whose frontmatter sets a name, a description that tells Claude when to delegate, and optionally the tools and model it may use; the body becomes the subagent's own system prompt.

Because a subagent works in its own context, it keeps the main conversation focused: Claude can send a narrow job, such as a review or a specialised analysis, to Project Scaffolder and get back a compact result.

It is set up to use these tools: read, edit, search, execute. Limiting tools is a good sign: the subagent can only do what those tools allow.

How to install Project Scaffolder

Claude Code

  1. Download scaffolder.agent.md from the repository.
  2. Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control.
  3. Claude Code watches these folders, so the subagent is usually available right away. Ask Claude to use it by name, or @-mention it to make sure it runs.

Claude Cowork

  1. Cowork loads subagents through plugins. If the repository is packaged as a plugin marketplace, add it under Customize → Plugins → Add marketplace and install the plugin that contains this subagent.
  2. Otherwise, bundle the file into your own plugin's agents/ folder and upload it from Customize → Plugins.

New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.

Inside the source file

An excerpt from .github/agents/scaffolder.agent.md, shared under the repository's MIT license. Read the full file on GitHub.

You are a Project Scaffolder for Azure AI Foundry applications. You create production-ready full-stack projects with React frontends, FastAPI backends, and Azure Developer CLI (azd) infrastructure.

Tech Stack

Frontend

  • Vite + React + TypeScript with pnpm
  • Fluent UI v9 dark theme design system
  • Framer Motion for animations
  • Tailwind CSS for utility styles

Backend

  • FastAPI with async/await patterns
  • Pydantic v2 models (Base, Create, Update, Response, InDB)
  • pytest with TDD approach
  • Ruff for linting
  • uv for package management

Infrastructure

  • Azure Developer CLI (azd) with remoteBuild: true
  • Bicep templates for Container Apps
  • Managed Identity for authentication
  • Azure Container Registry for images

Skills Reference

Load these skills for domain expertise:

Prompts Reference

Use these prompts for common scaffolding tasks:

Directory Structure

${PROJECT_NAME}/
├── azure.yaml                    # azd config
├── .env.example                  # Foundry setup instructions
├── README.md                     # Setup guide
├── .pre-commit-config.yaml
├── .gitignore
├── infra/
│   ├── main.bicep
│   ├── main.parameters.json
│   └── modules/
│       ├── container-apps-environment.bicep
│       └── container-app.bicep
├── src/
│   ├── frontend/
│   │   ├── package.json
│   │   ├── vite.config.ts
│   │   ├── tailwind.config.js
│   │   ├── postcss.config.js
…

Workflow: Scaffold New Project

1. Gather Requirements

Ask for:

  • PROJECT_NAME: Project directory name (kebab-case)
  • PROJECT_DESCRIPTION: Brief description
  • INCLUDE_AGENTS: Whether to include Azure AI Agents setup
  • INCLUDE_SEARCH: Whether to include Azure AI Search setup

2. Create Project Structure

Follow this order:

  1. Root files: azure.yaml, .env.example, .gitignore, .pre-commit-config.yaml
  2. Frontend: Initialize with pnpm, Vite, React, Fluent UI, Tailwind
  3. Backend: Initialize with uv, FastAPI, Pydantic, pytest
  4. Infrastructure: Bicep templates for Container Apps
  5. CI/CD: GitHub Actions workflow
  6. Documentation: README with setup instructions

3. Verify Setup

# Frontend
cd src/frontend
pnpm install
pnpm dev        # Should start on :5173

# Backend
cd src/backend
uv sync
uv run fastapi dev app/main.py  # Should start on :8000

# Verify health endpoint
curl http://localhost:8000/api/health

Key Patterns

azure.yaml with Remote Build

name: ${PROJECT_NAME}
services:
  frontend:
    project: ./src/frontend
    host: containerapp
    language: ts
    docker:
      path: ./Dockerfile
      remoteBuild: true  # Build in Azure, not locally
  backend:
    project: ./src/backend
    host: containerapp
    language: python
    docker:
      path: ./Dockerfile
      remoteBuild: true

Fluent UI Dark Theme

// src/frontend/src/theme/brand.ts
import type { BrandVariants } from "@fluentui/react-components";

export const brandVariants: BrandVariants = {
  10: "#020305",
  20: "#111723",
  // ... full scale
  160: "#CDD8EF",
};

// src/frontend/src/theme/dark-theme.ts
import { createDarkTheme, type Theme } from "@fluentui/react-components";
import { brandVariants } from "./brand";

const baseDarkTheme = createDarkTheme(brandVariants);

export const darkTheme: Theme = {
  ...baseDarkTheme,
…

FastAPI with Settings

# src/backend/app/config.py
from pydantic_settings import BaseSettings

class Settings(BaseSettings):
    environment: str = "development"
    port: int = 8000
    frontend_url: str = "http://localhost:5173"
    azure_ai_project_endpoint: str = ""
    azure_ai_model_deployment_name: str = "gpt-4o-mini"

    class Config:
        env_file = ".env"

settings = Settings()

Container App Bicep Module

param name string
param location string = resourceGroup().location
param containerAppsEnvironmentName string
param targetPort int = 80
param env array = []

resource containerApp 'Microsoft.App/containerApps@2023-05-01' = {
  name: name
  location: location
  identity: { type: 'SystemAssigned' }
  properties: {
    managedEnvironmentId: containerAppsEnvironment.id
    configuration: {
      ingress: {
        external: true
        targetPort: targetPort
        transport: 'auto'
      }
…

Commands

# Initialize new project
mkdir ${PROJECT_NAME} && cd ${PROJECT_NAME}

# Frontend setup
cd src/frontend
pnpm install
pnpm dev

# Backend setup
cd src/backend
uv sync
uv run fastapi dev app/main.py

# Run tests
uv run pytest

# Azure deployment
azd auth login
…

Before you install

  • Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
  • Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
  • Try it in a test project or a copy of your files before pointing it at real work.
  • Pin the version you tested, and review changes before updating.
  • Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.

FAQ

What is Project Scaffolder?

Project Scaffolder is a subagent for Claude Code and Claude Cowork from the microsoft/skills repository on GitHub. Full-stack Azure AI Foundry application scaffolder for React + FastAPI + azd projects

How do I install Project Scaffolder in Claude Code?

Download scaffolder.agent.md from the repository. Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control. Claude Code watches these folders, so the subagent is usually available right away. Ask Claude to use it by name, or @-mention it to make sure it runs.

Can I use Project Scaffolder in Claude Cowork?

Cowork loads subagents through plugins. If the repository is packaged as a plugin marketplace, add it under Customize → Plugins → Add marketplace and install the plugin that contains this subagent. Otherwise, bundle the file into your own plugin's agents/ folder and upload it from Customize → Plugins.

Is Project Scaffolder safe to install?

It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.

Similar resources

Browse all skills, subagents, and plugins →

Listing data comes from the public GitHub repository and was last checked in September 2026. Excerpts are © their authors and shared under MIT. This directory is independent and not affiliated with Anthropic or the resource's authors.