Skip to content

shaktibarath/sf-metadata-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SAP SuccessFactors OData Metadata Parser

Claude Code Plugin — Parse SAP SuccessFactors $metadata XML into user-friendly Excel data dictionaries, Word reports, CSV exports, and instance comparison reports.

License: MIT Claude Code Plugin Agent Skill


The Problem

Every SAP SuccessFactors instance exposes a $metadata OData endpoint — a massive XML schema (often 50,000+ lines) describing every entity, field, type, constraint, and relationship in the system. This is the single source of truth for:

  • What fields exist on any entity
  • Which fields are required, creatable, updatable, filterable
  • How entities relate to each other
  • What custom fields (cust_*) have been added

But no human should have to read 50K lines of XML to find this information.

What This Skill Does

Give Claude your $metadata XML file and ask for what you need:

Ask Claude... You Get...
"Parse this metadata into an Excel data dictionary" Multi-sheet workbook with Summary, All Fields, per-entity sheets, Navigation Properties
"What fields are on EmpJob?" Clean table with field name, type, required, creatable, filterable
"Compare these two metadata files" Side-by-side diff showing entities and fields only in each instance
"Generate a data dictionary document" Professional Word doc with TOC, entity catalog, field tables
"Export all fields to CSV" Flat file with every field across all entities, UTF-8 with BOM
"Show me all custom fields" Filtered view of cust_* fields grouped by entity
"Which entities have navigation to User?" Relationship map with cardinality

Output Formats

  • 📊 Excel (.xlsx) — Multi-sheet workbook with SAP-blue formatting, color-coded key/required/custom fields, auto-filters, freeze panes
  • 📄 Word (.docx) — Formal data dictionary report with cover page, TOC, entity detail pages
  • 📋 CSV — Flat export for integration tools, data governance platforms
  • 🌐 HTML — Interactive single-file data dictionary with search and entity navigation
  • 🔄 Comparison Report — Instance diff showing entity/field-level drift between environments

Installation

Claude Code (Recommended)

# Install directly from GitHub
/plugin install shaktibarath/sf-metadata-parser

Claude Code — Manual Install

# Clone to your personal skills directory
git clone https://github.com/shaktibarath/sf-metadata-parser.git
cp -r sf-metadata-parser/skills/sf-metadata-parser ~/.claude/skills/

Claude Code — As a Marketplace

# Register as a marketplace to get updates
/plugin marketplace add shaktibarath/sf-metadata-parser
/plugin install sf-metadata-parser@sap-successfactors-tools

Claude.ai (Web/Mobile)

Upload the SKILL.md file as a custom skill in your Claude settings, or upload your $metadata XML file directly and ask Claude to parse it.

Claude API

Use the Skills API to load this skill programmatically.

Usage Examples

Basic: Parse a metadata file

Upload your $metadata XML file to Claude, then:

"Parse this SuccessFactors metadata into an Excel data dictionary"

Specific entity lookup

"What are all the fields on the EmpJob entity? Show me which are required and filterable."

Instance comparison

Upload two metadata files (e.g., from DEV and PROD), then:

"Compare these two metadata files and show me what's different between the instances"

Custom field audit

"List all custom fields (cust_*) grouped by entity with their data types"

Integration mapping

"Create a CSV mapping file for all Employee Central entities showing field name, type, max length, and whether it's creatable via API"

Entity Categories

The skill automatically categorizes SF entities into logical groups:

Category Example Entities
Employee Central User, EmpEmployment, EmpJob, PerPersonal, PerEmail
Position Management Position, PositionCompetencyMapping
Recruiting JobRequisition, JobApplication, Candidate
Performance & Goals FormTemplate, FormHeader, Goal_*
Compensation EmpPayCompRecurring, EmpPayCompNonRecurring
Time Management EmployeeTime, TimeAccount, TimeType
Foundation Objects FOCompany, FODepartment, FOLocation, FOJobCode
Platform / Security RBPRole, DynamicGroup, Permission
Custom MDF cust_* (customer-created objects)

Excel Output Features

  • SAP-blue header styling with professional color scheme
  • Color-coded rows: Yellow = key fields, Red = required, Blue = custom, Gray = read-only
  • Frozen header rows and auto-filters on every sheet
  • Summary sheet with entity counts, field stats, and category breakdown
  • Legend sheet explaining all colors and abbreviations
  • Auto-sized columns optimized for readability

Repository Structure

sf-metadata-parser/
├── .claude-plugin/
│   ├── plugin.json           # Plugin manifest
│   └── marketplace.json      # Marketplace definition
├── skills/
│   └── sf-metadata-parser/
│       └── SKILL.md          # The skill instructions
├── examples/
│   └── sample-usage.md       # Example prompts and outputs
├── README.md
├── LICENSE
└── .gitignore

Requirements

  • Claude Pro, Max, Team, or Enterprise plan (for Claude.ai skills)
  • Claude Code (for plugin installation)
  • No external dependencies — the skill uses Python standard library + openpyxl (pre-installed in Claude's environment)

Contributing

Contributions welcome! Areas where help is appreciated:

  • Additional entity categorization rules for newer SF modules (e.g., Workforce Analytics, Succession)
  • Improved namespace detection for different OData versions
  • Templates for specific output formats (e.g., SAP Activate data migration templates)
  • Localization of field labels

License

MIT License — see LICENSE for details.

About

Built by an SAP SuccessFactors consultant who got tired of reading XML. If you find this useful, give it a ⭐ on GitHub!


Keywords: SAP, SuccessFactors, OData, metadata, $metadata, EDMX, data dictionary, Employee Central, HCM, HR, entity schema, field mapping, integration, Claude, AI, automation