Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Design and plan end-to-end Azure IoT and Smart City solutions: requirements, architecture, security, operations, cost, and a phased delivery plan with concrete implementation artifacts.
.claude/skills/azure-smart-city-iot-solution-builder/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 52% | 0% |
| case-24 | ✓→✗ | ▼ Worse | 57% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 44% | 0% |
Use this skill to rebuild and standardize a complete workflow for Azure IoT and Smart City solutions.
Use this skill when the user asks for things like:
Before proposing architecture or technology decisions that involve edge computing, review Azure IoT Edge documentation first:
Minimum pages to review:
If documentation cannot be consulted, state this explicitly and continue with clearly marked assumptions.
Collect and confirm:
Split the platform into layers:
Define and document:
Create a phased execution:
For each phase, include:
There are two sources of skills:
skills/.If they are available in the execution environment, delegate to these specialized skills for deeper guidance:
azure-kubernetesazure-messagingazure-observabilityazure-storageazure-rbacazure-costazure-validateazure-deployWhen runtime skills are not available, prioritize existing local skills in this repository:
azure-architecture-autopilot for architecture generation and refinement.azure-resource-visualizer for resource relationship diagrams.azure-role-selector for role selection guidance.az-cost-optimize and azure-pricing for cost and pricing analysis.azure-deployment-preflight for pre-deployment checks.appinsights-instrumentation for telemetry instrumentation patterns.If no specialized skill is available, continue with this skill and keep assumptions explicit.
Always provide these outputs:
Use references/smart-city-solution-template.md to standardize outputs for each scenario, with this response structure:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | fail→pass | 19,536 | 22,283 | +14% | 1 | 1 | 0% | 3,790 | 5,284 | +39% | 0 | 0 | — |
case-05 | pass→pass | 16,816 | 17,821 | +6% | 1 | 1 | 0% | 3,247 | 4,680 | +44% | 0 | 0 | — |
case-01 | fail→fail | 25,546 | 31,096 | +22% | 1 | 1 | 0% | 4,590 | 6,946 | +51% | 0 | 0 | — |
case-02 | fail→fail | 30,414 | 24,979 | -18% | 1 | 1 | 0% | 6,204 | 5,914 | -5% | 0 | 0 | — |
case-03 | fail→fail | 34,206 | 31,931 | -7% | 1 | 1 | 0% | 6,210 | 6,684 | +8% | 0 | 0 | — |
case-06 | fail→pass | 17,738 | 21,103 | +19% | 1 | 1 | 0% | 3,557 | 5,371 | +51% | 0 | 0 | — |
case-07 | fail→fail | 26,194 | 26,372 | +1% | 1 | 1 | 0% | 4,642 | 6,079 | +31% | 0 | 0 | — |
case-08 | fail→fail | 32,621 | 22,263 | -32% | 1 | 1 | 0% | 6,194 | 5,192 | -16% | 0 | 0 | — |
case-09 | pass→pass | 19,760 | 22,209 | +12% | 1 | 1 | 0% | 4,142 | 5,492 | +33% | 0 | 0 | — |
case-10 | fail→fail | 18,285 | 20,399 | +12% | 1 | 1 | 0% | 3,244 | 5,033 | +55% | 0 | 0 | — |
case-11 | fail→fail | 18,015 | 19,571 | +9% | 1 | 1 | 0% | 3,549 | 4,966 | +40% | 0 | 0 | — |
case-12 | fail→fail | 29,772 | 22,828 | -23% | 1 | 1 | 0% | 5,692 | 5,200 | -9% | 0 | 0 | — |
case-13 | fail→fail | 29,677 | 25,820 | -13% | 1 | 1 | 0% | 6,184 | 6,022 | -3% | 0 | 0 | — |
case-14 | pass→pass | 17,185 | 25,515 | +48% | 1 | 1 | 0% | 3,314 | 6,114 | +84% | 0 | 0 | — |
case-15 | fail→fail | 20,481 | 22,865 | +12% | 1 | 1 | 0% | 3,979 | 5,554 | +40% | 0 | 0 | — |
case-16 | pass→pass | 15,526 | 27,345 | +76% | 1 | 1 | 0% | 2,974 | 6,281 | +111% | 0 | 0 | — |
case-17 | fail→fail | 12,501 | 15,946 | +28% | 1 | 1 | 0% | 2,402 | 4,073 | +70% | 0 | 0 | — |
case-18 | fail→pass | 17,819 | 18,382 | +3% | 1 | 1 | 0% | 3,091 | 4,701 | +52% | 0 | 0 | — |
case-19 | fail→fail | 15,589 | 17,827 | +14% | 1 | 1 | 0% | 3,501 | 4,653 | +33% | 0 | 0 | — |
case-20 | fail→fail | 19,293 | 23,897 | +24% | 1 | 1 | 0% | 3,174 | 5,353 | +69% | 0 | 0 | — |
case-21 | fail→fail | 21,997 | 23,755 | +8% | 1 | 1 | 0% | 4,424 | 5,264 | +19% | 0 | 0 | — |
case-22 | pass→pass | 12,559 | 9,883 | -21% | 1 | 1 | 0% | 2,976 | 3,287 | +10% | 0 | 0 | — |
case-23 | pass→pass | 3,864 | 6,075 | +57% | 1 | 1 | 0% | 817 | 2,407 | +195% | 0 | 0 | — |
case-24 | pass→fail | 10,082 | 12,455 | +24% | 1 | 1 | 0% | 2,355 | 3,688 | +57% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted. The headline lift of +8 percentage points is the difference between those two pass rates over the 24 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 7/24/2026 | +44% |
Other measured skills in the registry, with their headline benchmark lift.