Install
$ agentstack add skill-cxcscmu-skilllearnbench-json-data-extraction ✓ 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 Used
- ✓ 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.
About
JSON Data Extraction from Enterprise Data
Overview
This skill covers parsing and extracting information from large JSON files containing enterprise data like employee records, Slack messages, and product metadata.
Use Cases
- Extracting specific fields from employee databases
- Searching through Slack message histories for mentions or keywords
- Finding relationships between employees and documents/reports
- Aggregating data across multiple JSON sources
Installation & Setup
# Python has built-in json module, no installation needed
python3 -c "import json; print('JSON module available')"
Code Examples
Basic JSON Loading
import json
with open('/root/DATA/metadata/employee.json', 'r') as f:
employee_data = json.load(f)
# Access specific employee
employee = employee_data.get('eid_1e9356f5', {})
Extracting Data with Filters
import json
with open('/root/DATA/products/ContentForce.json', 'r') as f:
product_data = json.load(f)
# Extract Slack messages mentioning specific employee
messages = product_data.get('slack', [])
for msg in messages:
if 'Market Research Report' in msg.get('Message', {}).get('text', ''):
print(msg)
Extracting IDs from Text
import re
def extract_employee_ids(text):
"""Extract employee IDs (format: eid_xxxxxxxx) from text"""
pattern = r'eid_[a-f0-9]{8}'
return re.findall(pattern, text)
# Usage
text = "@eid_1e9356f5 created this channel. @eid_06cddbb3 joined."
ids = extract_employee_ids(text) # Returns ['eid_1e9356f5', 'eid_06cddbb3']
Finding Report Authors and Reviewers
import json
import re
def find_report_authors_and_reviewers(product_json_path, report_name):
"""Find employees who authored/reviewed a report"""
with open(product_json_path, 'r') as f:
data = json.load(f)
authors = set()
reviewers = set()
messages = data.get('slack', [])
for msg in messages:
text = msg.get('Message', {}).get('text', '')
if report_name.lower() in text.lower():
# Author: person sharing the report
author_id = msg.get('Message', {}).get('User', {}).get('userId')
if author_id and author_id.startswith('eid_'):
authors.add(author_id)
# Reviewers: people responding in thread
for reply in msg.get('ThreadReplies', []):
reviewer_id = reply.get('User', {}).get('userId')
if reviewer_id and reviewer_id.startswith('eid_'):
reviewers.add(reviewer_id)
return list(authors), list(reviewers)
Best Practices
- Memory Efficiency: For large files, process in chunks rather than loading entire file
- Error Handling: Always check if keys exist before accessing nested values
- ID Pattern Matching: Employee IDs follow format
eid_followed by 8 hex characters - Text Search: Use case-insensitive matching for report/document names
- Deduplication: Use sets to avoid duplicate IDs before converting to lists
Common Patterns
Pattern 1: Search for Document Mentions
Look for link syntax in Slack: ``
Pattern 2: Extract User IDs from Messages
- Author:
Message.User.userId - Reviewers:
Message.ThreadReplies[].User.userId - Mentions: Look for
@eid_patterns in message text
Pattern 3: Cross-Reference Data
Load employee.json to map IDs to names if needed for verification
Token Tracking
When using this with APIs, track token consumption:
# After API calls
tokens_used = response.usage.input_tokens + response.usage.output_tokens
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: cxcscmu
- Source: cxcscmu/SkillLearnBench
- License: MIT
- Homepage: https://cxcscmu.github.io/SkillLearnBench
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.