Skip to main content

aigbb-ip-standards

IP metadata and compliance standards for Azure Developer CLI templates. Defines the ip-metadata.json schema, repository structure requirements, compliance validation checklists, and maturity-level criteria. Use when creating ip-metadata.json, running IP compliance checks, validating repository readiness, checking maturity levels, or preparing templates for publication. Triggers on ip-metadata, IP compliance, maturity level, Gold Silver Bronze, repository structure, ip-metadata.json, compliance check, template validation, publication readiness.

Jump to install

Source facts

Repository
aiappsgbb/template
Last source activity
February 25, 2026 at 22:33
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
aigbb-ip-standards
description
IP metadata and compliance standards for Azure Developer CLI templates. Defines the ip-metadata.json schema, repository structure requirements, compliance validation checklists, and maturity-level criteria. Use when creating ip-metadata.json, running IP compliance checks, validating repository readiness, checking maturity levels, or preparing templates for publication. Triggers on ip-metadata, IP compliance, maturity level, Gold Silver Bronze, repository structure, ip-metadata.json, compliance check, template validation, publication readiness.
# IP Standards & Compliance Standards for Azure Developer CLI template metadata, repository structure, and publication readiness. Every template repository MUST include `.github/ip-metadata.json` validated against `.github/ip-metadata.schema.json`. > **Community skills**: For additional compliance skills, see the [microsoft/skills](https://github.com/microsoft/skills) community repository. --- ## 1. IP Metadata Schema ### Required Fields | Field | Type | Constraints | Example | |-------|------|-------------|---------| | `name` | string | 1–100 chars | `"Contoso Chat Assistant"` | | `description` | string | 10–500 chars | `"Multi-turn chat assistant with RAG"` | | `maturity` | enum | `Gold` / `Silver` / `Bronze` | `"Silver"` | | `region` | enum | `AMER` / `EMEA` / `ASIA` | `"AMER"` | | `industry` | enum | See industry list below | `"Financial Services"` | | `owner` | string | Microsoft alias pattern `^[a-zA-Z0-9._-]+$` | `"johndoe"` | | `pattern` | string[] | ≥1, unique, from pattern enum | `["AI/ML", "Cloud Native"]` | | `services` | string[] | ≥1, unique Azure service names | `["Azure OpenAI", "Azure Container Apps"]` | ### Optional Fields | Field | Type | Default | Notes | |-------|------|---------|-------| | `tags` | string[] | — | Additional categorization; unique, 1–50 chars each | | `version` | string | `"1.0.0"` | Semantic versioning `^\d+\.\d+\.\d+(-[a-zA-Z0-9.-]+)?$` | | `createdDate` | string | — | `YYYY-MM-DD` format | | `lastUpdated` | string | — | `YYYY-MM-DD` format | | `license` | string | `"MIT"` | `MIT`, `Apache-2.0`, `GPL-3.0`, `BSD-3-Clause`, `Proprietary` | | `repository` | object | — | `{ "url": "https://...", "branch": "main" }` | | `documentation` | object | — | `{ "readme": "...", "architecture": "...", "demo": "..." }` | | `contacts` | object | — | `{ "technical": ["alias"], "business": ["alias"] }` | ### Industry Enum `Cross`, `Financial Services`, `Retail`, `Energy`, `Healthcare`, `Manufacturing`, `Government`, `Education`, `Media & Entertainment`, `Technology` ### Pattern Enum `AI/ML`, `Data & Analytics`, `Application Innovation`, `Infrastructure`, `Security`, `IoT`, `Mixed Reality`, `Sustainability`, `Digital Transformation`, `Cloud Native`, `Integration`, `Business Intelligence`, `DevOps`, `OCR`, `Document Intelligence`, `Voice` ### Minimal Valid Example ```json { "name": "Contoso Chat Assistant", "description": "Multi-turn chat assistant using Azure OpenAI and AI Search with RAG pattern", "maturity": "Silver", "region": "AMER", "industry": "Technology", "owner": "johndoe", "pattern": ["AI/ML", "Cloud Native"], "services": [ "Azure OpenAI", "Azure AI Search", "Azure Container Apps", "Azure Key Vault", "Azure Monitor" ], "version": "1.0.0", "createdDate": "2025-01-15", "lastUpdated": "2025-01-15", "license": "MIT", "tags": ["chat", "rag", "openai"] } ``` ### Full Example with Optional Fields ```json { "name": "Contoso Chat Assistant", "description": "Multi-turn chat assistant using Azure OpenAI and AI Search with RAG pattern for enterprise knowledge bases", "maturity": "Gold", "region": "AMER", "industry": "Financial Services", "owner": "johndoe", "pattern": ["AI/ML", "Application Innovation", "Cloud Native"], "services": [ "Azure OpenAI", "Azure AI Search", "Azure Container Apps", "Azure Cosmos DB", "Azure Key Vault", "Azure Monitor", "Azure Storage", "AI Foundry" ], "version": "2.1.0", "createdDate": "2024-06-01", "lastUpdated": "2025-01-15", "license": "MIT", "tags": ["chat", "rag", "openai", "financial-services", "enterprise"], "repository": { "url": "https://github.com/contoso/chat-assistant", "branch": "main" }, "documentation": { "readme": "https://github.com/contoso/chat-assistant#readme", "architecture": "https://github.com/contoso/chat-assistant/blob/main/docs/ARCHITECTURE.md", "demo": "https://aka.ms/contoso-chat-demo" }, "contacts": { "technical": ["johndoe", "janedoe"], "business": ["pmsmith"] } } ``` --- ## 2. Maturity Levels ### Gold - `azd up` succeeds end-to-end with zero manual steps - Comprehensive README with prerequisites, quickstart, architecture diagram - Full Bicep infrastructure with managed identity (zero API keys) - Health check endpoints on all services - OpenTelemetry + Application Insights integration - CI/CD workflows in `.github/workflows/` - Unit and integration tests present - IP metadata complete with all optional fields - Architecture documentation in `docs/ARCHITECTURE.md` ### Silver - `azd up` succeeds with minimal configuration (environment variables only) - README with prerequisites and deployment instructions - Bicep infrastructure with managed identity - Health check endpoints - Structured logging (no `print()` / `console.log()`) - IP metadata complete with all required fields - At least one test file present ### Bronze - `azd up` completes with documented manual steps - README with basic usage instructions - Working Bicep infrastructure - IP metadata with all required fields - Basic error handling --- ## 3. Repository Structure Requirements ### Required Files & Directories ``` ├── README.md # Comprehensive project documentation ├── LICENSE # License file (MIT default) ├── azure.yaml # azd configuration ├── .gitignore # Appropriate exclusions ├── infra/ │ ├── main.bicep # Primary Bicep template │ └── main.parameters.json # Parameter definitions ├── src/ # Application source code │ └── <service>/ # One folder per azure.yaml service └── .github/ ├── ip-metadata.json # IP metadata (REQUIRED) └── ip-metadata.schema.json # JSON Schema for validation ``` ### Recommended Files & Directories ``` ├── docs/ │ └── ARCHITECTURE.md # Architecture documentation ├── assets/ # Images, diagrams ├── tests/ # Test suites ├── infra/ │ ├── abbreviations.json # Resource naming abbreviations │ └── core/ # Reusable Bicep modules ├── .github/ │ ├── copilot-instructions.md # Copilot customization │ ├── workflows/ # CI/CD pipelines │ ├── prompts/ # Copilot prompts │ ├── skills/ # Copilot skills │ └── agents/ # Copilot agents ``` --- ## 4. Compliance Checklist Use this checklist when validating a repository for publication readiness. ### IP Metadata (CRITICAL) - [ ] `.github/ip-metadata.json` exists - [ ] Validates against `.github/ip-metadata.schema.json` - [ ] All 8 required fields present and valid - [ ] Enum values match schema definitions exactly - [ ] `owner` alias follows `^[a-zA-Z0-9._-]+$` pattern - [ ] Dates in `YYYY-MM-DD` format - [ ] `services` array lists all Azure services actually used - [ ] `maturity` level matches actual repository quality (see §2) ### Repository Structure - [ ] `README.md` — comprehensive with prerequisites, quickstart, architecture - [ ] `LICENSE` — present and correct - [ ] `azure.yaml` — valid YAML, all services declared - [ ] `infra/main.bicep` — syntactically valid (`az bicep build`) - [ ] `infra/main.parameters.json` — all parameters defined - [ ] `src/` — application code organized by service - [ ] `.gitignore` — Python/Node/.NET ignores as appropriate - [ ] No secrets or credentials in repository ### Azure Developer CLI - [ ] `azd init` succeeds (if new project) - [ ] `azd provision --preview` shows expected resources - [ ] `azd up` completes successfully - [ ] All services deploy and respond to health checks - [ ] `remoteBuild: true` set for container services in `azure.yaml` ### Security - [ ] Zero API keys — managed identity only (see `aigbb-azure-security` skill) - [ ] `ChainedTokenCredential` pattern for Azure SDK authentication - [ ] RBAC follows least-privilege principle - [ ] Key Vault for any remaining secrets - [ ] No sensitive data in Bicep parameters or outputs ### Observability (Gold/Silver) - [ ] Health check endpoint (`GET /health`) on all services - [ ] OpenTelemetry tracing with Azure Monitor export (see `aigbb-observability` skill) - [ ] Structured logging — never `print()` / `console.log()` - [ ] `APPLICATION_INSIGHTS_CONNECTION_STRING` configured in Bicep ### Documentation - [ ] README covers: overview, prerequisites, quickstart, architecture, deployment - [ ] `docs/ARCHITECTURE.md` exists (Gold requirement) - [ ] API documentation if service exposes endpoints - [ ] Troubleshooting section with common issues --- ## 5. Auto-Fix Guidance When compliance violations are found, prioritize fixes in this order: | Priority | Category | Auto-fixable? | |----------|----------|:-------------:| | P0 | Missing `ip-metadata.json` | Yes — generate from repo analysis | | P0 | Secrets in code/config | No — manual removal + Key Vault setup | | P1 | Missing `LICENSE` | Yes — create MIT license | | P1 | Invalid `azure.yaml` | Partial — fix syntax, add `remoteBuild` | | P1 | Missing health endpoints | Yes — add `GET /health` route | | P2 | Incomplete README | Partial — generate template sections | | P2 | Missing `.gitignore` entries | Yes — add language-specific patterns | | P3 | Missing tests | No — requires application knowledge | | P3 | Missing architecture docs | Partial — generate template | ### Auto-fix workflow 1. Run compliance checklist 2. Generate findings report with pass/fail/warning 3. List auto-fixable items with proposed changes 4. **Ask user permission** before applying any fix 5. Apply approved fixes 6. Re-run checklist to confirm resolution --- ## Validation ### Local JSON Schema Validation ```bash # Python python -c " import json, jsonschema schema = json.load(open('.github/ip-metadata.schema.json')) data = json.load(open('.github/ip-metadata.json')) jsonschema.validate(data, schema) print('Valid') " ``` ### PowerShell Quick Check ```powershell $schema = Get-Content .github/ip-metadata.schema.json | ConvertFrom-Json $data = Get-Content .github/ip-metadata.json | ConvertFrom-Json # Check required fields $required = @('name','description','maturity','region','industry','owner','pattern','services') $missing = $required | Where-Object { -not $data.PSObject.Properties[$_] } if ($missing) { Write-Error "Missing: $($missing -join ', ')" } else { Write-Host "All required fields present" -ForegroundColor Green } ``` --- ## References - Schema file: `.github/ip-metadata.schema.json` - Related skills: `aigbb-azure-security`, `aigbb-azd-compliance`, `aigbb-observability` - Related prompts: `ipCompliance.prompt.md`, `ipMetadata.prompt.md`
View on GitHub