Extract structured entities from unstructured text with character-level source grounding and interactive visualization. Supports NER, relation extraction, and information extraction with exact position mapping and highlighted widget output. Handles PDFs, DOCX, and plain text.
Published by rebyteai
Runs in the cloud
No local installation
Dependencies pre-installed
Ready to run instantly
Secure VM environment
Isolated per task
Works on any device
Desktop, tablet, or phone
Extract structured entities from any document (PDF, DOCX, or text) with character-level source grounding and interactive visualization. Inspired by google/langextract.
This is a workflow skill that composes:
The extraction pipeline is:
bin/align.py to ground extractions to exact character positionsIf the source is a PDF, use the pdf skill to extract text.
If the source is a DOCX, use the docx skill to extract text.
If the source is a URL to a PDF, first download it then extract text with the pdf skill.
If the source is plain text (pasted or .txt file), skip this step.
Ask the user (or infer from context):
Analyze the source text and extract entities as JSON. Output format:
[
{
"extraction_class": "medication",
"extraction_text": "Aspirin",
"attributes": {"dosage": "100mg", "frequency": "daily"}
},
{
"extraction_class": "condition",
"extraction_text": "hypertension",
"attributes": {"severity": "moderate"}
}
]
Rules:
extraction_text MUST be an exact substring of the source text (verbatim, case-sensitive)extraction_class is the entity typeattributes is optional key-value metadata about the entityIf the text exceeds ~4000 characters, chunk it:
Save the source text and extractions, then run the aligner:
# Write input JSON
cat > /tmp/lx_input.json << 'ENDJSON'
{
"source": "<the full source text>",
"extractions": [
{"extraction_class": "...", "extraction_text": "...", "attributes": {...}},
...
]
}
ENDJSON
# Run alignment (adjust path to where the skill is installed)
python3 bin/align.py --stdin < /tmp/lx_input.json > /tmp/lx_output.json
For CJK/non-spaced languages (Japanese, Chinese, Thai), add --unicode:
python3 bin/align.py --stdin --unicode < /tmp/lx_input.json > /tmp/lx_output.json
The output adds char_interval (start_pos, end_pos) and alignment_status to each extraction.
After alignment, generate an interactive visualization showing highlighted source text with entity annotations.
Read the aligned output from /tmp/lx_output.json and generate the visualization.
Build highlighted HTML by:
char_interval.start_pos<span> with a tooltip</span>The visualization should include:
Input: "Patient takes Aspirin 100mg every morning for hypertension."
Extract:
[
{"extraction_class": "medication", "extraction_text": "Aspirin", "attributes": {"dosage": "100mg", "frequency": "every morning"}},
{"extraction_class": "condition", "extraction_text": "hypertension"}
]
After alignment, each extraction gets char_interval with exact character positions, e.g.:
Visualization shows the source text with "Aspirin" and "hypertension" highlighted in different colors, clickable tooltips showing attributes, and a legend for filtering by class.
extraction_text is an exact verbatim substring — avoid paraphrasing--unicode flag for any non-Latin textEveryone else asks you to install skills locally. On Rebyte, just click Run. Works from any device — even your phone. No CLI, no terminal, no configuration.
Claude Code
Gemini CLI
Codex
Cursor, Windsurf, Amp
Scrape web pages using Scrapling with anti-bot bypass (like Cloudflare Turnstile), stealth headless browsing, spiders framework, adaptive scraping, and JavaScript rendering. Use when asked to scrape, crawl, or extract data from websites; web_fetch fails; the site has anti-bot protections; write Python code to scrape/crawl; or write spiders.
Conduct enterprise-grade research with multi-source synthesis, citation tracking, and verification. Use when user needs comprehensive analysis requiring 10+ sources, verified claims, or comparison of approaches. Triggers include "deep research", "comprehensive analysis", "research report", "compare X vs Y", or "analyze trends". Do NOT use for simple lookups, debugging, or questions answerable with 1-2 searches.
Generate images from text prompts or edit existing images using Google Nano Banana 2 (Gemini 3.1 Flash image generation) via Rebyte data API. Supports multi-size output (512px–4K), improved text rendering, and multi-image input. Use for text-to-image generation or image-to-image editing/enhancement. Triggers include "generate image", "create image", "make a picture", "draw", "illustrate", "image of", "picture of", "edit image", "modify image", "enhance image", "style transfer", "nano banana".
Deploy web applications to Rebyte Cloud — a managed deployment platform (like Vercel). Supports Node.js SSR frameworks (auto-detect), static sites, Python, Go, and Rust backends. Deploys via `rebyte deploy` with zero configuration for Node.js, or via `rebyte.json` for other languages.
rebyte.ai — The only platform where you can run AI agent skills directly in the cloud
No downloads. No configuration. Just sign in and start using AI skills immediately.
Use this skill in Agent Computer — your shared cloud desktop with all skills pre-installed. Join Moltbook to connect with other teams.