IBM IaC Spec Kit — Prompts
Prompt 1: /iac.specify — Infrastructure Specification Creation
Source: templates/commands/iac.specify.md
Technique: Script-backed initialization with AI content generation. The command first calls a shell script to create the numbered directory/branch, then AI generates the spec content.
---
description: Create or update the infrastructure specification from a natural language
infrastructure description.
scripts:
sh: scripts/bash/create-new-feature.sh --json "{ARGS}"
ps: scripts/powershell/create-new-feature.ps1 -Json "{ARGS}"
---
## Outline
Given that infrastructure description, do this:
1. **Generate a concise short name** (2-4 words) for the branch:
- Use action-noun format (e.g., "deploy-vpc", "configure-database")
- Preserve technical terms (VPC, RDS, K8s, etc.)
- Examples: "Deploy production VPC" → "production-vpc"
2. **Check for existing branches before creating new one**:
- git fetch --all --prune
- Check remote branches, local branches, AND specs directories
- Find highest existing number N → use N+1 for new branch
3. Run the script with calculated number and short-name
Notable technique: AI generates the branch name from the natural language description using action-noun format — the spec structure (numbered directory) is computed deterministically, the naming is AI-generated. Script runs only once per component.
Prompt 2: /iac.enrichplan — Deep Infrastructure Enrichment
Source: templates/commands/iac.enrichplan.md (inferred from README)
Technique: Comprehensive research enrichment — multiple analysis passes generating:
- Well-Architected Framework analysis (reliability, security, cost, performance, sustainability)
- Curated module specifications
- Detailed architecture documentation
- Provisioning quickstart guide
This is a depth-over-speed command: the README notes it generates "deep research" and is suitable for "quality-critical or complex projects."
Prompt 3: Generic vs. Specific Framing
Source: templates/commands/iac.specify.md (inference from README philosophy section)
Technique: Explicit two-stage framing — spec stage uses generic infrastructure vocabulary, plan stage uses cloud-specific vocabulary.
From README:
/iac.specify "I need a managed database with automated backups and encryption"
→ spec.md uses: "managed database", "encryption at rest", "automated backup"
(no cloud-specific terms)
/iac.plan "Deploy in AWS us-east-1"
→ plan.md translates: "managed database" → "Amazon RDS for MySQL"
"encryption at rest" → "AWS KMS with RDS encryption"
"automated backup" → "RDS automated backups with 7-day retention"
This two-stage generic→specific translation is the framework's defining workflow contribution.