Install
$ agentstack add skill-danielrosehill-claude-data-wrangler-plugin-text-to-numeric ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Text to Numeric
Parse formatted numeric strings into proper numeric types, capturing the format metadata separately.
When to invoke
- A column contains values like
$4.27,1,234.56,€1.2M,3.5%,(500)(accounting negative),2.5K. - Downstream analysis needs the column as
float/int.
Procedure
- Load dataset and identify the target column(s). If the user hasn't specified, list columns where
dtype == objectbut >80% of values look numeric after stripping symbols. - Profile the column — sample 20 distinct values and detect format:
- Currency symbols:
$,€,£,¥,₪,₹, etc. → record the detected currency. - Thousands separators:
,(US),.(EU), space (FR/scientific),'(CH). - Decimal marker:
.or,— infer from context; ask if ambiguous. - Scale suffixes:
K,M,B,T(multiply accordingly). - Percentage:
%→ divide by 100 OR keep as-is; ask the user. - Accounting negatives:
(500)→-500. - Unicode minus:
−→-.
- Confirm the detected format with the user before applying, especially the decimal/thousands convention and percentage handling.
- Parse:
- Strip currency symbols, whitespace, and thousands separators.
- Apply scale suffix multipliers.
- Convert accounting negatives.
- Cast to
float; downcast tointif all values are whole numbers.
- Write two columns (default):
- Original column preserved (renamed to
_rawif the user wants a clean replacement) OR overwritten. - New numeric column
_numeric(or same name).
- Record metadata in the data dictionary:
- Original format (e.g. "US currency, $ prefix, comma thousands, dot decimal").
- Detected currency ISO 4217 code if present.
- Scale convention applied.
- Percentage handling decision.
- If no data dictionary exists in the dataset's folder, create one via the
add-data-dictionaryskill.
- Report unparseable rows — list values that failed parsing with their row indices. Leave null in numeric column; do not drop.
- Write output with
_numericsuffix.
Dependencies
pip install pandas
Optional: babel.numbers.parse_decimal for locale-aware parsing.
Edge cases
- Mixed currencies in one column (e.g.
$5,€4,£3) — extract currency per row into a separatecurrencycolumn, convert numeric without the symbol. Do not attempt FX conversion; that is a separate operation. - Ranges (
"100-200","5–10") — flag and ask user (split into_min/_max, take midpoint, or leave as text). - Approximations (
"~500","1M") — strip qualifier, record in aqualifiercolumn, convert the numeric portion. - Scientific notation — pandas handles natively.
- NaN sentinels (
"N/A","-","null","") — convert to NaN; list the sentinels detected.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: danielrosehill
- Source: danielrosehill/Claude-Data-Wrangler-plugin
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.