fai-build-bicep-module — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited fai-build-bicep-module (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Scaffolds Bicep modules with AVM metadata, decorators, parameter validation, output definitions, and deployment tests. Enables module composition, versioning, and registry (Bicep Registry, GitHub Container Registry) publishing.
This skill provides a structured, repeatable procedure for creates bicep modules with avm patterns, parameters, outputs, and deployment tests.. It can be used standalone as a LEGO block or auto-wired inside solution plays via the FAI Protocol.
Category: Infrastructure as Code Complexity: Medium Estimated Time: 10-30 minutes
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
target | string | Yes | — | Target resource, file, or endpoint |
environment | enum | No | dev | Target environment: dev, staging, prod |
verbose | boolean | No | false | Enable detailed output logging |
dry_run | boolean | No | false | Validate without making changes |
config_path | string | No | config/ | Path to configuration directory |
Verify all required tools, credentials, and dependencies are available.
# Check required tools
command -v node >/dev/null 2>&1 || { echo 'Node.js required'; exit 1; }
command -v az >/dev/null 2>&1 || { echo 'Azure CLI required'; exit 1; }Read settings from the FAI manifest and TuneKit config files.
# Load from fai-manifest.json if inside a play
CONFIG_DIR="${config_path:-config}"
if [ -f "fai-manifest.json" ]; then
echo "FAI Protocol detected — auto-wiring context"
fiPerform the primary operation: creates bicep modules with avm patterns, parameters, outputs, and deployment tests..
Verify the output meets quality thresholds and WAF compliance.
# Validate output
if [ "$?" -eq 0 ]; then
echo "✅ Skill completed successfully"
else
echo "❌ Skill failed — check logs"
exit 1
fi| Output | Type | Description |
|---|---|---|
status | enum | success, warning, failure |
duration_ms | number | Execution time in milliseconds |
artifacts | string[] | List of generated/modified files |
logs | string | Detailed execution log |
| Pillar | How This Skill Contributes |
|---|---|
| reliability | Includes retry logic, validates outputs, provides rollback steps |
| security | Validates credentials, enforces least-privilege, scans for secrets |
| Exit Code | Meaning | Action |
|---|---|---|
| 0 | Success | Proceed to next step |
| 1 | Validation failure | Check input parameters |
| 2 | Dependency missing | Install required tools |
| 3 | Runtime error | Check logs, retry with --verbose |
# Run this skill directly
npx frootai skill run fai-build-bicep-moduleWhen referenced in fai-manifest.json, this skill auto-wires with the play's context:
{
"primitives": {
"skills": ["skills/fai-build-bicep-module/"]
}
}Agents can invoke this skill using the /skill command in Copilot Chat.
{
"skill": "skill-name",
"version": "1.0.0",
"timeout_seconds": 300,
"retry_attempts": 3,
"log_level": "info"
}Track skill execution metrics:
| Metric | Description | Alert Threshold |
|---|---|---|
| Duration | Execution time | > 60 seconds |
| Success rate | Pass/fail ratio | < 95% |
| Error count | Failed executions | > 5/hour |
| Symptom | Cause | Fix |
|---|---|---|
| Timeout | Slow dependency | Increase timeout_seconds |
| Auth failure | Expired credentials | Refresh Managed Identity |
| Missing config | No fai-manifest.json | Create manifest or pass config_path |
| Validation error | Invalid input | Check parameter types and ranges |
dry_run=true~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.