Agent skill

Elements And Metadata

by VectorSpaceLab in VectorSpaceLab/AREX-Skill

Understand and manipulate Unstructured Element classes, metadata, coordinates, data-source metadata, staging conversions, and bundled inspection helpers.

Apache-2.0Auto-check passed

Install Elements And Metadata

skills CLI
$ npx skills add VectorSpaceLab/AREX-Skill --skill elements-and-metadata -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install VectorSpaceLab/AREX-Skill elements-and-metadata --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/VectorSpaceLab/AREX-Skill.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/repositories/repo-skills/unstructured/sub-skills/elements-and-metadata .claude/skills/elements-and-metadata && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
elements-and-metadata
GitHub stars
331
Token cost
~1.3k tokens
SKILL.md length
450 words
Files
6 (incl. scripts, references)
Skills in repo
157
Repo updated
First seen
Licence
Apache-2.0

At a glance

Understand and manipulate Unstructured Element classes, metadata, coordinates, data-source metadata, staging conversions, and bundled inspection helpers.

  • Works in 6 steps: Load JSON with elements_from_json() or… → Confirm each element has a supported… → Inspect metadata sparsely: missing keys… → …
  • Inspecting partition output JSON
  • SKILL.md covers Core Model, Staging and Conversion, Table Fidelity and Coordinates, plus 2 more sections
  • Runs Python scripts from its folder; calls python

What it does

Elements And Metadata is an agent skill from VectorSpaceLab/AREX-Skill. Understand and manipulate Unstructured Element classes, metadata, coordinates, data-source metadata, staging conversions, and bundled inspection helpers. Use when inspecting partition output JSON, preserving table metadata or coordinates, or converting element JSON to JSON, NDJSON, Markdown, text, or HTML; route raw document partitioning to partitioning and chunk composition to chunking.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `references/element-schema.md`, `references/staging-formats.md` and `references/troubleshooting.md`).

The repository describes itself as: A Skill Library for Automated Machine Learning. The licence is Apache-2.0.

When your agent uses it

  • Inspecting partition output JSON
  • Preserving table metadata
  • Converting element JSON to JSON
  • Route raw document partitioning to partitioning and chunk composition to chunking

Example prompts

  • “/elements-and-metadata”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Load JSON with elements_from_json() or scripts/convert_elements_json.py --inspect to catch malformed JSON early.
  2. Confirm each element has a supported type; unknown text-like types may be dropped by elements_from_dicts() if they are not mapped.
  3. Inspect metadata sparsely: missing keys often mean unset fields, not failed serialization.
  4. For coordinates, verify points and system are both present and that layout_width/layout_height match the originating page or image.
  5. For tables, compare text, metadata.text_as_html, and metadata.table_as_cells before and after conversion.
  6. For oversized orig_elements, image payloads, or compressed metadata, watch base64/gzip limits and prefer exclude_binary_image_data=True…

What it can do on your machine

Read from SKILL.md and the folder at commit ac3fe1a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Elements And Metadata loads about 1.3k tokens when it runs, and up to ~5.3k if it reads all its reference files. Until then it costs about 103 tokens; SKILL.md has 450 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~103
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from VectorSpaceLab/AREX-Skill at commit ac3fe1a, republished under its Apache-2.0 licence (© VectorSpaceLab). 450 words, ~1,266 tokens.

Download SKILL.mdSave it as .claude/skills/elements-and-metadata/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
elements-and-metadata
description
Understand and manipulate Unstructured Element classes, metadata, coordinates, data-source metadata, staging conversions, and bundled inspection helpers. Use when inspecting partition output JSON, preserving table metadata or coordinates, or converting element JSON to JSON, NDJSON, Markdown, text, or HTML; route raw document partitioning to partitioning and chunk composition to chunking.
disable-model-invocation
true
metadata.disco-role
operating
license
Apache 2.0

Elements and Metadata

Use this sub-skill when a task starts from already-partitioned Unstructured elements or element JSON and needs schema inspection, metadata debugging, coordinate reasoning, or format conversion. Do not use it to partition source documents or compose chunks.

Core Model

  • Elements are instances of unstructured.documents.elements.Element subclasses such as Title, NarrativeText, ListItem, Table, TableChunk, Image, Formula, CheckBox, CompositeElement, Header, Footer, and Text.
  • Serialized element dictionaries generally use type, element_id, text, and metadata; CheckBox also uses checked, while text elements may include embeddings.
  • ElementMetadata is sparse: unset fields are omitted from to_dict() and JSON output. Unknown ad-hoc metadata can exist, but known fields should be preferred for portable workflows.
  • CoordinatesMetadata requires both points and system; one without the other is invalid. Coordinate dictionaries include points, system, layout_width, and layout_height.
  • DataSourceMetadata lives under metadata.data_source and supports source-level fields such as url, version, record_locator, dates, and permissions.

See references/element-schema.md for concrete JSON examples and metadata field guidance.

Staging and Conversion

For in-process conversion, prefer unstructured.staging.base:

python
from unstructured.staging.base import elements_from_json, elements_to_json, elements_to_md

elements = elements_from_json(filename="elements.json")
markdown = elements_to_md(elements, exclude_binary_image_data=True)
json_text = elements_to_json(elements, indent=2)

For command-line use, use the bundled helpers:

bash
python sub-skills/elements-and-metadata/scripts/convert_elements_json.py elements.json --format markdown --output out.md
python sub-skills/elements-and-metadata/scripts/convert_elements_json.py elements.json --format ndjson --output out.ndjson
python sub-skills/elements-and-metadata/scripts/render_elements_html.py elements.json --output rendered.html

See references/staging-formats.md for JSON, NDJSON, Markdown, text, and HTML behavior.

Table Fidelity

  • Preserve metadata.text_as_html whenever table structure matters; Markdown and HTML conversion can use it for richer table output than plain element.text.
  • Preserve metadata.table_as_cells, table_id, chunk_index, and num_carried_over_header_rows when reconstructing or validating split tables.
  • Compact table HTML normalizes whitespace and strips cosmetic attributes, while preserving structural rowspan and colspan.
  • When converting or filtering element JSON, check that Table and TableChunk elements retain both text and structural metadata.
Show full SKILL.md (204 more words)Show less

Coordinates

  • RelativeCoordinateSystem uses width and height 1; PixelSpace is screen-oriented with origin at the upper-left; PointSpace is Cartesian with origin at the lower-left.
  • Conversion between coordinate systems may invert the y-axis depending on orientation. Use element.convert_coordinates_to_new_system(new_system, in_place=False) to inspect without mutation.
  • JSON round-trips should preserve all four coordinate fields. Missing layout_width or layout_height can prevent rehydrating concrete coordinate systems.

Debugging Flow

  1. Load JSON with elements_from_json() or scripts/convert_elements_json.py --inspect to catch malformed JSON early.
  2. Confirm each element has a supported type; unknown text-like types may be dropped by elements_from_dicts() if they are not mapped.
  3. Inspect metadata sparsely: missing keys often mean unset fields, not failed serialization.
  4. For coordinates, verify points and system are both present and that layout_width/layout_height match the originating page or image.
  5. For tables, compare text, metadata.text_as_html, and metadata.table_as_cells before and after conversion.
  6. For oversized orig_elements, image payloads, or compressed metadata, watch base64/gzip limits and prefer exclude_binary_image_data=True when rendering.

See references/troubleshooting.md for failure modes and fixes.

Boundaries

  • Raw document partitioning belongs to the partitioning sub-skill.
  • Chunking, CompositeElement, TableChunk composition, and chunk metadata consolidation belong to the chunking sub-skill unless the task is only inspecting existing chunk JSON.
  • Review/test artifacts should not be added to this runtime subtree.

© VectorSpaceLab, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in skills/repositories/repo-skills/unstructured/sub-skills/elements-and-metadata of VectorSpaceLab/AREX-Skill.

  • SKILL.md
  • references/element-schema.md
  • references/staging-formats.md
  • references/troubleshooting.md
  • scripts/convert_elements_json.py
  • scripts/render_elements_html.py

Open the folder on GitHubat commit ac3fe1a

Compare with similar skills

Elements And Metadata next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Elements And Metadata compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Elements And Metadata this skillVectorSpaceLab/AREX-Skill331—~1.3kAutomated safety check: PassApache-2.0
Custom Element Accessibilitythedaviddias/Front-End-Checklist74k—~655Automated safety check: PassMIT
Agent Adaptive Coordinatorruvnet/ruflo74k2 repos~4kAutomated safety check: PassMIT
Agent Consensus Coordinatorruvnet/ruflo74k2 repos~3.2kAutomated safety check: PassMIT
Agent Hierarchical Coordinatorruvnet/ruflo74k2 repos~2.8kAutomated safety check: PassMIT
Agent Memory Coordinatorruvnet/ruflo74k2 repos~1.2kAutomated safety check: PassMIT

Similar skills

  • Custom Element Accessibility

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing custom element class definitions or Web Component source code to check for missing ARIA reflection, keyboard handling, and form association.

    74k GitHub stars~655 tokensUpdated 4 days ago
    Frontend & DesignAuto-check passed
  • Agent skill for adaptive-coordinator - invoke with $agent-adaptive-coordinator

    74k GitHub starsUsed in 2 repos~4k tokens
    Data & AnalyticsAuto-check passed
  • Agent skill for consensus-coordinator - invoke with $agent-consensus-coordinator

    74k GitHub starsUsed in 2 repos~3.2k tokens
    Agent WorkflowsAuto-check passed
  • Agent skill for hierarchical-coordinator - invoke with $agent-hierarchical-coordinator

    74k GitHub starsUsed in 2 repos~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Agent skill for memory-coordinator - invoke with $agent-memory-coordinator

    74k GitHub starsUsed in 2 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Agent skill for mesh-coordinator - invoke with $agent-mesh-coordinator

    74k GitHub starsUsed in 2 repos~3.2k tokens
    Agent WorkflowsAuto-check passed

More from VectorSpaceLab/AREX-Skill

All 157 skills in this repo
  • Agent Lightning

    VectorSpaceLab/AREX-Skill

    Use this repo skill for Agent Lightning package tasks: authoring trainable agents, tracing rewards and spans, running LightningStore/Trainer loops, using agl CLI services, choosing examples, and…

    331 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Agent Tools

    VectorSpaceLab/AREX-Skill

    A skill your agent uses when configuring LiteLLM for MCP tools, A2A agents, Claude Code/Cursor agent gateway traffic, MCP auth/OAuth, tool permissions, semantic filtering, or agent-specific proxy…

    331 GitHub stars~1.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Agents And Awel

    VectorSpaceLab/AREX-Skill

    Build and debug DB-GPT agents, tools, skills, teams, and AWEL workflows, including deterministic local DAG runs and HTTP-trigger topology without assuming an LLM, credential, or external service.

    331 GitHub stars~2.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Agents And Middleware

    VectorSpaceLab/AREX-Skill

    Work on the actively maintained LangChain v1 agent package: initchatmodel, createagent, structured output, tools, middleware, embeddings initialization, provider routing, and agent runtime…

    331 GitHub stars~1.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Agents Workflows

    VectorSpaceLab/AREX-Skill

    A skill your agent uses for giskard.agents async chat workflows, tools, prompt templates, structured outputs, retries, rate limiting, embeddings, and optional LiteLLM backend.

    331 GitHub stars~500 tokensUpdated 1 mo ago
    Auto-check passed
  • Alphafold3

    VectorSpaceLab/AREX-Skill

    A skill your agent uses for AlphaFold 3 input preparation, prediction command planning, output interpretation, and Python API inspection.

    331 GitHub stars~1.2k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Elements And Metadata

What does Elements And Metadata do?

Understand and manipulate Unstructured Element classes, metadata, coordinates, data-source metadata, staging conversions, and bundled inspection helpers. Elements And Metadata is an agent skill from VectorSpaceLab/AREX-Skill. Understand and manipulate Unstructured Element classes, metadata, coordinates, data-source metadata, staging conversions, and bundled inspection helpers.

When should I use Elements And Metadata?

Elements And Metadata fits situations like: inspecting partition output JSON; preserving table metadata; converting element JSON to JSON; route raw document partitioning to partitioning and chunk composition to chunking.

How do I install Elements And Metadata in Claude Code?

Run `npx skills add VectorSpaceLab/AREX-Skill --skill elements-and-metadata -a claude-code`. Or copy the skill folder (skills/repositories/repo-skills/unstructured/sub-skills/elements-and-metadata in VectorSpaceLab/AREX-Skill) into .claude/skills/elements-and-metadata in your project. Claude Code loads it when a task matches its description.

How do I install Elements And Metadata in Codex?

Run `npx skills add VectorSpaceLab/AREX-Skill --skill elements-and-metadata -a codex`. Or copy the skill folder (skills/repositories/repo-skills/unstructured/sub-skills/elements-and-metadata in VectorSpaceLab/AREX-Skill) into .agents/skills/elements-and-metadata in your project. Codex loads it when a task matches its description.

Can I use Elements And Metadata in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add VectorSpaceLab/AREX-Skill --skill elements-and-metadata -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/elements-and-metadata, .gemini/skills/elements-and-metadata, .github/skills/elements-and-metadata and .opencode/skills/elements-and-metadata in your project.

What does Elements And Metadata need to run?

Going by SKILL.md and its folder, Elements And Metadata needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Elements And Metadata access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Elements And Metadata safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Elements And Metadata use?

Elements And Metadata is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Elements And Metadata use?

About 1.3k tokens (SKILL.md is roughly 5.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4k tokens, read only when the agent opens those files.

What are the alternatives to Elements And Metadata?

Skills that share tags, products or a category with Elements And Metadata: Custom Element Accessibility (thedaviddias/Front-End-Checklist, 74k stars), Agent Adaptive Coordinator (ruvnet/ruflo, 74k stars), Agent Consensus Coordinator (ruvnet/ruflo, 74k stars) and Agent Hierarchical Coordinator (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Elements And Metadata?

VectorSpaceLab (a GitHub organization) maintains it in VectorSpaceLab/AREX-Skill, which has 331 GitHub stars. The repository holds 157 skills in this directory. The repository was last updated on September 3, 2026.

Source: VectorSpaceLab/AREX-Skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.