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

Datum Reference Frames

ASecurity

Use when you must establish the datum reference frame for a part per ASME Y14.5: parse the primary, secondary, and tertiary datum precedence from the drawing callout, compute the datum feature simulators (plane, axis, point), determine the degrees of freedom each datum constrains (translation and rotation), apply the material condition modifiers (MMB, LMB, RMB) to the datum feature references, and build the feature control frame string. Produces the datum reference frame definition, the const...

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

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 datum-reference-frames --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Datum Reference Frames?

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

Security grade badge for Datum Reference Frames
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ashfordeou-datum-reference-frames/badge)](https://www.skillsdirectory.com/skills/ashfordeou-datum-reference-frames)

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

Download with Pro
Files
SKILL.md
---
name: datum-reference-frames
description: "Use when you must establish the datum reference frame for a part per ASME Y14.5: parse the primary, secondary, and tertiary datum precedence from the drawing callout, compute the datum feature simulators (plane, axis, point), determine the degrees of freedom each datum constrains (translation and rotation), apply the material condition modifiers (MMB, LMB, RMB) to the datum feature references, and build the feature control frame string. Produces the datum reference frame definition, the constrained degrees of freedom table, the datum shift from the material condition modifier, and the feature control frame string that gates the GD&T scheme. Trigger: datum reference frame, datum precedence, primary secondary tertiary, degrees of freedom, datum shift, MMB LMB RMB, feature control frame."
license: Apache-2.0
compliance: STANDARDS-REF
standards:
  - id: asme-y14-5
    reference-only: true
gated: false
domain: cross-cutting
pack: cross-cutting
compatibility: "agentskills.io SKILL.md; any SKILL.md host (Claude Code, Hermes, OpenClaw)"
metadata:
  domain: cross-cutting
  subdomain: tolerancing
  tags: [datum-reference-frames, gdt, datum-precedence, primary-secondary-tertiary, feature-control-frame, material-condition, mmb-lmb-rmb, degrees-of-freedom, datum-simulators, asme-y14-5]
  version: 0.1.0
  author: Aero Agent Skills
---
# Datum Reference Frames (cross-cutting/tolerancing/datum-reference-frames)

Use when the task is the datum system of a GD&T scheme: establishing
the datum reference frame from the datum precedence, the degrees of
freedom each datum constrains, the datum feature simulators, the
material condition modifiers on datum feature references, and the
feature control frame callout. This leaf defines the reference frame;
position tolerance zone math lives in position-tolerance-calc and
worst-case stackup lives in tolerance-stackup.

## Domain quick reference

- A datum reference frame is the coordinate system established from
  the datum features of a part, taken in precedence order: the
  primary datum establishes the frame first, the secondary datum
  locates the frame in the next direction, and the tertiary datum
  finishes the location. The 3-2-1 rule is the common pattern: the
  primary datum constrains three degrees of freedom, the secondary
  two, the tertiary one.
- Six degrees of freedom exist: three translations (tx, ty, tz) and
  three rotations (rx, ry, rz).
- Datum feature simulators: a planar surface is simulated by a plane
  (three point contact), a cylindrical surface (hole, pin, shaft) by
  its axis, a spherical surface by a point.
- A plane constrains one translation (along its normal) and two
  rotations (tilting about the in-plane axes). An axis constrains two
  translations (perpendicular to the axis) and two rotations. A point
  constrains three translations.
- In a frame, each datum constrains only the degrees of freedom not
  already constrained by the earlier datums, so swapping the primary
  and secondary datums changes the constraint table.
- Material condition modifiers on datum feature references set the
  simulator boundary: RMB (regardless of material boundary) fixes the
  simulator with zero datum shift; MMB (maximum material boundary)
  allows datum shift equal to the departure of the actual mating size
  from the MMB size; LMB (least material boundary) allows datum shift
  equal to the departure from the LMB size. For a hole the MMB size is
  the smallest hole and the LMB size the largest; for a pin the MMB
  size is the largest pin and the LMB size the smallest.
- The feature control frame is the drawing callout: the geometric
  characteristic symbol, the tolerance value with an optional diameter
  symbol and material condition modifier, then the datum feature
  references with their modifiers, e.g. position symbol, diameter 0.5
  at MMC, datums A, B at MMB, C.

## Workflow

1. Collect the datum feature references from the drawing callout in
   precedence order: primary, secondary, tertiary. For each, record
   the feature type (plane, axis, point), the orientation (x, y, z)
   and any material condition modifier.
2. Parse and validate the precedence with parse_datum_precedence.
3. Build the reference frame with datum_reference_frame: read the
   simulators and the constrained degrees of freedom table from the
   result.
4. Read the unconstrained degrees of freedom: a fully located frame
   leaves none; a free rotation about a primary axis is a normal
   result, not an error.
5. Apply the material condition modifier with datum_shift to get the
   datum shift available from each datum feature reference.
6. Build the callout with feature_control_frame and report the frame
   definition, the constraint table, the datum shifts, and the frame
   string.

## Datum system model

### Degrees of freedom by simulator

| Feature type | Simulator | Constrains (orientation z shown) |
|---|---|---|
| plane | plane | tz, rx, ry (1 translation + 2 rotations) |
| axis | axis (centerline) | tx, ty, rx, ry (2 translations + 2 rotations) |
| point | point | tx, ty, tz (3 translations) |

### Precedence arithmetic

Each datum contributes its own degree of freedom set minus everything
already constrained. Example, the 3-2-1 block:

1. Primary plane with normal z: {tz, rx, ry}, three constrained.
2. Secondary plane with normal x: own set {tx, ry, rz} minus the
   primary leaves {tx, rz}, two constrained.
3. Tertiary plane with normal y: own set {ty, rx, rz} minus both
   leaves {ty}, one constrained.

Total six constrained, the frame is fully located. An axis primary
along z with two perpendicular planes leaves the rotation about the
axis free: that degree of freedom is reported unconstrained.

### Material condition model

The modifier on a datum feature reference sets the simulator boundary
and the datum shift available:

| Modifier | Boundary | Datum shift |
|---|---|---|
| RMB | fixed simulator | 0 |
| MMB (hole) | MMB size = smallest hole | actual mating size minus MMB size |
| MMB (pin) | MMB size = largest pin | MMB size minus actual mating size |
| LMB (hole) | LMB size = largest hole | LMB size minus actual mating size |
| LMB (pin) | LMB size = smallest pin | actual mating size minus LMB size |

### Feature control frame string

Format: symbol | tolerance segment | datum references. The tolerance
segment is the optional diameter symbol, the tolerance value, and the
optional material condition modifier (M, L, S). Datum references are
uppercase letters with an optional MMB or LMB suffix. Example:
position symbol, diameter 0.5 at MMC, datum A, datum B at MMB, datum
C renders as the symbol, the segment diameter-0.5-M, then A, B-M, C.

## Worked example

Mounting bracket: datum A is the base face (plane, normal z), datum B
is the side face (plane, normal x), datum C is the locating hole
(axis, z, referenced at MMB). The hole pattern uses a position
tolerance of 0.5 diameter at MMC.

1. parse_datum_precedence returns A (plane, z, rmb), B (plane, x,
   rmb), C (axis, z, mmb).
2. datum_reference_frame: A constrains tz, rx, ry (3); B constrains
   tx, rz (2); C constrains ty (1). Total six, nothing unconstrained.
3. The locating hole measures 10.2 actual mating size against the
   10.0 MMB size: datum_shift("mmb", "hole", 10.0, 10.2) gives 0.2
   datum shift for datum C.
4. feature_control_frame("position", 0.5, ("A", "B", {"letter": "C",
   "modifier": "mmb"}), "mmc") renders the frame string: position
   symbol, diameter 0.5 at MMC, datums A, B, C at MMB.

## Pitfalls

- Confusing the datum system with the tolerance zone: the reference
  frame defines where the coordinate system is and what each datum
  locks; the position zone diameter and the stackup are separate
  leaves (position-tolerance-calc, tolerance-stackup).
- Ignoring precedence: the secondary datum constrains only what the
  primary left free; reporting its full own set double counts
  degrees of freedom.
- Treating an unconstrained rotation as an error: an axis primary
  legitimately leaves the rotation about the axis free until a
  tertiary feature locks it.
- Reversing the MMB direction: a hole gains datum shift as it grows
  past the MMB size, a pin as it shrinks below it.
- Forgetting the material condition modifier on the datum feature
  reference: RMB is the default, MMB and LMB change both the boundary
  and the available shift.
- Writing the callout without the diameter symbol for cylindrical
  zones: position, concentricity, symmetry, and cylindricity zones
  are diameters.

## Behavior contract (gate 3)

The precedence parsing, simulator mapping, degree of freedom table,
material condition shift, and feature control frame string logic is
exercised by the gate 3 contract test:
scripts/test_datum_reference_frames.py against
scripts/datum_reference_frames_logic.py (stdlib unittest, offline).
Run:
python3 scripts/test_datum_reference_frames.py

## Compliance

- Standards referenced, not reproduced: ASME Y14.5 is proprietary and
  sold (ASME); the datum precedence method, the degree of freedom
  model, the material condition boundary rules, and the feature
  control frame format are common GD&T methodology, name and
  paraphrase only per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false (reference-only listing).

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 →