# Update Data Dictionary

> Update an existing data dictionary to reflect new columns, changed types, renamed fields, dropped columns, or new transformations/provenance entries. Use after running any operation that modifies a dataset's schema (add-iso3166, enrich-with-currency, text-to-numeric, json-restructure, etc.).

- **Type:** Skill
- **Install:** `agentstack add skill-danielrosehill-claude-data-wrangler-plugin-update-data-dictionary`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [danielrosehill](https://agentstack.voostack.com/s/danielrosehill)
- **Installs:** 0
- **Category:** [Data & Analytics](https://agentstack.voostack.com/c/data-and-analytics)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [danielrosehill](https://github.com/danielrosehill)
- **Source:** https://github.com/danielrosehill/Claude-Data-Wrangler-plugin/tree/master/skills/update-data-dictionary

## Install

```sh
agentstack add skill-danielrosehill-claude-data-wrangler-plugin-update-data-dictionary
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Update Data Dictionary

Keep an existing data dictionary in sync with the current dataset.

## When to invoke

- A schema-changing operation just ran and the dataset's folder contains a `data_dictionary.{md,yaml,json,csv}`.
- User says "update the data dictionary", "re-document", "re-profile".
- Another wrangler skill needs to log a transformation.

## Procedure

1. **Find the dictionary** — look for `data_dictionary.*` in the dataset's folder. If none exists, suggest `add-data-dictionary` instead.
2. **Load the current dataset** and profile columns.
3. **Diff against the existing dictionary**:
   - **New columns** — present in data, missing from dictionary → add row with stub description, ask user to fill in.
   - **Removed columns** — present in dictionary, missing from data → mark as "REMOVED " or offer to delete the row (ask user).
   - **Type changes** — update the type column; log in provenance.
   - **Renamed columns** — heuristic only; ask the user to confirm rename mappings rather than guessing.
4. **Append to the provenance / transformations section** with today's date and a one-line summary of what changed.
5. **Preserve user-written descriptions** — never overwrite a description the user has filled in. Only touch auto-generated fields (type, examples, nullability).
6. **Write the updated dictionary** back to the same file, preserving its format (md/yaml/json/csv).
7. **Report** a summary diff: N columns added, M removed, K types changed.

## Dependencies

```bash
pip install pandas pyarrow openpyxl pyyaml
```

## Edge cases

- **Markdown round-trip** — parse the existing columns table carefully; preserve any additional text sections (notes, known issues) that the user has added by hand.
- **Multiple dictionary files** — if both `data_dictionary.md` and `data_dictionary.yaml` exist, ask the user which is canonical; optionally update both.
- **Dictionary out of date with multiple intermediate changes** — the provenance log may have gaps. Log today's transformation; flag the gap but don't fabricate history.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [danielrosehill](https://github.com/danielrosehill)
- **Source:** [danielrosehill/Claude-Data-Wrangler-plugin](https://github.com/danielrosehill/Claude-Data-Wrangler-plugin)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-danielrosehill-claude-data-wrangler-plugin-update-data-dictionary
- Seller: https://agentstack.voostack.com/s/danielrosehill
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
