
Claude Skills by ashfordeOU
github.com/ashfordeOUAllocate one space communication link between isochronous flows that must arrive on a fixed cadence and asynchronous traffic that may wait, under ECSS-E-ST-50C clause 5.6.9: the periodic flows reserve capacity, the rest carries the best-effort load, and neither is allowed to destroy the other. Compute the reservation, the jitter a non-preemptible best-effort transfer injects into the cadence, the wait a best-effort unit sees behind it, and the segment size or link rate that restores both. Use...
Assess whether the noise sources acting on a receiving chain have been identified, then add them at one reference plane, per ECSS-E-ST-50C Rev.2 clause 5.6.6. Use when a link budget needs a system noise temperature that can be defended: check that sky, atmosphere, ground spillover, feed loss and front end are each named, refer every source through the loss between its own plane and the reference plane, credit a lossy run with the noise it generates as well as the noise it attenuates, and repo...
Evaluate an on-board network against its error-rate budget under ECSS-E-ST-50C clause 5.7.1.8. Turn a channel bit error rate into a frame error rate for the frame length in use, derive errored frames per second and the mean time between errored frames at the offered traffic rate, estimate the residual undetected error rate left after the frame check sequence, project undetected errors across the mission, and compare raw and residual figures with the required values. Use when writing or review...
Validate the exception reporting a declared on-board network catalogue actually delivers, under ECSS-E-ST-50C clause 5.7.2.6, whose two normative items ask for a reporting function that lets every error the network detects be reported, and fix which events have to count as exceptions in the first place. Walk each required exception down a four-rung ladder — never detected, detected but never sent, sent without the identification, source or time somebody has to act on, sent too late to act at ...
Audit the management service an on-board network offers over its own resources, under ECSS-E-ST-50C clause 5.7.2.4, where a resource counts as managed only when the service reaches it for every operation it is owed and can still reach it when that resource has failed. Compute per-resource operation coverage against the required set, then test each management path for the two faults that matter: a path that runs through the resource it manages, and a hop nobody in the inventory manages. Report...
Determine the worst-case medium-access delay a node suffers on an on-board network, and whether that delay is bounded at all, per ECSS-E-ST-50C clause 5.7.1.5. Apply the arbitration actually used, whether time-slotted rounds, token rotation, fixed-priority bitwise arbitration or plain contention, compute the access delay each one allows, flag a scheme that gives no bound, and report medium utilisation with the node that waits longest. Use when choosing or reviewing an on-board bus arbitration...
Assess whether an on-board network actually survives a failure in the path it is using, under ECSS-E-ST-50C clause 5.7.2.5, where redundancy is managed only when there is somewhere to go and time enough to get there. Compare the nominal and redundant paths element by element to find what both depend on, separating a shared element the design accepted by name from one nobody noticed, then add detection, decision and reconfiguration into an outage and weigh it against what the mission tolerates...
Assess whether a space communication link can still be worked while the spacecraft tumbles, under ECSS-E-ST-50C clause 5.6.11.2: the rotating antenna beam has to sweep the ground station at all, and each sweep has to last long enough to set the link up and get a message through. Compute the visibility arc from the cone geometry, the window and outage per rotation, the whole messages a window carries, and the tumble rate or beam width that would restore a workable window. Use when reviewing li...
Derive what a mission's orbits do to its communication links, and check every phase actually declared one, per ECSS-E-ST-50C Rev.2 clause 5.6.5. Use when slant range, propagation delay, Doppler shift and pass duration have to come out of the orbit rather than out of a heritage table: the two normative items are graded apart, so a phase that reaches the link budget with no orbit behind it is reported as a declaration gap and not folded into a margin. Doppler is compared against receiver pull-i...
Verify the outputs a communication system engineering step is required to produce under ECSS-E-ST-50C clause 5.2.1.3, where the step is finished when its outputs exist rather than when its activities stop. Evaluate a declared output set for the three ways a claimed output turns out not to be one: absent entirely, present but carrying no identifier anyone can call for, and present but produced by no activity of the step. Grade duplicated names separately, and report completion as a fraction ra...
Compute the power flux density a spacecraft downlink puts on the Earth's surface and grade it against the limit that applies there, under ECSS-E-ST-50C clause 5.6.12.4: the limit is a schedule over angle of arrival, not one number, and the value graded against it is referred to the limit's reference bandwidth first. Derive flux from EIRP and slant range, apply the bandwidth referral, interpolate the limit at each arrival angle, and report per-angle margin, the governing angle and a three-way ...
Assess all three obligations ECSS-E-ST-50C clause 5.6.11.9 places on an accepted corrupted downlink frame, grading each one separately: the per-frame figure against its bound, the derivation against the configuration actually declared, and the exposure across every frame the mission downlinks. Pairs a bounded-distance decoder's miscorrection probability, an exact rational, with the frame check field's escape probability. Use when a telemetry case bounds frame loss but never bounds undetected ...
Derive how often a spacecraft accepts a corrupted uplink frame as sound and grade it against its bound, per ECSS-E-ST-50C clause 5.6.11.7: multiply the residual corruption figure by the escape probability of every detection layer, build two to the minus k from an exact integer power of two, raise the per-frame number to a mission number, and search for the shortest check field that would suffice. Use when an uplink case bounds rejections but never bounds undetected corruption, or a frame chec...
Compute radiometric range and range rate for a space link under ECSS-E-ST-50C clause 5.6.14.7, which asks that the communication system support ranging and Doppler tracking. Turn round-trip light time into range, fold it onto the interval the ranging code distinguishes, and lift it back out with an a-priori — but only while that a-priori is known to better than half an interval. Turn two-way Doppler into range rate through the transponder turnaround ratio, and test the shift against the recei...
Audit the security a space communication system applies to the data it carries under ECSS-E-ST-50C clause 5.8.3, which asks that protection match how sensitive that data is. Compare each flow's declared services against what its sensitivity group needs — integrity, authentication, replay protection, confidentiality — because none of them substitutes for another; price the tag, initialisation vector and replay counter against every frame; and work out how long one key lasts before the counter ...
Size the sequence identifier of a space data transfer protocol under ECSS-E-ST-50C clause 5.6.13.3, which asks that each transferred data unit carry an identifier the receiver can use to tell loss, duplication and reordering apart. Compute the identifier space a field width gives, the largest outstanding window that space keeps unambiguous under go-back-N or selective repeat, the field width a required window actually needs, and how long the mission runs before the space wraps. Replay a recei...
Size a space link against the contact periods a mission actually gets, under ECSS-E-ST-50C Rev.2 clause 5.6.3. Use when the task is deciding whether short contacts can move the data a spacecraft produces: subtracting link acquisition and setup time from each pass, converting the usable time into a deliverable volume through the coding rate and framing efficiency, walking the schedule so the onboard store fills between passes and drains during them, flagging a pass consumed entirely by its own...
Allocate downlink capacity across telemetry sources that generate at different rates, as ECSS-E-ST-50C clause 5.5.6 requires: total the offered load with transport overhead against the link capacity, apportion virtual-channel slots by largest-remainder so every source keeps a share of at least one slot, derive each source's service interval and end-to-end latency from that apportionment, size the on-board buffer the interval implies, and flag any source squeezed onto a common rate instead of ...
Audit a space link exception reporting design against ECSS-E-ST-50C clause 5.6.14.9 — a reporting path by which any error the link detects can be raised, over a set the clause recommends stretch to data units taken in after correction, service data units with nowhere to go, deliveries that fail, reconfiguration and unannounced link loss — and grade that coverage apart from the question the clause leaves to the design, whether a report says which exception it is, because a design can route eve...
Assess the transmission media carrying a mission's space links against what those links must deliver, under ECSS-E-ST-50C clause 5.6.12.1: every link names a medium the mission declared and agreed, and that medium supports the link's required rate, range and availability. Compute per-criterion utilisation, separate a medium with headroom from one that only just fits from one that cannot carry the link, rank the media a link could use, and flag a medium outside the interoperable set. Use when ...
Validate that every spacecraft and every space link in a communications design is identified unambiguously, under ECSS-E-ST-50C clause 5.6.13.1. Check each spacecraft identifier fits the field width the chosen transfer frame version provides, is not the reserved all-ones pattern meaning no spacecraft, and collides with nothing else in its own namespace; check each link identity of spacecraft, direction and physical channel is unique; and report namespace headroom and the next assignable ident...
Size the time-slot schedule that carries synchronous command and control traffic on an on-board network under ECSS-E-ST-50C clause 5.7.1.3. Turn each periodic exchange into a slot of payload, protocol overhead and guard time, check its repetition period divides the control cycle, add up the time reserved per cycle, and report synchronous utilisation, delivery phase error and the spare time left for everything else. Use when laying out a control cycle or reviewing a cyclic schedule quoted only...
Audit the acknowledgement trail of an uplinked telecommand batch against ECSS-E-ST-50C clause 5.4.8: validate the verification-stage ladder each command subscribed to, set a per-stage deadline from the uplink epoch plus the round-trip light time plus that stage's timeout, match the returned reports to their command and stage while refusing strays and duplicates, and decide whether each command is covered, missing a stage, late, rejected or reported out of order. Use when a pass is reconciled,...
Verify that an on-board network confirms telecommand delivery to the end destination a command named, which is what ECSS-E-ST-50C clause 5.7.2.7 asks of it, and separately that the confirmation arrived inside the transit-and-return bound the project set rather than one the clause fixes, by matching a real dispatch log against a real confirmation log rather than counting acknowledgements. Derive a per-command deadline from dispatch plus the transit and return bounds, keep the earliest confirma...
Validate the telecommand delivery service of ECSS-E-ST-50C clause 5.4.2 against a real received frame stream: run each sequence number through a sliding acceptance window, separate the frame that is expected from one already delivered, one that arrived too early to be taken in turn, and one whose sender has lost track of the receiver entirely, then judge the whole stream on the promise that matters — delivered once, delivered in order, and nothing quietly dropped. Use when an uplink shows gap...
Verify that every telecommand on a shared uplink names its recipient unambiguously under ECSS-E-ST-50C clause 5.4.10: check the spacecraft-identifier field width against the address space it provides, measure the minimum pairwise Hamming separation of the assigned identifiers and derive the bit errors that separation detects and corrects, confirm each command names a declared on-board application, and refuse an unset or beam-wide destination on a command never declared broadcast-safe. Use whe...
Monitor a window of outstanding telecommands against the receipt confirmation obligation of ECSS-E-ST-50C clause 5.6.14.8, which asks that receipt be confirmed to the sender. Derive the shortest deadline the round trip, onboard processing and margin can actually meet, then grade each command as confirmed, confirmed after its deadline had already expired, pending or timed out, and attach the retransmit-or-escalate action each state earns. Separate a confirmation that is repeated or names a com...
Determine whether essential telemetry reaches the ground at every spacecraft attitude and body rate under ECSS-E-ST-50C clause 5.5.1: close the downlink at each sampled point of the antenna pattern from transmit power, circuit loss, sampled gain, path loss, station figure of merit and data rate, weight the closing samples by angular width into a coverage fraction, then turn the width of any hole into an outage duration at the slowest declared body rate and hold it against how long the receive...
Assess the protection applied to a telemetry stream under ECSS-E-ST-50C clause 5.5.7: map each stream's declared sensitivity tier onto the authentication and confidentiality services it owes, refuse confidentiality offered without integrity, compute the per-frame overhead of tag, initialisation vector and block padding, check the remaining useful throughput still carries the source demand, size the key against the years it must stand, and find the frame counter that exhausts inside one key pe...
Compute the time-stamp error budget of a telemetry stream against ECSS-E-ST-50C clause 5.5.5: gather the contributors that separate the sampling instant from the stamp actually downlinked, namely on-board clock drift since the last time correlation, acquisition-to-stamp latency, correlation residual and field quantisation, combine them worst-case or root-sum-square, size the time field from the mission span and the least significant bit, and screen the stamp sequence for a non-monotonic step....
Determine whether a spacecraft can transmit telemetry in the blind under ECSS-E-ST-50C clause 5.5.4: check the blind mode arms itself within the required time after the uplink is lost, that its carrier, modulation, coding and rate are a default the ground can acquire without first sending a command, and close the worst-case link budget at maximum range on the low-gain antenna to show the blind rate is actually receivable. Use when sizing a launch-and-early-orbit or safe-mode downlink, reviewi...
Verify that every telemetry data unit carries an unambiguous source identification under ECSS-E-ST-50C clause 5.5.3: build the spacecraft-plus-source identifier tuple for each stream, detect two streams sharing one tuple, size the identifier fields from the number of distinct sources actually flown, reject an identifier value that overflows its declared field, and refuse a retired identifier re-issued before the ground data ambiguity window has passed. Use when defining an application-process...
Derive the correlation between onboard time and the reference time scale under ECSS-E-ST-50C clause 5.6.14.6, which asks that the two be correlated to a stated accuracy. Remove the one-way light time first, because it biases every pair alike and no fit can recover a common bias. Then fit offset and drift by least squares, take the residual spread and the standard error of the drift, and turn the stated accuracy into a validity horizon — the interval after which the correlation must be taken a...
Compute the accuracy a distributed time reference actually delivers to each of its users under ECSS-E-ST-50C clause 5.7.2.8, which asks that time reach the users that need it inside a stated accuracy. Build the budget at the consumer, not at the master: uncompensated transport delay, half the path asymmetry, half the timestamp step and the random jitter of every hop, systematic terms added and random terms root-sum-squared, plus the holdover a consumer accumulates on its own oscillator betwee...
Determine whether two spacecraft sharing an inter-spacecraft network really hold their clocks together under ECSS-E-ST-50C clause 5.7.4.5. Recover the offset and the round trip from the four timestamps of one exchange, then budget what the exchange cannot cancel: static path asymmetry, the asymmetry relative motion opens while the responder holds the reply, timestamp resolution and jitter, plus the walk-apart at the relative drift rate before the next exchange. Use when sizing a synchronizati...
Analyze a transmitted symbol stream for the longest run of identical symbols and the density of transitions it offers, under ECSS-E-ST-50C clause 5.6.11.3, and decide whether the receiver clock recovery tolerates both. Measure the worst run and where it starts, the transition density over the whole stream and over the leanest sliding window the loop integrates, compare each against the declared limits, count the edges a starved window is missing, and report whether randomisation or a transiti...
Evaluate the unwanted emissions a space link transmitter produces against the limits that apply to them, under ECSS-E-ST-50C clause 5.6.12.3. Place each measured component in its domain first — inside the necessary bandwidth, in the out-of-band domain around it, or out in the spurious domain — then grade it against that domain's limit: an interpolated spectral mask out of band, a flat limit in the spurious domain, and no grading at all for the wanted carrier. Report per-component margin, the ...
Validate the bit error rate a mission states for its uplink and that every later figure inherited it, per ECSS-E-ST-50C clause 5.6.11.5: carry the rate as an exact decimal rather than a binary power of ten, rank the declared conditions, confirm the stated rate is no better than the worst of them, and name any derived figure computed from a friendlier rate. Use when an uplink performance case quotes rejection or corrupted-frame numbers and the rate behind them is absent, typical rather than wo...
Compute the rate at which a spacecraft rejects uplink frames and grade it against its bound, per ECSS-E-ST-50C clause 5.6.11.6: take the assumed bit error rate and the full on-air frame length, evaluate an uncoded frame as a log-domain tail and a corrected frame as a binomial tail, then report the retransmissions and the frames a pass is expected to lose. Use when an uplink budget quotes a per-frame rejection figure, an operator reports repeated telecommand retransmissions, or a decoder's str...
Determine which status a SpaceWire RMAP target reports and whether the reply agrees with it. Use when an ECSS-E-ST-50-52C clause 5.6 error-code question arises: look a status value up in the registry for its slug and fault family, walk the detection precedence so a command that trips several conditions is answered with the one a target settles on, decide whether a reply leaves the target at all when the header cannot be trusted, check that a failure status carries no returned data and that no...
Assess whether a SpaceWire RMAP unit declaring the initiator role only is internally consistent. Use when an ECSS-E-ST-50-52C clause 5.8.2.2 initiator-only conformance claim needs grading: confirm the unit builds commands, generates the header and data check fields, allocates transaction identifiers, supplies a reply address and reads the returned status, while claiming none of the target-side services it never executes; then check that acknowledged commands carry a non-zero identifier width,...
Compute the sizing and grade the option set of a SpaceWire RMAP read command. Use when an ECSS-E-ST-50-52C clause 5.8.2.4 read is built or reviewed: pack acknowledge, increment and the reply-path length code into the instruction byte, confirm the command carries no payload, size the command and the returning reply separately, derive the address span and the data share of the traffic, then check a captured reply against the command it answers. Flags a read asking for no reply, a verify bit on ...
Derive the merge, the sizing and the option bits of a SpaceWire RMAP read-modify-write command. Use when an ECSS-E-ST-50-52C clause 5.8.2.5 operation is built or reviewed: split the data field into an operand and an equal-width mask, confirm the length is even and permitted, check the option bits that pick this command out of the others, apply the merge taking masked bits from the operand, size the command against the half-length reply, and count the bits really flipped. Flags an empty mask, ...
Build and grade a SpaceWire RMAP write command before it goes on the link. Use when an ECSS-E-ST-50-52C clause 5.8.2.3 write is constructed or reviewed: pack the verify, acknowledge and increment options plus the reply-path length code into the instruction byte, unpack a captured byte back into those options, pad the reply path to whole four-byte groups, size the packet from header, payload and check bytes, fold the byte-wise check value over the data, and derive the address span the write to...
Assess the additional-comments subclause of a SpaceWire service primitive against ECSS-E-ST-50-53 clause 5.2.2.5. Use when a protocol service definition carries per-primitive closing notes that must stay informative and must not become a second place requirements live: confirm every primitive states the subclause or declares it empty, detect normative wording that would create an unnumbered requirement, resolve every clause cross-reference against the declared index, measure how much of the n...
Verify that the CCSDS Packet field of a SpaceWire transfer holds exactly one whole space packet under ECSS-E-ST-50-53C clause 5.4.1.7: parse the six-octet primary header, derive the declared total length from the packet data length field, then compare it against the octets actually present so a truncated packet, a surplus tail, or a second packet stuffed into one transfer is caught before the receiver mis-frames the stream. Use when encapsulating, unpacking or debugging CCSDS packets carried ...
Assess the CCSDS Packet Transfer Service a SpaceWire node offers its user application under ECSS-E-ST-50-53C clause 5.2.1: validate the request parameters handed in, decide whether the transfer raises an indication or is discarded on its end marker, compare the delivered packet against the one given as unmodified, truncated, extended or altered, check the parameters survived, and confirm packet boundaries were neither merged nor split. Use when a packet arrives changed, doubled or not at all....
Validate the CCSDS packet a SpaceWire transfer protocol carries and size the frame around it. Use when an ECSS-E-ST-50-53C clause 5.1.1 packet is built or read back: normalise the six primary-header fields, pack them into header bytes and unpack a capture back into the same record, turn the data-field size into the length field and back, size the packet and the frame that adds routing and the protocol byte, split a user datum too large for one data field into a grouped sequence, and check the...
Verify the effect-on-receipt subclause of a SpaceWire service primitive against ECSS-E-ST-50-53 clause 5.2.2.4. Use when a protocol service definition states what the receiving entity does with each primitive and that behaviour has to hold as a state machine: build the transition table from the declared effects, refuse two effects giving one state and primitive different destinations, report a state that declares no handling for a primitive it can receive, require a discard effect to leave th...
Evaluate the end-of-packet marker that terminates a SpaceWire transfer carrying a CCSDS packet under ECSS-E-ST-50-53C clause 5.4.1.8: separate a normal terminator from an error terminator and from no terminator at all, decide deliver or discard from that marker before any payload is parsed, and grade a received sequence against a discard-ratio budget so a link that is up but shredding packets is visible. Use when receiving, discarding or fault-finding CCSDS transfers on a SpaceWire link. Trig...