Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/halsyourpal422/battenmark/assemblynpx skills add halsyourpal422/Battenmark --skill assemblygit clone --depth 1 https://github.com/halsyourpal422/BattenmarkWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/halsyourpal422/battenmark/assembly)<a href="https://agentmods.dev/skills/halsyourpal422/battenmark/assembly"><img src="https://agentmods.dev/badge/skills/halsyourpal422/battenmark/assembly.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.00697 |
| Opus 5 | $0.00000 | $0.00349 |
| Sonnet 5 | $0.00000 | $0.00139 |
| Haiku 4.5 | $0.00000 | $0.00070 |
Grade A, and why
assembly scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Mechanical Assembly
Purpose
Build a multi-part assembly from component definitions, create instances, ground a reference frame, apply constraints incrementally, inspect degrees of freedom (DOF) after meaningful steps, detect over-constraint and interference, then export.
Use when
- Two or more parts must be positioned with mechanical constraints.
- You need honest remaining-DOF feedback after each major mate.
Do not use when
- Still designing a single solid (use
basic-partorenclosure). - Need kinematics, gear joints, or path mates (not in the current bounded rigid subset).
Preconditions
- REQUIRED: Parts exist as bodies or will be modelled first.
- RECOMMENDED:
inspect_backend_capabilitiesfor assembly support.
Planning rules
- Model or import each part independently.
- Create assembly → define components → create instances.
- Ground exactly one reference instance with
fix_instance. - Add constraints one at a time; after each major step call
inspect_assembly. - Prefer under-constraint you can tighten over over-constraint you must undo.
- Use solver errors as evidence.
Recommended operation sequence
- REQUIRED — Model parts or import;
validate. - REQUIRED —
create_assembly→define_component→create_instance. - REQUIRED —
fix_instanceon reference (grounds 6 DOF). - REQUIRED — Incremental:
mate_faces,align_axes(concentric),set_distance,set_angle, … - REQUIRED — After each major constraint:
inspect_assembly(read remaining_dof). - RECOMMENDED —
check_interference. - REQUIRED —
rebuild_assembly→export_assembly.
Geometry / mechanical rules
DOF expectations (diagnostic — always trust inspect_assembly)
| State | Typical remaining DOF |
|---|---|
| Free instance | 6 |
After planar mate_faces |
3 |
| After concentric | 2 |
| Concentric + axial stop | 1 |
| Fully constrained | 0 |
Constraints evaluate in insertion order; second referenced instance moves; grounded never move. Do not stack redundant constraints blindly. Do not reproduce the solver inside the skill; inspect the real output.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 62 lines · 0 tokens per session scan A ab1a148dce79
assembly is a skill published in the GitHub repository halsyourpal422/Battenmark (0 stars, last pushed yesterday), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 697 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
freecad
Use when doing parametric 3D CAD modeling, BIM/architectural design, FEM simulation, CAM toolpath generation, or robot simulation with Python scripting. FreeCAD: the leading open-source parametric 3D CAD with Sketcher, Part, PartDesign, Arch, CAM, and FEM workbenches.
simplecadapi
Thin SimpleCAD SDK reference skill focused on the public API surface, core types, and current modeling workflows.
cadquery
Use when scripting parametric 3D CAD models in Python — programmatic part generation, parametric design optimization, STEP export. CadQuery: Python-based parametric CAD built on OCCT kernel with a fluent API.
skill-creator
Create new FreeCAD AI skills, modify existing skills, and iteratively improve them. Use when users want to create a skill from scratch, update or optimize an existing skill, capture a workflow as a reusable skill, or improve an existing skill's instructions. Also trigger when the user says "turn this into a skill"…
create-validation
Generate a draft VALIDATION.md for a skill by analyzing its SKILL.md construction steps.
enclosure
Generate a parametric electronics enclosure with a base and lid.