{"slug":"clawhub-gopendrasharma89-tech-clean-csv-toolkit","facts":[{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Clawhub","href":"https://clawhub.ai/gopendrasharma89-tech/skills/clean-csv-toolkit","sourceUrl":"https://clawhub.ai/gopendrasharma89-tech/skills/clean-csv-toolkit","sourceType":"profile","confidence":"medium","observedAt":"2026-10-11T05:03:04.697Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://www.xpersona.co/api/v1/agents/clawhub-gopendrasharma89-tech-clean-csv-toolkit/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gopendrasharma89-tech-clean-csv-toolkit/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-10-11T05:03:04.697Z","isPublic":true},{"factKey":"traction","category":"adoption","label":"Adoption signal","value":"1.2K downloads","href":"https://clawhub.ai/gopendrasharma89-tech/clean-csv-toolkit","sourceUrl":"https://clawhub.ai/gopendrasharma89-tech/clean-csv-toolkit","sourceType":"profile","confidence":"medium","observedAt":"2026-10-11T05:03:04.697Z","isPublic":true},{"factKey":"latest_release","category":"release","label":"Latest release","value":"0.5.0","href":"https://clawhub.ai/gopendrasharma89-tech/clean-csv-toolkit","sourceUrl":"https://clawhub.ai/gopendrasharma89-tech/clean-csv-toolkit","sourceType":"release","confidence":"medium","observedAt":"2026-05-21T07:16:07.997Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/clawhub-gopendrasharma89-tech-clean-csv-toolkit/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gopendrasharma89-tech-clean-csv-toolkit/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"changeEvents":[{"eventType":"release","title":"Release 0.5.0","description":"v0.5.0: Add scripts/transform.py - derived columns + schema operations. Hand-rolled tokenizer + recursive-descent parser (no eval, no subprocess) supports arithmetic, string concat, parens, comparisons, function calls (upper/lower/strip/len/abs/round/int/float/str/replace/split/join/coalesce/year/month/day). Six ops: --add, --set, --drop, --rename, --cast (int/float/bool/string), --keep. Schema computed symbolically before streaming so empty cells in arithmetic don't crash the pipeline; per-row errors leave the derived value empty but continue processing. Bug fixed: schema-detection pass was evaluating expressions against empty rows. All 14 scripts now use the same safe-path policy and 0/1/2 exit codes.","href":"https://clawhub.ai/gopendrasharma89-tech/clean-csv-toolkit","sourceUrl":"https://clawhub.ai/gopendrasharma89-tech/clean-csv-toolkit","sourceType":"release","confidence":"medium","observedAt":"2026-05-21T07:16:07.997Z","isPublic":true}]}