diff --git a/.agents/skills/lib.sh b/.agents/skills/lib.sh index baab853..8bda604 100644 --- a/.agents/skills/lib.sh +++ b/.agents/skills/lib.sh @@ -145,6 +145,16 @@ try: d = yaml.safe_load(f) or {} except Exception: pass +# Clean lone surrogates to prevent UnicodeEncodeError on stdout print +def clean_surrogates(obj): + if isinstance(obj, str): + return obj.encode('utf-8', errors='replace').decode('utf-8') + elif isinstance(obj, dict): + return {k: clean_surrogates(v) for k, v in obj.items()} + elif isinstance(obj, list): + return [clean_surrogates(x) for x in obj] + return obj +d = clean_surrogates(d) print(json.dumps(d, ensure_ascii=False)) PYEOF }