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

Ndt Personnel Qualification

ASecurity

Use when you must track the qualification and certification status of nondestructive testing personnel: compute recertification due date from certification date and interval, compute the near-vision examination due date from the last vision exam, judge certification currency versus the current date, evaluate upgrade eligibility from held training hours, experience months and passed examination versus required thresholds, and validate that a Level I operator works under a Level II or III super...

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

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 ndt-personnel-qualification --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ndt Personnel Qualification?

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

Security grade badge for Ndt Personnel Qualification
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ashfordeou-ndt-personnel-qualification/badge)](https://www.skillsdirectory.com/skills/ashfordeou-ndt-personnel-qualification)

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

Download with Pro
Files
SKILL.md
---
name: ndt-personnel-qualification
description: "Use when you must track the qualification and certification status of nondestructive testing personnel: compute recertification due date from certification date and interval, compute the near-vision examination due date from the last vision exam, judge certification currency versus the current date, evaluate upgrade eligibility from held training hours, experience months and passed examination versus required thresholds, and validate that a Level I operator works under a Level II or III supervisor. Produces recertification due date, vision due date, currency, upgrade and supervision verdicts. Trigger: ndt personnel qualification, NAS 410, certification currency, recertification due date, vision examination, upgrade eligibility."
license: Apache-2.0
compliance: STANDARDS-REF
standards:
  - id: nas-410
    reference-only: true
gated: false
domain: manufacturing-quality
pack: ndt
compatibility: "agentskills.io SKILL.md; any SKILL.md host (Claude Code, Hermes, OpenClaw)"
metadata:
  domain: manufacturing-quality
  subdomain: ndt
  tags: [ndt-personnel-qualification, nas-410, certification-currency, recertification-due, vision-examination, level-progression, ndt-certification]
  version: 0.1.0
  author: AeroSkills
---

# NDT Personnel Qualification (manufacturing-quality/ndt/ndt-personnel-qualification)

Use when you must track the qualification and certification status of
nondestructive testing personnel: due dates, currency verdicts, upgrade
eligibility and supervision compliance that gate an NDT personnel
qualification record. This leaf computes the certification-governance
mechanics only, in pure Python stdlib, deterministic, no RNG. NAS 410 is
referenced, never reproduced: its training-hour and experience tables are
gated, so every threshold is a function argument backed by
paraphrase-safe documented defaults. It pairs with
manufacturing-quality/ndt/ndt-method-selection for method choice and with
the method execution leaves, which carry the physics and procedure of
each technique.

## Domain quick reference

- Recertification due date: certification date plus the recertification
  interval in calendar months, day clamped to the target month end.
  Documented default RECERT_INTERVAL_MONTHS_DEFAULT = 36 months, the
  norm for NAS-410-style recertification; overridable by argument.
- Vision examination due date: last near-vision examination date plus
  the vision interval, same month-add and clamp rule. Documented default
  VISION_INTERVAL_MONTHS_DEFAULT = 12 months, the annual near-vision
  norm; overridable by argument.
- Certification currency: one of current, recert-due (today after the
  recertification due date), vision-due (today after the vision due
  date), recert-and-vision-due (both). Overdue means strictly after the
  due date; due on the date itself is still current. Recertification
  expiry is checked before vision expiry.
- Level progression: i, ii, iii. An upgrade is eligible only to the
  level immediately above the current level, and only when held training
  hours meet the required hours, held experience months meet the
  required months, and the examination is passed. Hours and months
  thresholds come from arguments, never from embedded tables.
- Supervision rule: a Level I operator must work under a Level II or III
  supervisor; a Level II or III operator may work independently.

## Workflow

1. Read the personnel record: certification date, last near-vision
   examination date, current date, operator and supervisor levels.
2. Compute recert_due_date(cert_date_iso) and
   vision_due_date(last_vision_iso) with the default intervals, or pass
   interval arguments when the employer applies different periods.
3. Judge currency with certification_status(cert_date_iso,
   recert_due_iso, vision_due_iso, today_iso) and confirm the verdict
   matches the due dates versus today.
4. Check the pairing with supervision_valid(operator_level,
   supervisor_level); a Level I under a Level I supervisor fails.
5. When an upgrade is under evaluation, call
   upgrade_eligible(current_level, target_level, held_hours,
   required_hours, held_months, required_months, exam_passed) with the
   thresholds supplied by the qualified procedure, never from memory of
   a standard table.
6. For a one-call record verdict use qualification_review(...), which
   returns certification_status, recert_due_date_iso, vision_due_date_iso,
   supervision_ok and upgrade_eligible (None when no upgrade_inputs are
   given).
7. Confirm the deterministic checks with the contract test
   scripts/test_ndt_personnel_qualification.py.

## Worked example

UT Level II operator certified 2023-06-15, last near-vision examination
2026-02-01, today 2026-09-04, working under a Level III supervisor, with
an upgrade toward Level III under evaluation. Real module outputs:

- recert_due_date("2023-06-15") -> "2026-06-15" (36 calendar months,
  mid-month day preserved), so the operator is recertification-overdue
  by 2026-09-04.
- vision_due_date("2026-02-01") -> "2027-02-01" (12 months), not yet
  due.
- certification_status("2023-06-15", "2026-06-15", "2027-02-01",
  "2026-09-04") -> "recert-due".
- supervision_valid("ii", "iii") -> True (a Level II operator may work
  independently; the Level III supervisor is also valid for a Level I
  operator); supervision_valid("i", "i") -> False.
- upgrade_eligible("ii", "iii", 600, 700, 20, 24, False) -> False
  (hours, months and examination all short); upgrade_eligible("ii",
  "iii", 720, 700, 26, 24, True) -> True.
- qualification_review("2023-06-15", "2026-02-01", "2026-09-04", "ii",
  "iii", upgrade_inputs={"target_level": "iii", "held_hours": 600,
  "required_hours": 700, "held_months": 20, "required_months": 24,
  "exam_passed": False}) -> {"certification_status": "recert-due",
  "recert_due_date_iso": "2026-06-15", "vision_due_date_iso":
  "2027-02-01", "supervision_ok": True, "upgrade_eligible": False}.
- Clamp checks: 2026-01-31 plus 1 month -> 2026-02-28; 2024-01-31 plus
  1 month -> 2024-02-29 (leap year).

## Verification

- Confirm recert_due_date("2023-06-15") returns "2026-06-15" and that
  2026-01-31 plus one month clamps to "2026-02-28", with 2024-01-31
  clamping to "2024-02-29".
- Confirm certification_status is current when today precedes both due
  dates, recert-due after the recertification date only, vision-due
  after the vision date only, and recert-and-vision-due after both.
- Confirm upgrade_eligible requires every one of hours, months and the
  examination, and that the immediate-level rule holds: i to ii is
  allowed, i to iii raises ValueError.
- Confirm the supervision truth table: (i, ii) and (i, iii) valid,
  (i, i) invalid, Level II and III operators valid with any supervisor
  level.
- Confirm every malformed date, interval <= 0, negative hours or months,
  and level outside i/ii/iii raises ValueError.
- Run the contract test offline: python3
  scripts/test_ndt_personnel_qualification.py (35 tests, deterministic,
  exits 0).

## Related leaves

- manufacturing-quality/ndt/ndt-method-selection: chooses the NDT method
  for an application; this leaf owns the personnel certification layer
  over that choice.
- manufacturing-quality/ndt/ultrasonic-inspection and the other method
  execution leaves in the ndt pack (eddy-current-inspection,
  radiographic-inspection, magnetic-particle-inspection,
  liquid-penetrant-inspection, and siblings) cite nas-410 in their
  frontmatter and own the physics and procedure of each method.
- manufacturing-quality/special-processes/special-process-qualification:
  owns requalification of a process when personnel change.
- manufacturing-quality/as9100/document-control: houses the
  certification records this leaf's verdicts update.

## Pitfalls

- Flagging an operator on the due date itself: currency is judged
  strictly after the due date (due on the date is still current), so
  a recertification dated today does not make the record
  recert-due.
- Reporting a single overdue reason without checking both clocks:
  expiry of the recertification is checked before vision expiry, and
  an operator past both due dates is recert-and-vision-due, not
  recert-due.
- Reconstructing NAS-410 thresholds from memory: the standard's
  training-hour and experience tables are gated and never embedded,
  so hours/months requirements must come from the calling procedure's
  arguments (backed by the paraphrase-safe documented defaults), never
  from a remembered table.
- Evaluating a skipped-level upgrade: eligibility runs only to the
  level immediately above the current one, so i to iii raises
  ValueError rather than scoring.
- Passing an upgrade on partial evidence: eligibility requires the
  held training hours, the held experience months and the passed
  examination together - the worked example fails on hours, months
  and exam all short at once.
- Certifying a Level I to work alone or under another Level I: a
  Level I operator must work under a Level II or III supervisor,
  while Level II and III operators are valid with any supervisor
  level - supervision_valid(\"i\", \"i\") is False.

## Behavior contract (gate 3)

Run the deterministic contract test (stdlib unittest, offline):

    python3 scripts/test_ndt_personnel_qualification.py

The test covers the worked-example outputs (recertification due
2026-06-15, vision due 2027-02-01, verdict recert-due), calendar-month
day clamping including leap February, the certification-status truth
table, upgrade eligibility requiring all of hours, months and the
examination plus the immediate-level rule, the supervision truth table,
the qualification_review dict contract, determinism across runs, and
ValueError rejection of malformed dates, non-positive intervals,
negative hours or months and unknown levels.

## Compliance

- Standards referenced, not reproduced: NAS 410 governs NDT personnel
  qualification; its training-hour and experience tables are gated and
  never embedded here. Every threshold is a function argument with the
  paraphrase-safe documented defaults (36-month recertification norm,
  12-month annual near-vision norm).
- 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 →