Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Infrastructure as Code patterns for deploying Guts nodes using Terraform, Docker, and Kubernetes
.claude/skills/aiskillstore-infrastructure/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-01 | ✗→✓ | ▲ Improved | -6% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 11% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 26% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -16% | 0% |
You are managing infrastructure for a decentralized application with multiple node types.
infra/
├── terraform/
│ ├── modules/
│ │ ├── network/
│ │ ├── compute/
│ │ └── storage/
│ ├── environments/
│ │ ├── dev/
│ │ ├── staging/
│ │ └── prod/
│ └── main.tfhcl# modules/guts-node/main.tf variable "node_count" { type = number description = "Number of Guts nodes to deploy" default = 3 } variable "instance_type" { type = string description = "Instance type for nodes" default = "t3.medium" } resource "aws_instance" "guts_node" { count = var.node_count ami = data.aws_ami.ubuntu.id instance_type = var.instance_type tags = { Name = "guts-node-${count.index}" Environment = var.environment Project = "guts" } }
dockerfile# Build stage FROM rust:1.75-slim as builder WORKDIR /app COPY . . RUN cargo build --release --bin guts-node # Runtime stage FROM debian:bookworm-slim RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/* COPY --from=builder /app/target/release/guts-node /usr/local/bin/ EXPOSE 8080 9000 ENTRYPOINT ["guts-node"]
yamlversion: '3.8' services: node1: build: . ports: - "8081:8080" environment: - GUTS_NODE_ID=node1 - GUTS_PEERS=node2:9000,node3:9000 volumes: - node1-data:/data node2: build: . ports: - "8082:8080" environment: - GUTS_NODE_ID=node2 - GUTS_PEERS=node1:9000,node3:9000 volumes: - node2-data:/data node3: build: . ports: - "8083:8080" environment: - GUTS_NODE_ID=node3 - GUTS_PEERS=node1:9000,node2:9000 volumes: - node3-data:/data volumes: node1-data: node2-data: node3-data:
yamlapiVersion: apps/v1 kind: StatefulSet metadata: name: guts-node spec: serviceName: guts-nodes replicas: 3 selector: matchLabels: app: guts-node template: metadata: labels: app: guts-node spec: containers: - name: guts-node image: guts/node:latest ports: - containerPort: 8080 name: api - containerPort: 9000 name: p2p volumeMounts: - name: data mountPath: /data volumeClaimTemplates: - metadata: name: data spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 100Gi
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | fail→pass | 15,766 | 7,118 | -55% | 1 | 1 | 0% | 2,658 | 2,328 | -12% | 0 | 0 | — |
case-01 | fail→pass | 19,272 | 12,177 | -37% | 1 | 1 | 0% | 3,732 | 3,513 | -6% | 0 | 0 | — |
case-02 | fail→pass | 18,382 | 15,336 | -17% | 1 | 1 | 0% | 3,690 | 4,103 | +11% | 0 | 0 | — |
case-03 | fail→pass | 12,482 | 9,256 | -26% | 1 | 1 | 0% | 2,367 | 2,984 | +26% | 0 | 0 | — |
case-05 | fail→pass | 10,707 | 3,057 | -71% | 1 | 1 | 0% | 1,922 | 1,613 | -16% | 0 | 0 | — |
case-06 | pass→pass | 10,017 | 3,503 | -65% | 1 | 1 | 0% | 1,962 | 1,648 | -16% | 0 | 0 | — |
case-07 | fail→pass | 12,116 | 4,426 | -63% | 1 | 1 | 0% | 2,220 | 1,923 | -13% | 0 | 0 | — |
case-08 | pass→pass | 16,056 | 11,060 | -31% | 1 | 1 | 0% | 2,474 | 2,818 | +14% | 0 | 0 | — |
case-09 | pass→pass | 17,219 | 3,780 | -78% | 1 | 1 | 0% | 2,557 | 1,683 | -34% | 0 | 0 | — |
case-10 | pass→pass | 13,250 | 5,630 | -58% | 1 | 1 | 0% | 2,208 | 2,050 | -7% | 0 | 0 | — |
case-11 | pass→pass | 12,456 | 2,037 | -84% | 1 | 1 | 0% | 2,009 | 1,400 | -30% | 0 | 0 | — |
case-12 | fail→fail | 11,436 | 2,015 | -82% | 1 | 1 | 0% | 1,821 | 1,340 | -26% | 0 | 0 | — |
case-13 | pass→pass | 7,620 | 2,449 | -68% | 1 | 1 | 0% | 1,200 | 1,490 | +24% | 0 | 0 | — |
case-14 | fail→pass | 13,600 | 2,635 | -81% | 1 | 1 | 0% | 2,254 | 1,419 | -37% | 0 | 0 | — |
case-15 | pass→pass | 13,075 | 4,785 | -63% | 1 | 1 | 0% | 2,148 | 1,804 | -16% | 0 | 0 | — |
case-16 | pass→pass | 8,868 | 4,594 | -48% | 1 | 1 | 0% | 1,646 | 1,877 | +14% | 0 | 0 | — |
case-17 | pass→pass | 7,306 | 3,976 | -46% | 1 | 1 | 0% | 1,195 | 1,744 | +46% | 0 | 0 | — |
case-18 | pass→pass | 13,135 | 2,351 | -82% | 1 | 1 | 0% | 1,992 | 1,272 | -36% | 0 | 0 | — |
case-19 | pass→pass | 12,233 | 11,796 | -4% | 1 | 1 | 0% | 1,981 | 3,078 | +55% | 0 | 0 | — |
case-20 | pass→pass | 16,136 | 14,656 | -9% | 1 | 1 | 0% | 3,222 | 4,169 | +29% | 0 | 0 | — |
case-21 | pass→pass | 8,843 | 6,542 | -26% | 1 | 1 | 0% | 1,546 | 2,273 | +47% | 0 | 0 | — |
case-22 | pass→pass | 15,524 | 13,759 | -11% | 1 | 1 | 0% | 3,335 | 3,970 | +19% | 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. 22 cases were attempted. The headline lift of +32 percentage points is the difference between those two pass rates over the 22 comparable cases.
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.
Other measured skills in the registry, with their headline benchmark lift.