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

E7041 Obcp Definition

ASecurity

Validate an on-board control procedure definition before it is ever loaded, under ECSS-E-ST-70-41C clause 6.18.4.1. Use when the task is deciding whether a procedure the ground wrote can actually run aboard: checking identity and version against the definition store, matching it to an engine that carries the right language and a large enough procedure limit, separating mandatory arguments from defaulted ones, refusing an activation value of the wrong type, digesting a definition so ground and...

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

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 e7041-obcp-definition --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of E7041 Obcp Definition?

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

Security grade badge for E7041 Obcp Definition
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ashfordeou-e7041-obcp-definition/badge)](https://www.skillsdirectory.com/skills/ashfordeou-e7041-obcp-definition)

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

Download with Pro
Files
SKILL.md
---
name: e7041-obcp-definition
description: "Validate an on-board control procedure definition before it is ever loaded, under ECSS-E-ST-70-41C clause 6.18.4.1. Use when the task is deciding whether a procedure the ground wrote can actually run aboard: checking identity and version against the definition store, matching it to an engine that carries the right language and a large enough procedure limit, separating mandatory arguments from defaulted ones, refusing an activation value of the wrong type, digesting a definition so ground and spacecraft cannot disagree about which build is aboard, and sizing a whole definition set against the store. Trigger: ecss, e-st-70-41c, pus-packet-utilisation, obcp-definition, on-board-control-procedure-definition, obcp-engine-procedure-limit, obcp-argument-binding, obcp-definition-store-sizing."
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-70-41-packet-utilisation-scope, e7041-obcp-definition, on-board-control-procedure-definition, obcp-engine-procedure-limit, obcp-argument-binding, obcp-definition-digest, obcp-definition-store-sizing]
  version: 0.1.0
  author: Aero Agent Skills
---

# ECSS Packet Utilisation — OBCP Definition (space-systems/ecss/e7041-obcp-definition)

Use when the task is the on-board control procedure definition of
ECSS-E-ST-70-41C clause 6.18.4.1 -- the static, checkable description
the ground hands over before a procedure can ever be loaded, let alone
run.

## Domain quick reference

- An on-board control procedure is a small program the spacecraft runs
  by itself, so a sequence that has to react faster than a round trip
  -- a safing chain, a deployment, an instrument warm-up -- does not
  wait for the ground. The definition is everything that has to be true
  about it before it goes aboard.
- A definition settles four things and no more: an identity, the engine
  that interprets it, the arguments the ground may set at activation,
  and the observability level the ground expects to watch it at.
  Anything else belongs to loading or to execution, not here.
- Identity is a pair, not a name. Two procedures can share an id and
  differ in version, and a ground that tracks only the id will
  eventually command the wrong build. Grade the pair.
- An engine is not interchangeable with another engine. It carries a
  language and a maximum procedure size, and a procedure written for
  one is not runnable by another however similar the source looks.
- An argument is mandatory unless it declares a default. That single
  distinction is the whole of the activation contract: a mandatory
  argument with no value at activation is an activation that must not
  be attempted, and a default of the wrong type is a fault planted at
  definition time that only fires much later.
- Observability belongs to the definition because it decides what the
  engine has to instrument before the procedure is loaded. Asking for
  step-level visibility from an engine that only reports at procedure
  level is not an error the engine can repair at run time; the ground
  simply sees less than it was promised.
- A definition store has a finite size in octets. A set of definitions
  that each pass on their own can still not fit together, and the one
  that does not fit is decided by the order they are offered in.

## Workflow

1. Validate the definition: a non-empty id, a version of at least one,
   a named engine, a code size and step count of at least one, and a
   known observability level. Default the level to procedure level only
   when the definition omits it.
2. Validate every declared argument. Reject a duplicate name outright,
   and reject a default whose value does not match its declared type.
3. Resolve the engine. An unnamed or absent engine is a rejection, not
   a finding -- nothing aboard can interpret the procedure.
4. Compare the code size against the engine's procedure limit. Equal to
   the limit fits; over it is a rejection.
5. Compare the requested observability level against what the engine
   supports. A gap here is a finding, because the procedure still runs.
6. Separate mandatory arguments from defaulted ones and report the
   mandatory list, so the activation command can be written correctly.
7. Bind supplied values when an activation is being prepared: refuse an
   undeclared name, refuse a value of the wrong type, fill from the
   default where one exists, and raise on a mandatory argument with no
   value.
8. Digest the graded fields to compare two definitions. Agreement of
   digests, not of ids, is what says the same build is aboard.
9. Accumulate admissible definitions against the store capacity in
   offer order, and report the used, free and fill figures with the
   dispositions grouped.

## Pitfalls

- Tracking a procedure by id alone. The version is half the identity,
  and the half that changes.
- Treating a boolean as an integer argument. Python accepts it
  silently, the on-board engine does not, and the fault surfaces as a
  procedure that took a branch nobody predicted.
- Reading a missing observability level as no observability. An omitted
  level is procedure level by default; no observability is a level the
  definition has to ask for on purpose.
- Rejecting a procedure that is exactly at the engine's size limit. The
  limit is inclusive, and a strict comparison here throws away a
  procedure that fits.
- Letting a rejected definition consume store space. A definition that
  is never loaded occupies nothing, and charging it makes a later
  definition fail for a reason that does not exist.
- Comparing a fill fraction against a capacity with a strict
  inequality. Occupancy is exact in octets, so decide admission on the
  integers and keep the fraction for reporting.

## Behavior contract (gate 3)

The definition and argument validation, type matching, mandatory versus
defaulted separation, activation binding, definition digest, engine
resolution, procedure size limit, observability gap finding and the
store-sizing pass over a definition set are exercised by the gate 3
contract test: scripts/test_e7041_obcp_definition.py against
scripts/e7041_obcp_definition_logic.py (stdlib unittest, offline). Run:
python3 scripts/test_e7041_obcp_definition.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 →