From 3gpp-reader
Fetch and analyze 3GPP specifications from ETSI to extract protocol header formats, field definitions, bit layouts, valid ranges, and dispatch keys. Use when implementing protocols defined by 3GPP (e.g., GTP, PFCP, NAS).
How this skill is triggered — by the user, by Claude, or both
Slash command
/3gpp-reader:readThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Analyze 3GPP TS $0 and produce a structured summary for protocol dissector implementation.
Analyze 3GPP TS $0 and produce a structured summary for protocol dissector implementation.
This skill requires pandoc and libreoffice (for .doc → .docx conversion). Verify with:
pandoc --version
libreoffice --version
If not installed, stop and inform the user:
Required tools are missing. Please install them:
sudo apt-get install pandoc libreoffice-writer # Debian/Ubuntu brew install pandoc && brew install --cask libreoffice # macOS
3GPP spec numbering: TS AB.CDE → series AB, spec number ABCDE (e.g., TS 29.281 → series 29, number 29281).
curl -s "https://www.3gpp.org/ftp/Specs/archive/AB_series/AB.CDE/" | grep -oP 'href="[^"]*\.zip"' | sort -V | tail -5
https://www.3gpp.org/ftp/Specs/archive/29_series/29.281/curl -L -o /tmp/3gpp_spec.zip "<URL_OF_LATEST_ZIP>"
unzip -o /tmp/3gpp_spec.zip -d /tmp/3gpp_spec_docx/
.doc to .docx if neededSome older 3GPP specs are distributed in .doc format (MS Word 97-2003), which pandoc cannot read directly. Check whether the extracted file is .doc and convert it to .docx using LibreOffice:
if ls /tmp/3gpp_spec_docx/*.doc 1>/dev/null 2>&1 && ! ls /tmp/3gpp_spec_docx/*.docx 1>/dev/null 2>&1; then
libreoffice --headless --convert-to docx --outdir /tmp/3gpp_spec_docx/ /tmp/3gpp_spec_docx/*.doc
fi
The java warning (failed to launch javaldx) can be safely ignored.
Use the Lua filter in this skill's directory to preserve table structure (colspan/rowspan), which is critical for bit-level header format diagrams.
SKILL_DIR="$(dirname "$(find /home/user/packet-dissector/.claude/skills/3gpp-reader -name 'table-to-html.lua' -print -quit)")"
pandoc /tmp/3gpp_spec_docx/*.docx \
-f docx \
-t markdown \
--lua-filter="$SKILL_DIR/table-to-html.lua" \
-o /tmp/3gpp_spec.md
Read the converted Markdown using the Read tool.
NOTE: The Lua filter converts tables to raw HTML blocks, preserving colspan and rowspan attributes. This is essential for correctly interpreting bit-level header format diagrams where fields span multiple bit positions.
colspan values to determine how many bit positions each field spansrm -f /tmp/3gpp_spec.zip
rm -rf /tmp/3gpp_spec_docx/
rm -f /tmp/3gpp_spec.md
Every field MUST have a spec section citation. Temporary files MUST be cleaned up.
npx claudepluginhub higebu/skills --plugin 3gpp-readerFetches IETF RFCs as plain text, stores in spec/ directory, and generates OCamldoc citations for OCaml modules, functions, and types. Use for implementing standards and protocol compliance docs.
Captures and analyzes network traffic with Wireshark, tcpdump, tshark, Scapy for protocol reverse engineering, security research, and debugging proprietary protocols.
Guides capturing, analyzing, and documenting network protocols for security research, interoperability, and debugging tasks.