360 Secure SkillHub
360 安全技能中心

UA1 Validator Agent

该 Skill 通过调用 ua1.dev 的 PDF/UA-1 校验服务,对 PDF 文件执行确定性无障碍检查,返回 compact 或 full 格式的机器可读判定与按 rule_id 分组的发现项;附带 bash 脚本以退出码 0/2/1 支持 CI 质量门禁,并给出按规则频率排序的修复计划。校验需联网上传 PDF,未包含离线校验或文件修复能力。

hajekt2
hajekt2
热度 66.56
最近更新 2026-05-17 12:13:10
分类:数据依赖:代码执行 / 读写文件 / 第三方 API应用场景:API 集成 / 报告撰写 / 工作流 / DevOps

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add ua1-validator-agent
Metadata
name
ua1-validator-agent
description
Validate PDFs against PDF/UA-1 using ua1.dev or api.ua1.dev from AI coding agents (OpenClaw, Claude Code, Codex, OpenCode). Use when an agent needs deterministic accessibility checks, compact machine-readable verdicts, CI gating, or structured remediation loops for PDF files.

UA1 Validator Agent Skill

Use this skill to run deterministic PDF/UA-1 checks from an agent workflow.

Endpoints

  • Health: GET https://api.ua1.dev/api/health
  • Validate: POST https://api.ua1.dev/api/validate
  • Compact mode: POST https://api.ua1.dev/api/validate?format=compact
  • Metrics: GET https://api.ua1.dev/api/metrics

Required contract

Send multipart form-data with field name file.

  • Accepted: .pdf
  • Typical outcomes:
    • 200 validation response
    • 415 unsupported type
    • 413 file too large
    • 429 rate-limited

Minimal workflow for agents

  1. Run health check once before batch validation.
  2. Validate each PDF using compact mode for deterministic parsing.
  3. If verdict is fail, capture findings and group by rule_id.
  4. Produce remediation plan sorted by rule frequency.
  5. Re-run validation after fixes and compare counts.

Use script

Run:

bash scripts/validate_pdf.sh /absolute/or/relative/path/to/file.pdf

Optional env:

  • UA1_API_BASE (default: https://api.ua1.dev)
  • UA1_FORMAT (compact by default; set full for full payload)

CI gate pattern

Treat non-pass verdict as a failed quality gate.

  • Exit 0 only when verdict is pass
  • Exit 2 when verdict is fail
  • Exit 1 for transport/API errors

Use the script’s exit codes directly in pipelines.