Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

E5053 Protocol Identifier

ASecurity

Validate the protocol identifier field of a SpaceWire packet carrying the CCSDS packet transfer protocol under ECSS-E-ST-50-53C clause 5.5.4.1: confirm a sender wrote the assigned value and nothing else, and on the receiving side separate a transfer belonging to another protocol on the shared link, a zero announcing an extended identifier with further octets to read, and a value held back from assignment, so demultiplexing never reports other traffic as a fault. Use when encoding, demultiplex...

2 stars
0 votes
0 copies
0 views
Added 9/27/2026
ai-agentspythongonodetesting

Works with

claude code

Security Analysis

A100/100

Scanned 9/27/2026

Install to Claude Code

$npx -y skills add ashfordeOU/aero-agent-skills --skill e5053-protocol-identifier --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of E5053 Protocol Identifier?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for E5053 Protocol Identifier
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ashfordeou-e5053-protocol-identifier/badge)](https://www.skillsdirectory.com/skills/ashfordeou-e5053-protocol-identifier)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: e5053-protocol-identifier
description: "Validate the protocol identifier field of a SpaceWire packet carrying the CCSDS packet transfer protocol under ECSS-E-ST-50-53C clause 5.5.4.1: confirm a sender wrote the assigned value and nothing else, and on the receiving side separate a transfer belonging to another protocol on the shared link, a zero announcing an extended identifier with further octets to read, and a value held back from assignment, so demultiplexing never reports other traffic as a fault. Use when encoding, demultiplexing or fault-finding SpaceWire protocol identifiers. Trigger: ecss, e-st-50-53c, spacewire-protocol-identifier, spacewire-protocol-demultiplex, extended-protocol-identifier, reserved-protocol-identifier, shared-spacewire-link, ccsds-transfer-encoding."
license: Apache-2.0
compliance: STANDARDS-REF
standards:
  - id: ecss
    reference-only: true
gated: false
domain: space-systems
pack: space-systems
compatibility: "agentskills.io SKILL.md; any SKILL.md host (Claude Code, Hermes, OpenClaw)"
metadata:
  domain: space-systems
  subdomain: ecss
  tags: [ecss, e-st-50-53-ccsds-packet-transfer, e5053-protocol-identifier, spacewire-protocol-identifier, spacewire-protocol-demultiplex, extended-protocol-identifier, reserved-protocol-identifier, shared-spacewire-link]
  version: 0.1.0
  author: Aero Agent Skills
---

# ECSS SpaceWire CCSDS Transfer — Protocol Identifier (space-systems/ecss/e5053-protocol-identifier)

Use when the task is the protocol identifier field of a SpaceWire packet
carrying the CCSDS packet transfer protocol, per ECSS-E-ST-50-53C clause
5.5.4.1 — writing it on the sending side, and deciding what a received
value means on a link several protocols share.

## Domain quick reference

- The identifier sits immediately after the address octets and before
  the reserved octet. It is the only thing telling a receiving node
  which entity the rest of the transfer belongs to, so it is read
  before any payload field and cannot be inferred from the payload.
- One value is assigned to this protocol. Clause 5.5.4.1 gives the
  sender a single legal choice, which makes the sending-side check an
  equality and not a range test.
- The receiving side is a different question with a different answer
  set. A value assigned to another protocol is ordinary traffic on a
  shared link, not an error, and a receive path that reports it as one
  will bury real faults under routine noise.
- Zero is not a protocol; it announces that the real identifier is
  carried in the octets that follow. A receiver seeing it has to read
  further before it can decide anything, which is a third outcome
  distinct from both "mine" and "somebody else's".
- A band of values is held back from assignment. Seeing one is a
  genuine finding, because no entity owns it and the transfer therefore
  has no destination, which is exactly the case an "is it mine?" test
  collapses into a silent no.

## Workflow

1. Validate the field as a single octet; anything outside 0..255, or
   not an integer, is a decoding defect rather than an unknown protocol.
2. Categorize the value into one of the outcomes that matter: assigned
   to this protocol, extended identifier announced, assigned to another
   protocol, held back from assignment, or simply unassigned.
3. On the sending side, require the assigned value exactly. Report any
   other value as a sender defect naming both what was written and what
   this protocol carries.
4. On the receiving side, answer two questions separately: is this
   transfer mine, and is anything wrong. Another protocol's identifier
   answers no to the first and no to the second.
5. Where an extended identifier is announced, report how many further
   octets must be read before the demultiplexing decision can be made
   at all.
6. Return the category with the verdict, so a caller can route, park or
   raise on the same result without re-deriving the reasoning.

## Pitfalls

- Testing the received identifier for equality with the assigned value
  and treating every inequality as an error. That is the sending-side
  rule applied to the receiving side, and on a shared link it reports
  every other protocol as a fault.
- Reading zero as an unassigned or malformed value. It is a marker with
  a defined continuation, and a receiver that discards on it drops
  traffic that was correctly formed.
- Letting a held-back value pass as "not mine". No entity owns it, so
  nobody will report it, and a transfer that silently belongs to nobody
  is the hardest kind of fault to find later.
- Inferring the protocol from the shape of the payload when the
  identifier is unexpected. The identifier is the demultiplexer; a
  payload that looks like a space packet under another identifier is
  not this protocol's traffic.
- Placing the identifier by counting from the start of the transfer
  without knowing how the node was addressed. A path-addressed transfer
  arrives with its address octets already consumed, and counting from
  the wrong origin reads a payload octet as the identifier.

## Behavior contract (gate 3)

The octet validation, value categorization, sending-side equality rule,
receiving-side demultiplexing and extended-identifier continuation are
exercised by the gate 3 contract test:
scripts/test_e5053_protocol_identifier.py against
scripts/e5053_protocol_identifier_logic.py (stdlib unittest, offline).
Run:
python3 scripts/test_e5053_protocol_identifier.py

## Compliance

- ECSS standards are freely downloadable (ESA); cite the source and
  paraphrase per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.

Attribution

ashfordeOUashfordeOU
View sourceMore from ashfordeOU →
SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

694821 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →