Skillsbench yaml-config
Use this skill when reading or writing YAML configuration files, loading vehicle parameters, or handling config file parsing with proper error handling.
install
source · Clone the upstream repo
git clone https://github.com/benchflow-ai/skillsbench
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/benchflow-ai/skillsbench "$T" && mkdir -p ~/.claude/skills && cp -r "$T/tasks/adaptive-cruise-control/environment/skills/yaml-config" ~/.claude/skills/benchflow-ai-skillsbench-yaml-config && rm -rf "$T"
manifest:
tasks/adaptive-cruise-control/environment/skills/yaml-config/SKILL.mdsource content
YAML Configuration Files
Reading YAML
Always use
safe_load to prevent code execution vulnerabilities:
import yaml with open('config.yaml', 'r') as f: config = yaml.safe_load(f) # Access nested values value = config['section']['key']
Writing YAML
import yaml data = { 'settings': { 'param1': 1.5, 'param2': 0.1 } } with open('output.yaml', 'w') as f: yaml.dump(data, f, default_flow_style=False, sort_keys=False)
Options
: Use block style (readable)default_flow_style=False
: Preserve insertion ordersort_keys=False
: Support unicode charactersallow_unicode=True
Error Handling
import yaml try: with open('config.yaml', 'r') as f: config = yaml.safe_load(f) except FileNotFoundError: config = {} # Use defaults except yaml.YAMLError as e: print(f"YAML parse error: {e}") config = {}
Optional Config Loading
import os import yaml def load_config(filepath, defaults=None): """Load config file, return defaults if missing.""" if defaults is None: defaults = {} if not os.path.exists(filepath): return defaults with open(filepath, 'r') as f: loaded = yaml.safe_load(f) or {} # Merge loaded values over defaults result = defaults.copy() result.update(loaded) return result