**UTILITY SKILL** — Artifact template structures, H2 compliance rules, and documentation styling for agent outputs (Steps 1-7). WHEN: "generate artifact", "check H2 structure", "artifact template", "step 7 as-built". USE FOR: generating any agent artifact, checking H2 structure compliance. DO NOT USE FOR: Azure resource configuration (use azure-defaults), Bicep/Terraform patterns (use azure-bicep-patterns or terraform-patterns).
Scanned 9/4/2026
Install to Claude Code
npx -y skills add jonathan-vella/apex --skill azure-artifacts --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Azure Artifacts?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/jonathan-vella-azure-artifacts-apex)More formats (shields.io, HTML) on the badges page.
---
name: azure-artifacts
description: '**UTILITY SKILL** — Artifact template structures, H2 compliance rules, and documentation styling for agent outputs (Steps 1-7). WHEN: "generate artifact", "check H2 structure", "artifact template", "step 7 as-built". USE FOR: generating any agent artifact, checking H2 structure compliance. DO NOT USE FOR: Azure resource configuration (use azure-defaults), Bicep/Terraform patterns (use azure-bicep-patterns or terraform-patterns).'
compatibility: Works with Claude Code, GitHub Copilot, VS Code, and any Agent Skills compatible tool.
license: MIT
metadata:
author: jonathan-vella
version: "2.0"
category: workflow-automation
---
# Azure Artifacts Skill
Single source of truth for artifact template structures and styling.
Per-step H2 definitions live in `references/` — load only the step
you are generating.
## Rules
### Mandatory Compliance
| Rule | Requirement |
| --------------------- | --------------------------------------------------- |
| **Template skeleton** | Read step template from `references/` and replicate |
| **Exact text** | Use H2 text from templates verbatim |
| **Exact order** | Required H2s appear in the order listed |
| **Anchor rule** | Extra sections allowed ONLY after last required H2 |
| **No omissions** | Every H2 listed must appear in output |
| **Attribution** | `> Generated by {agent} agent \| {YYYY-MM-DD}` |
### DO / DON'T
- **DO**: Read the step-specific template before generating
- **DO**: Copy H2 text character-for-character (including emoji)
- **DO**: Save all output to `agent-output/{project}/`
- **DON'T**: Reorder H2 headings from the listed sequence
- **DON'T**: Use placeholder text like "TBD" or "Insert here"
- **DON'T**: Add custom H2 sections BEFORE the last required H2
## Mandatory: Project README
Every project in `agent-output/{project}/` **MUST** have a
`README.md`.
After saving step artifact(s), update the README:
1. Mark your step as **complete** in `## ✅ Workflow Progress`
2. Add artifact files to `## 📄 Generated Artifacts`
3. Update `Last Updated` date and progress bar percentage
## Steps
Artifact generation flow (per Step N):
1. **Read template** — load the matching `references/0N-*-template.md` for the step you are generating
2. **Copy H2 skeleton** — replicate every required H2 in the listed order, character-for-character
3. **Fill content** — replace `{placeholder}` tokens; never use "TBD" or "Insert here"
4. **Add attribution** — `> Generated by {agent} agent | {YYYY-MM-DD}`
5. **Save** to `agent-output/{project}/` with the prescribed filename
6. **Update README** — mark step complete, list artifacts, refresh `Last Updated` date
7. **Delegate validation** — do **not** invoke `npm run lint:artifact-templates`,
`npm run lint:h2-sync`, or `markdownlint-cli2` directly against
`agent-output/**`. The lefthook `artifact-validation` pre-commit hook (which
wraps these scripts) and the `10-Challenger` review own the artifact
contract. See
[`agent-authoring.instructions.md`](../../instructions/agent-authoring.instructions.md#no-direct-markdownlint-on-agent-output-rule).
For revisions (challenger findings, user-decision Apply/Skip/Defer, approval-gate fixes), see [`references/revision-workflow.md`](./references/revision-workflow.md) — bundle all fixes into a single `multi_replace_string_in_file` call.
## Post-write validation
Run a one-line shape check **immediately after writing any non-markdown
artifact**, before moving to the next step. Catches malformed output at
source instead of at deploy time. Markdown artifacts are owned by the
lefthook `artifact-validation` hook — do not duplicate that check here.
| Artifact type | Validation command (run after write) |
| ------------------------------------------ | ------------------------------------------------------------------- |
| `*.json` | `python -m json.tool <file> >/dev/null` |
| `*.bicep` | `bicep build --stdout <file> >/dev/null` |
| `*.tf` | `terraform fmt -check <file>` + `terraform validate` (in module dir) |
| `challenge-findings-*.json` (sidecar JSON) | `node tools/scripts/validate-challenger-findings.mjs <file>` |
| `challenge-findings-*-decisions.json` (per-finding sidecar) | `node tools/scripts/validate-challenge-findings-decisions.mjs <file>` |
| `*.md` | _delegated to lefthook `artifact-validation` — do not run inline_ |
Fail closed: if the validator exits non-zero, fix the artifact and
re-validate before continuing. Do **not** record the artifact in the
project README or hand off to the next step until it passes.
## Placeholder Syntax
All templates use single-brace `{placeholder-name}` syntax:
- Lowercase, hyphen-separated: `{project-name}`, `{monthly-cost}`
- No Mustache/Handlebars `{{double-braces}}`
## Automated Validation
These npm scripts are invoked by the lefthook `artifact-validation` pre-commit
hook and by CI — **not by agents directly** (see
[`agent-authoring.instructions.md`](../../instructions/agent-authoring.instructions.md#no-direct-markdownlint-on-agent-output-rule)).
```bash
npm run lint:artifact-templates # H2 order and required headings (pre-commit + CI only)
npm run lint:h2-sync # Template ↔ artifact sync (pre-commit + CI only)
npm run validate:all # All validators together (humans / CI only)
```
### Fast H2-order sanity check (agent-safe)
When an agent needs a quick "did I get the H2 structure right?" check
*before* invoking the challenger, use the dedicated helper instead of
improvising `node -e '…'` one-liners (which trip shell quoting and waste
context on retries):
```bash
npm run check:h2-order -- <project> # defaults to 01-requirements.md
npm run check:h2-order -- <project> 04-implementation-plan.md
node tools/scripts/check-h2-order.mjs agent-output/<project>/02-architecture-assessment.md
```
Exit 0 = match (prints `OK: …`). Exit 1 = mismatch (prints structured
JSON with `expected`/`got`/`missingAt`). Exit 2 = bad arguments or
unknown artifact filename. The helper reads the canonical heading
registry from [`tools/scripts/_lib/artifact-headings.mjs`](../../../tools/scripts/_lib/artifact-headings.mjs)
so it never drifts from the template source of truth.
## Quality Checklist
Critical (always check):
- [ ] H2 headings match template exactly (text + order)
- [ ] Attribution header present with agent name and date
- [ ] No placeholder text (e.g. "TBD", "Insert here", task markers)
- [ ] File saved to `agent-output/{project}/` with correct name
For the full structural / styling checklist (TOC, cross-nav table, traffic
lights, Mermaid, collapsible blocks) read
[`references/styling-standards.md`](references/styling-standards.md).
## Reference Index
When generating a Step N artifact, read the corresponding template:
| Reference | When to Load |
| ---------------------------------------- | ---------------------------------------------------- |
| `references/01-requirements-template.md` | Generating Step 1 requirements |
| `references/02-architecture-template.md` | Generating Step 2 assessment or Step 3 cost estimate |
| `references/04-plan-template.md` | Generating Step 4 plan, governance, or preflight |
| `references/05-code-template.md` | Generating Step 5 implementation reference |
| `references/06-deploy-template.md` | Generating Step 6 deployment summary |
| `references/07-docs-template.md` | Generating Step 7 workload documentation |
| `references/styling-standards.md` | Applying callouts, badges, emoji, navigation |
| `references/cost-estimate-sections.md` | Cost estimate H2 structure and formatting rules |
| `references/revision-workflow.md` | Detailed targeted-edit revision procedure (Step 7+) |
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!