SKILL.md v8 compliance

Supplier ISO Collect

Download ISO certificates and write certifications.json per supplier.

No reviews yet 0 installs
Use to discover and download ISO certificates for each ready supplier in the enumerate manifest, writing certificates/ and certifications.json beside identity.json. MUST run bundled lib/iso_collect.py — never regenerate the collector. Manifest.suppliers is an array (not a map). Uses Talos via qonstrue_broker and wine2o2. Repairs unusable websiteUrl values and falls back to name + accreditation-registry search (BSI/LRQA/UKAS). Skips skip_fresh / skip_no_website. No cortex_search.
isosupplierscertificatescollectcompliance

Versions

  • v8 # Changelog ## v1.5 - Repair unusable manifest `websiteUrl` values (qa1: `3m` for 3M UK - WINTERTHUR TECHNOLOGY UK → zero certificates while a name-based sandbox search found them on 3m / BSI): bare domains are scheme-repaired; otherwise the corporate domain is derived from an "official website" search on the company name (including the trading-as alias after ` - `), and when that fails too, discovery searches the name against accreditation-registry hints (ISO 9001/14001/45001, OHSAS 18001, BSI, LRQA, UKAS, capped at 8 searches). The manifest row `reason` records which path ran. - Download with a browser-like `User-Agent` — corporate sites (e.g. 3m.com) 403 the old `QonstrueISOCollector/1.0` agent. ## v1.4 - Report each shard item to the agent-control-plane via `qb.batch_item_done` instead of writing a `shard-<i>.json` file ledger. ## v1.3 - Bound `qb.talos_search` with `timeout_sec=60`. It was the only Talos call in the per-supplier discovery without a timeout, so a slow/degraded Talos hung the whole shard on one supplier (every item in the shard stalled). ## v1.2 - Hard requirement: agents must execute bundled `lib/iso_collect.py` only — never regenerate/rewrite the collector. - Document that enumerate manifesto `suppliers` is a **JSON array** (not a map); `.items()`-style collectors are invalid. ## v1.1 - Parse Talos search payloads via `companies[].urls` (not only top-level `results`/`urls`). - Accept wine2o2 extract returns as JSON array, object, or markdown-fenced string (fixes `'list' object has no attribute 'get'`). - Prefer certificate-like PDFs; demote 20-F / investor filings; cap downloads/extracts per supplier. - Use 180s wine2o2 timeout (mesh-aligned). If `wine2o2_extract` is unavailable or fails, fall back to `wine2o2_to_text` + `llm_chat_text` structured JSON. - Only write rows with a non-empty `standardNumber` into `certifications.json`. ## v1 - Initial release: Talos discover + download + wine2o2 summarize into per-supplier certificates/ and certifications.json. 9/22/2026
  • v7 # Changelog ## v1.4 - Report each shard item to the agent-control-plane via `qb.batch_item_done` instead of writing a `shard-<i>.json` file ledger. ## v1.3 - Bound `qb.talos_search` with `timeout_sec=60`. It was the only Talos call in the per-supplier discovery without a timeout, so a slow/degraded Talos hung the whole shard on one supplier (every item in the shard stalled). ## v1.2 - Hard requirement: agents must execute bundled `lib/iso_collect.py` only — never regenerate/rewrite the collector. - Document that enumerate manifesto `suppliers` is a **JSON array** (not a map); `.items()`-style collectors are invalid. ## v1.1 - Parse Talos search payloads via `companies[].urls` (not only top-level `results`/`urls`). - Accept wine2o2 extract returns as JSON array, object, or markdown-fenced string (fixes `'list' object has no attribute 'get'`). - Prefer certificate-like PDFs; demote 20-F / investor filings; cap downloads/extracts per supplier. - Use 180s wine2o2 timeout (mesh-aligned). If `wine2o2_extract` is unavailable or fails, fall back to `wine2o2_to_text` + `llm_chat_text` structured JSON. - Only write rows with a non-empty `standardNumber` into `certifications.json`. ## v1 - Initial release: Talos discover + download + wine2o2 summarize into per-supplier certificates/ and certifications.json. 7/31/2026
  • v6 # Changelog ## v1.4 - Report each shard item to the agent-control-plane via `qb.batch_item_done` instead of writing a `shard-<i>.json` file ledger. ## v1.3 - Bound `qb.talos_search` with `timeout_sec=60`. It was the only Talos call in the per-supplier discovery without a timeout, so a slow/degraded Talos hung the whole shard on one supplier (every item in the shard stalled). ## v1.2 - Hard requirement: agents must execute bundled `lib/iso_collect.py` only — never regenerate/rewrite the collector. - Document that enumerate manifesto `suppliers` is a **JSON array** (not a map); `.items()`-style collectors are invalid. ## v1.1 - Parse Talos search payloads via `companies[].urls` (not only top-level `results`/`urls`). - Accept wine2o2 extract returns as JSON array, object, or markdown-fenced string (fixes `'list' object has no attribute 'get'`). - Prefer certificate-like PDFs; demote 20-F / investor filings; cap downloads/extracts per supplier. - Use 180s wine2o2 timeout (mesh-aligned). If `wine2o2_extract` is unavailable or fails, fall back to `wine2o2_to_text` + `llm_chat_text` structured JSON. - Only write rows with a non-empty `standardNumber` into `certifications.json`. ## v1 - Initial release: Talos discover + download + wine2o2 summarize into per-supplier certificates/ and certifications.json. 7/30/2026
  • v5 # Changelog ## v1.2 - Hard requirement: agents must execute bundled `lib/iso_collect.py` only — never regenerate/rewrite the collector. - Document that enumerate manifesto `suppliers` is a **JSON array** (not a map); `.items()`-style collectors are invalid. ## v1.1 - Parse Talos search payloads via `companies[].urls` (not only top-level `results`/`urls`). - Accept wine2o2 extract returns as JSON array, object, or markdown-fenced string (fixes `'list' object has no attribute 'get'`). - Prefer certificate-like PDFs; demote 20-F / investor filings; cap downloads/extracts per supplier. - Use 180s wine2o2 timeout (mesh-aligned). If `wine2o2_extract` is unavailable or fails, fall back to `wine2o2_to_text` + `llm_chat_text` structured JSON. - Only write rows with a non-empty `standardNumber` into `certifications.json`. ## v1 - Initial release: Talos discover + download + wine2o2 summarize into per-supplier certificates/ and certifications.json. 7/22/2026
  • v4 # Changelog ## v1.2 - Hard requirement: agents must execute bundled `lib/iso_collect.py` only — never regenerate/rewrite the collector. - Document that enumerate manifesto `suppliers` is a **JSON array** (not a map); `.items()`-style collectors are invalid. ## v1.1 - Parse Talos search payloads via `companies[].urls` (not only top-level `results`/`urls`). - Accept wine2o2 extract returns as JSON array, object, or markdown-fenced string (fixes `'list' object has no attribute 'get'`). - Prefer certificate-like PDFs; demote 20-F / investor filings; cap downloads/extracts per supplier. - Use 180s wine2o2 timeout (mesh-aligned). If `wine2o2_extract` is unavailable or fails, fall back to `wine2o2_to_text` + `llm_chat_text` structured JSON. - Only write rows with a non-empty `standardNumber` into `certifications.json`. ## v1 - Initial release: Talos discover + download + wine2o2 summarize into per-supplier certificates/ and certifications.json. 7/16/2026
  • v3 # Changelog ## v1.1 - Parse Talos search payloads via `companies[].urls` (not only top-level `results`/`urls`). - Accept wine2o2 extract returns as JSON array, object, or markdown-fenced string (fixes `'list' object has no attribute 'get'`). - Prefer certificate-like PDFs; demote 20-F / investor filings; cap downloads/extracts per supplier. - Use 180s wine2o2 timeout (mesh-aligned). If `wine2o2_extract` is unavailable or fails, fall back to `wine2o2_to_text` + `llm_chat_text` structured JSON. - Only write rows with a non-empty `standardNumber` into `certifications.json`. ## v1 - Initial release: Talos discover + download + wine2o2 summarize into per-supplier certificates/ and certifications.json. 7/16/2026
  • v1 # Changelog ## v1.1 - Parse Talos search payloads via `companies[].urls` (not only top-level `results`/`urls`). - Accept wine2o2 extract returns as JSON array, object, or markdown-fenced string (fixes `'list' object has no attribute 'get'`). - Prefer certificate-like PDFs; demote 20-F / investor filings; cap downloads/extracts per supplier. - Use 180s wine2o2 timeout (mesh-aligned). If `wine2o2_extract` is unavailable or fails, fall back to `wine2o2_to_text` + `llm_chat_text` structured JSON. - Only write rows with a non-empty `standardNumber` into `certifications.json`. ## v1 - Initial release: Talos discover + download + wine2o2 summarize into per-supplier certificates/ and certifications.json. 7/15/2026
Installed bundles are copies — your workspace data stays in your workspace. Qonstrue Community Marketplace