ericsson-ran-features
npx skills add https://github.com/ricable/ruvector-edge --skill ericsson-ran-features
Agent 安装分布
Skill 文档
Ericsson 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) | --acronym |
--acronym IFLB |
| FAJ code | --faj |
--faj "121 4219" |
| CXC code | --cxc |
--cxc CXC4011911 |
| Parameter name | --param |
--param lbTp |
| Counter pattern | --counter |
--counter pmLb |
| Event name | --event |
--event INTERNAL_EVENT_MIMO |
| KPI name | --kpi |
--kpi "Success Rate" |
| MO class | --mo |
--mo EUtranCellFDD |
| Domain/category | --domain |
--domain "Energy Saving" |
| Keywords/text | --keyword |
--keyword "load AND balance" |
| Access type | --access |
--access LTE |
| Release version | --release |
--release "24.Q4" |
By Output Need
| Need | Flag | Result |
|---|---|---|
| Quick facts (3-5 lines) | --brief |
Concise summary |
| Full technical doc | --markdown |
Complete brief with cmedit |
| Commands only | --cmedit |
ENM cmedit commands |
| Feature comparison | --compare |
Side-by-side table |
| CSV export | --export csv |
Spreadsheet format |
| JSON export | --export json |
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 --name search |
| “No feature found with acronym” | Unknown acronym | Use --name 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
--fuzzyflag for typo tolerance - Use
--list-domainsto see available categories - Use
--list-releasesto see available 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 |
|---|---|
cmedit get |
Read current parameter values (grouped by MO class) |
cmedit set |
Modify parameter values (grouped by MO class) |
FeatureState 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 |
|---|---|
references/features.json |
All feature metadata with full details |
references/parameters.json |
Parameter â features reverse index |
references/counters.json |
Counter â features reverse index (with descriptions, units, types) |
references/mo_classes.json |
MO class â features/params/counters index |
references/releases.json |
Release version â changes index |
references/dependency_graph.json |
Feature dependency graph with activation order |
references/events.json |
Event â features reverse index |
references/kpis.json |
KPI â features reverse index |
references/index_acronym.json |
O(1) acronym â FAJ lookup |
references/index_cxc.json |
O(1) CXC â FAJ lookup |
references/index_categories.json |
Feature domain categorization |
references/index_guidelines.json |
Engineering guidelines subsections index |
references/index_search.json |
Inverted search index |
references/catalog.md |
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
search.pyto find relevant features - 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
deps.pyto see required features - Get CXC code – From search results or source file
- Read activation section – Use
--markdownflag for full details
# 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
--cmeditflag to get ready-to-use commands - Check current state – Run the FeatureState check command
- Review parameters – Read current values with GET commands
- Configure – Modify parameters with SET commands (replace
<value>placeholders) - 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