Claude-skill-registry ericsson-ran-features
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/ericsson-ran-features" ~/.claude/skills/majiayu000-claude-skill-registry-ericsson-ran-features && rm -rf "$T"
skills/data/ericsson-ran-features/SKILL.mdEricsson RAN Features
Knowledge base for Ericsson Radio Access Network features from official documentation.
Quick Start
1. Quick Lookup (Most Common)
# Brief structured output (3-5 lines with key facts) python3 scripts/search.py --acronym IFLB --brief python3 scripts/search.py --faj "121 4219" --brief python3 scripts/search.py --cxc CXC4011911 --brief
2. Technical Deep Dive
# Full markdown technical brief with cmedit commands python3 scripts/search.py --acronym IFLB --markdown # Detailed text output python3 scripts/search.py --acronym IFLB --verbose
3. Search Modes
# By acronym (e.g., IFLB, DUAC, MCPC, ANR, CA, MIMO) python3 scripts/search.py --acronym IFLB # By feature name (with typo tolerance using --fuzzy) python3 scripts/search.py --name "load balancing" python3 scripts/search.py --name "lod blancng" --fuzzy # By FAJ/CXC code python3 scripts/search.py --faj "121 4219" python3 scripts/search.py --cxc "CXC4011911" # By parameter name python3 scripts/search.py --param "lbTpNonQualFraction" # By counter/KPI python3 scripts/search.py --counter "pmLbEval" # By MO class python3 scripts/search.py --mo "EUtranCellFDD" # Boolean keyword search (AND, OR, NOT) python3 scripts/search.py --keyword "MIMO AND sleep" python3 scripts/search.py --keyword "load OR balancing" python3 scripts/search.py --keyword "handover NOT LTE" # By access type or release python3 scripts/search.py --access NR python3 scripts/search.py --release "24.Q4" # By event name (INTERNAL_EVENT_*, EVENT_PARAM_*) python3 scripts/search.py --event "INTERNAL_EVENT_MIMO" python3 scripts/search.py --event "UE_MOBILITY" # By KPI name or description python3 scripts/search.py --kpi "Success Rate" python3 scripts/search.py --kpi "throughput" # By functional domain/category python3 scripts/search.py --domain "Energy Saving" python3 scripts/search.py --domain "Carrier Aggregation" python3 scripts/search.py --list-domains # Show all available domains # By document type (non-feature technical docs) python3 scripts/search.py --doc-type hardware --limit 5 python3 scripts/search.py --doc-type troubleshooting --limit 5 python3 scripts/search.py --doc-type configuration --limit 5 python3 scripts/search.py --list-doc-types # Show all document categories # By document title python3 scripts/search.py --doc-title "Paging" --limit 5 python3 scripts/search.py --doc-title "Random Access" --limit 5 # Export results python3 scripts/search.py --access LTE --export csv > lte_features.csv python3 scripts/search.py --domain "MIMO" --export json > mimo_features.json
4. Compare Features
# Side-by-side comparison table python3 scripts/search.py --access LTE --compare --limit 5 python3 scripts/compare.py IFLB DUAC MSM python3 scripts/compare.py IFLB DUAC --deps # With dependency overlap python3 scripts/compare.py IFLB DUAC --params # With parameter differences
5. Data Quality Audit
python3 scripts/audit.py # Full audit report python3 scripts/audit.py --stats # Statistics only python3 scripts/audit.py --gaps # Missing data analysis
Dependency Commands
# Show all dependencies for a feature python3 scripts/deps.py "FAJ 121 4219" # Show features that depend on this one python3 scripts/deps.py --reverse "FAJ 121 3009" # List all features with conflicts python3 scripts/deps.py --conflicts # Compute activation order for multiple features (topological sort) python3 scripts/deps.py --activation-order IFLB DUAC MSM
Validation Commands
# Check if features can coexist (no conflicts) python3 scripts/validate.py IFLB DUAC MSM # Validate with detailed analysis (shows missing prerequisites) python3 scripts/validate.py IFLB DUAC --verbose # Check by FAJ codes python3 scripts/validate.py --faj "121 3009" "121 4219" # JSON output for automation python3 scripts/validate.py --json IFLB DUAC
6. Cross-Reference Queries
# Find all features that depend on this FAJ (have it as prerequisite) python3 scripts/search.py --depends-on "121 4219" # Find all prerequisites (features required by) this FAJ python3 scripts/search.py --required-by "121 4219" # Find all conflicting features python3 scripts/search.py --conflicts-with "121 4219"
7. Deployment Scripts
# Generate full activation script with prerequisites and cmedit commands python3 scripts/search.py --acronym IFLB --activation-script # Generate post-activation verification commands python3 scripts/search.py --acronym IFLB --verification-script
8. Dependency Visualization
# Generate mermaid diagram for dependency visualization python3 scripts/deps.py --mermaid IFLB
Output can be rendered in markdown viewers or pasted into https://mermaid.live
Decision Tree: Which Command to Use
By Identifier Type
| Have | Use | Example |
|---|---|---|
| Acronym (IFLB, DUAC) | | |
| FAJ code | | |
| CXC code | | |
| Parameter name | | |
| Counter pattern | | |
| Event name | | |
| KPI name | | |
| MO class | | |
| Domain/category | | |
| Keywords/text | | |
| Access type | | |
| Release version | | |
By Output Need
| Need | Flag | Result |
|---|---|---|
| Quick facts (3-5 lines) | | Concise summary |
| Full technical doc | | Complete brief with cmedit |
| Commands only | | ENM cmedit commands |
| Feature comparison | | Side-by-side table |
| CSV export | | Spreadsheet format |
| JSON export | | Machine-readable |
Common Workflows
Deployment Checklist:
# 1. Identify the feature python3 scripts/search.py --acronym IFLB --brief # 2. Check prerequisites python3 scripts/deps.py "FAJ 121 4219" # 3. Generate deployment commands python3 scripts/cmedit_generator.py --faj "121 4219" --format script --site "PARIS_01"
Troubleshooting:
# 1. Feature not activating? Check prerequisites first python3 scripts/deps.py "FAJ 121 4219" # 2. Conflict error? Validate coexistence python3 scripts/validate.py IFLB DUAC --verbose # 3. No counter data? Check source file python3 scripts/search.py --acronym IFLB --markdown | grep -A5 "Counters" # 4. Find related features by counter python3 scripts/search.py --counter "pmXxx" # 5. Check data quality/missing fields python3 scripts/audit.py --gaps
Feature Analysis:
# Compare multiple features python3 scripts/compare.py IFLB DUAC MCPC --all # Find all energy saving features python3 scripts/search.py --domain "Energy Saving" --export csv
Error Handling
| Error | Cause | Solution |
|---|---|---|
| "No feature found with FAJ code" | Invalid FAJ | Check catalog.md or use search |
| "No feature found with acronym" | Unknown acronym | Use with partial match |
| "No features found for access type" | Type not in dataset | Only LTE, NR, GSM supported |
| "0 results" for keyword | Too specific query | Use OR, try broader terms |
| "cannot be empty" error | Empty query string | Provide valid search term |
Tips:
- If exact match fails, add
flag for typo tolerance--fuzzy - Use
to see available categories--list-domains - Use
to see available releases--list-releases - For boolean searches, test each term separately first
cmedit Command Generation
Generate ready-to-use ENM cmedit CLI commands for feature configuration:
# Generate cmedit commands for a feature (grouped by MO class) python3 scripts/search.py --acronym IFLB --cmedit # Markdown output automatically includes cmedit commands python3 scripts/search.py --acronym IFLB --markdown # Standalone cmedit generator with different output formats python3 scripts/cmedit_generator.py --faj "121 4219" # Text output python3 scripts/cmedit_generator.py --faj "121 4219" --format markdown # Markdown python3 scripts/cmedit_generator.py --faj "121 4219" --format script # Shell script python3 scripts/cmedit_generator.py --faj "121 4219" --format json # JSON # Collection-scoped commands python3 scripts/cmedit_generator.py --faj "121 4219" --scope collection --collection-name "paris_cells"
Generated Command Types
| Command | Description |
|---|---|
| Read current parameter values (grouped by MO class) |
| Modify parameter values (grouped by MO class) |
check | Verify feature state, license, and service status |
| Activation | Activate feature via FeatureState MO |
| Deactivation | Deactivate feature via FeatureState MO |
Example Output
# MIMO Sleep Mode [MSM] # FAJ: FAJ 121 3094 | CXC: CXC4011808 ## Check Feature State cmedit get <SITE_NAME> FeatureState=CXC4011808 featureState,licenseState,serviceState ## Read Parameters (grouped by MO Class) # MimoSleepFunction (17 params) cmedit get <SITE_NAME> MimoSleepFunction.(sleepMode,sleepStartTime,sleepEndTime,...) ## Modify Parameters (grouped by MO Class) # MimoSleepFunction - Set 17 params on MimoSleepFunction cmedit set <SITE_NAME> MimoSleepFunction sleepMode=<value>,sleepStartTime=<value>,... ## Activation cmedit set <SITE_NAME> FeatureState=CXC4011808 featureState=ACTIVATED ## Deactivation cmedit set <SITE_NAME> FeatureState=CXC4011808 featureState=DEACTIVATED
Markdown Output Format
Use
--markdown or -m flag to get comprehensive technical brief output:
## Feature Name [ACRONYM] **FAJ:** FAJ 121 XXXX | **CXC:** CXCXXXXXXX | **Access:** LTE | **License:** Required Summary description... ### Dependencies - **Prerequisites:** Feature Name (FAJ XXX XXXX) - **Related:** Feature1, Feature2 (+N more) - **Conflicts:** Conflicting Feature ### Network Impact **Capacity/Performance:** Impact description... **Other Network Elements:** Network effects... ### Activation **Prerequisites:** - License key is installed - CCTR active for one week **Steps:** 1. Set FeatureState.featureState to ACTIVATED in FeatureState=CXCXXXXXXX **After:** Keep CCTR active for one week ### Deactivation 1. Set FeatureState.featureState to DEACTIVATED in FeatureState=CXCXXXXXXX ### Parameters | Parameter | Type | Description | |-----------|------|-------------| | MO.attribute | Introduced | Short description | ### Counters | Counter | MO Class | |---------|----------| | pmCounterName | EUtranCellFDD | ### KPIs | KPI | Description | |-----|-------------| | Mobility Success Rate | The Mobility Success Rate KPI... | ### Engineering Guidelines Configuration recommendations and formulas... **Sections:** Configuration, Tuning Parameters ### Change History | Release | Change | |---------|--------| | 24.Q4 | Enhancement for EN-DC Support | | 23.Q2 | Added new parameter | **Source:** `path/to/file.md`
Reference Files
| File | Purpose |
|---|---|
| All feature metadata with full details |
| Parameter → features reverse index |
| Counter → features reverse index (with descriptions, units, types) |
| MO class → features/params/counters index |
| Release version → changes index |
| Feature dependency graph with activation order |
| Event → features reverse index |
| KPI → features reverse index |
| O(1) acronym → FAJ lookup |
| O(1) CXC → FAJ lookup |
| Feature domain categorization |
| Engineering guidelines subsections index |
| Inverted search index |
| Quick scan of all features |
Source Files
Feature source markdown files are in
source/ directory (symlink to ../elex_features/).
The
file field in features.json contains the relative path from source directory:
"file": "en_lzn7931040_r50f_batch3/461_22104-LZA7016014_1Uen.AN33B.md"
To read a feature's full source:
# From skill directory cat source/<file_path> # Example for UTTM cat source/en_lzn7931040_r50f_batch3/461_22104-LZA7016014_1Uen.AN33B.md
Note: Most queries can be answered directly from features.json without reading source files. Only read source files when you need:
- Full engineering guidelines text
- Detailed feature operation explanations
- Complete parameter descriptions
- Images or diagrams referenced in the document
Feature Document Structure
Each feature markdown file contains these sections:
| Section | Content |
|---|---|
| Overview | Feature name, FAJ, Value Package, Access Type, Licensing |
| Dependencies | Prerequisites, Related features, Conflicts |
| Feature Operation | How the feature works technically |
| Network Impact | Capacity, performance, interface effects |
| Parameters | MO.attribute names with types |
| Performance | KPIs, PM counters, Events |
| Activate | Activation procedure with CXC code |
| Deactivate | Deactivation procedure |
| Engineering Guidelines | Configuration recommendations |
| Appendix: Change History | Release-specific changes (23.Q4, 24.Q3.0, etc.) |
Key Identifiers
| ID Type | Format | Example | Purpose |
|---|---|---|---|
| Acronym | 2-6 letters | IFLB, DUAC, MCPC | Quick feature lookup |
| FAJ | FAJ XXX XXXX | FAJ 121 4219 | Feature identity |
| CXC | CXC4XXXXXX | CXC4011911 | Activation code (FeatureState MO) |
| Parameter | MO.attribute | EUtranCellFDD.lbTpNonQualFraction | Configuration |
| Counter | MO.pmXxx | EUtranCellFDD.pmLbEvalExpiredUe | Performance measurement |
Common Acronyms
| Acronym | Feature Name |
|---|---|
| IFLB | Inter-Frequency Load Balancing |
| DUAC | Dynamic UE Admission Control |
| MCPC | Mobility Control at Poor Coverage |
| ANR | Automated Neighbor Relations |
| CA | Carrier Aggregation |
| MIMO | Multiple-Input Multiple-Output |
| TTI | Transmission Time Interval |
| DRX | Discontinuous Reception |
| CSFB | CS Fallback |
| VoLTE | Voice over LTE |
Dependency Types
| Type | Meaning |
|---|---|
| Prerequisite | Must be activated before this feature |
| Related | Works together, may affect behavior |
| Conflicting | Cannot be used simultaneously |
Parameter Types
| Type | Meaning |
|---|---|
| Introduced | New parameter specific to this feature |
| Affecting | Existing parameter that influences this feature |
| Affected | Parameter modified by this feature |
Workflow: Answer Feature Questions
- Search - Use
to find relevant featuressearch.py - Read - Load the source markdown file for full details
- Synthesize - Combine information from multiple features if needed
# User asks: "What parameters control load balancing?" python3 scripts/search.py --param "lb" --limit 20
Workflow: Activation Procedure
- Find feature - Search by name or FAJ code
- Check prerequisites - Use
to see required featuresdeps.py - Get CXC code - From search results or source file
- Read activation section - Use
flag for full details--markdown
# Get feature with full activation procedure python3 scripts/search.py --name "IFLB" --markdown # Check what needs to be activated first python3 scripts/deps.py "FAJ 121 4219"
Workflow: Feature Deployment with cmedit
- Find feature - Search by name, acronym, or FAJ code
- Generate cmedit commands - Use
flag to get ready-to-use commands--cmedit - Check current state - Run the FeatureState check command
- Review parameters - Read current values with GET commands
- Configure - Modify parameters with SET commands (replace
placeholders)<value> - Activate - Run the activation command
# Step 1-2: Get feature info with cmedit commands python3 scripts/search.py --acronym MSM --cmedit # Or generate a deployment script python3 scripts/cmedit_generator.py --faj "121 3094" --format script --site "PARIS_NORTH_LTE" > deploy_msm.sh # For collection operations python3 scripts/cmedit_generator.py --faj "121 3094" --scope collection --collection-name "northern_sites"
Statistics
- Features: 530 indexed
- Parameters: 3834 tracked
- Counters: 3124 unique (with descriptions, units, types where available)
- MO Classes: 629 indexed
- Releases: 49 tracked (from 17.Q3 to 25.Q2)
- Events: 103 features with event data (19.4%)
- KPIs: 93 features with KPI data (17.5%)
- Engineering Guidelines: 266 features (50.2%)
- Access Types: LTE, NR, WCDMA, GSM
Claude Output Guidelines
When answering user questions about Ericsson RAN features:
Quick Questions
"What is IFLB?", "What's the CXC for MIMO Sleep?"
Use
--brief output for concise technical summary:
python3 scripts/search.py --acronym IFLB --brief
Output format (3-5 lines):
Inter-Frequency Load Balancing [IFLB] FAJ 121 3009 | CXC4011319 | LTE | License: Yes Params: 26 | Counters: 23 | Prereqs: Coverage-Trigger Activate: cmedit set <SITE> FeatureState=CXC4011319 featureState=ACTIVATED
How-To Questions
"How to activate IFLB?", "How to configure load balancing?"
Use
--markdown for full technical brief with activation steps:
python3 scripts/search.py --acronym IFLB --markdown
Focus on Activation and Parameters sections in response.
Comparison Questions
"Difference between IFLB and DUAC?", "Which load balancing feature?"
Use
--compare for side-by-side table:
python3 scripts/compare.py IFLB DUAC --deps
Troubleshooting
"Why is IFLB not working?", "Feature activation failed"
Check dependencies and prerequisites:
python3 scripts/deps.py "FAJ 121 3009"
List relevant counters for monitoring.
Parameter/Counter Lookup
"What parameters control load balancing?"
Use parameter or counter search:
python3 scripts/search.py --param "lb" --brief python3 scripts/search.py --counter "pmLb" --brief
Response Style
- Use technical, concise language
- Include FAJ/CXC codes for reference
- Provide cmedit commands when deployment-related
- Mention prerequisites before activation steps
- Reference source file for detailed documentation