CtrlK
BlogDocsLog inGet started
Tessl Logo

pantheon-ai/helm-toolkit

Complete helm toolkit with generation and validation capabilities

94

Quality

94%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

criteria.jsongenerator/evals/scenario-1/

{
  "context": "Tests whether the agent uses a layered values approach (no env-specific values in the default values.yaml), and whether CI/CD deployment scripts use --atomic to prevent broken release states on failure.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "No env values in chart",
      "description": "values.yaml inside the chart directory does NOT contain any environment-specific strings (e.g., production hostnames, prod database URLs, or environment names like 'prod', 'staging')",
      "max_score": 14
    },
    {
      "name": "Separate override file",
      "description": "A separate values-production.yaml (or equivalent env-specific file) exists outside the chart directory with at least 2 override entries",
      "max_score": 10
    },
    {
      "name": "Layered -f flag usage",
      "description": "deploy.sh passes the environment override file to helm using the -f flag (e.g., -f values-production.yaml), not by editing values.yaml",
      "max_score": 12
    },
    {
      "name": "atomic flag present",
      "description": "The helm upgrade command in deploy.sh includes the --atomic flag",
      "max_score": 14
    },
    {
      "name": "timeout with atomic",
      "description": "The helm upgrade command in deploy.sh includes a --timeout flag alongside --atomic (e.g., --timeout 5m)",
      "max_score": 10
    },
    {
      "name": "upgrade --install used",
      "description": "deploy.sh uses 'helm upgrade --install' (idempotent form) rather than separate helm install and helm upgrade commands",
      "max_score": 8
    },
    {
      "name": "Image tag not latest",
      "description": "values.yaml does NOT set the image tag to 'latest'; it is either empty or a placeholder variable",
      "max_score": 8
    },
    {
      "name": "Resources defined",
      "description": "The chart template or values.yaml includes a resources block with CPU and memory settings",
      "max_score": 8
    },
    {
      "name": "values.yaml comments",
      "description": "values.yaml contains at least 3 comment lines (starting with #) documenting individual settings",
      "max_score": 8
    },
    {
      "name": "Environment param in script",
      "description": "deploy.sh accepts the target environment as a script argument or variable and selects the appropriate values file based on it",
      "max_score": 8
    }
  ]
}

generator

SKILL.md

tile.json