Repository navigation
v0.5.9 — Manifest v2 Universal Taxonomy, telemetry_normalizer, AcroForm multi-action engine, and SPDX licensing standardization
Skillware 0.5.9 introduces the Manifest v2 Universal Taxonomy architecture for deterministic multi-agent skill routing and hardware execution safety; the air-gapped data_engineering/telemetry_normalizer for SI unit harmonization, sensor fault detection, and W3C SOSA/SSN semantic export across robotics, IoT, energy, and HVAC arrays; a completely re-engineered office/pdf_form_filler AcroForm engine featuring deterministic multi-action dispatch (inspect, validate, fill), dynamic XFA guards, radio group normalization, and PyMuPDF vector flattening; paginated ERC-20 (tokentx) and internal transfer forensic screening in finance/wallet_screening (v1.1.0); UK Companies House Document API download flow in finance/uk_companies_house_handler (v1.4.0); operator policy profiles in defi/token_security_scanner (v0.2.0); enriched CLI taxonomy discovery (skillware list --shape/--tier/--target/--tag, skillware info, skillware doctor schema integrity); and repository-wide SPDX-License-Identifier: MIT licensing standardization.
Install: pip install skillware==0.5.9 or pip install -U skillware or just pip install skillware
Update from earlier versions: pip install -U skillware
Added
Core / Taxonomy (Manifest v2 — Universal Taxonomy) (#440)
- Universal Skill Taxonomy Specification: Established the formal Manifest v2 taxonomy core schema defining four foundational dimensions:
- Shape (Execution Geometry):
atomic(single-step deterministic execution),workflow(multi-step orchestrated flow with verification/preview gates),middleware(interceptor inspecting, sanitizing, or filtering inputs/outputs), andstream(continuous or chunked event processing). - Tier (Deployment Model):
core(open-source offline local compute with zero paid cloud API dependencies),cloud(remote APIs or hosted models), andenterprise(infrastructure, specialized credentials, KMS). - Target (Execution Substrate):
software(standard software runtime),hardware(physical actuators, robotics, IoT fleets, or sensor buses), andbioware(biosensors, neural telemetry, brain-computer interfaces). - Tags (Domain Keywords): Curated domain keywords (2 to 10 unique lowercase identifiers matching
^[a-z0-9_-]+$) with category-level governance.
- Shape (Execution Geometry):
- Runtime Filtering & Physical Hardware Safety Gates: Integrated taxonomy filtering into
SkillContext(allowed_shapes=..., allowed_tiers=..., allowed_targets=..., tags=...). Added hardware safety guards where executing skills targetinghardwarewithout explicitSkillContext(allow_hardware_execution=True)raisesSkillwareHardwareSafetyWarning. - Loader Normalization:
SkillLoadertransparently ingests legacy and v2 manifests, applying default normalization rules (shape: atomic,tier: core,target: software) with backward compatibility.
CLI / Discovery (#440)
- Taxonomy Filtering Flags: Added
--shape <s>,--tier <t>,--target <t>, and--tag <kw>discovery flags toskillware list, enabling operators and automation scripts to filter available skills by execution geometry and domain. - Skill Info Command: Added
skillware info <skill_id>command providing deep inspection of manifest metadata, constitution constraints, parameter schemas, and a Rich taxonomy badge panel. - Doctor Diagnostic: Added manifest schema integrity verification to
skillware doctorasserting that all installed and local skill manifests conform to Manifest v2 schema specifications. - Site Catalog Exporter: Created
scripts/export_site_catalog.pyto generate static catalog JSON exports and markdown indexes for external portals.
Catalog / Governance (#440, #446)
- Registry Backfill: Backfilled all 27 bundled registry skills with curated Manifest v2 taxonomy metadata in
manifest.yamland on every catalog documentation page. - Library Index Shape Column: Upgraded the central skill library index (
docs/skills/README.md) to a 6-column layout with explicitShapetags for instant scanning across all 12 categories. - Automated Doc-Manifest Parity Test: Added
test_catalog_pages_taxonomy_matches_manifestsintests/test_registry_docs.pyto prevent future documentation drift.
data_engineering/telemetry_normalizer v0.1.0 (#47, #423)
- Air-Gapped Sensor Telemetry Normalization: Local deterministic engine for standardizing noisy, heterogeneous sensor data across robotics kinematics (IMU), battery fleet energy storage, environmental air quality, and smart building HVAC arrays.
- SI/UCUM Unit Harmonization: Converts legacy or customary engineering units (e.g., Fahrenheit to Celsius, psi to Pascals, rpm to rad/s) into canonical SI units deterministically.
- Boundary Validation & Fault Detection: Detects sensor out-of-range anomalies, stuck-sensor values, physical limits, and temporal drift.
- W3C SOSA/SSN Semantic Observations: Generates W3C SOSA/SSN compliant JSON-LD observation objects for knowledge graphs and downstream reasoning agents.
- Examples:
examples/telemetry_normalizer_demo.py.
Governance / Licensing (SPDX & Copyright Headers) (#416, #422)
- Standardized Attribution & Headers: Added top-of-file
SPDX-License-Identifier: MITand explicit copyright notices across all core framework source files (skillware/**/*.py), CLI entry points, and authoring templates (templates/python_skill/). - Enforcement CI Gate: Added
tests/test_spdx_headers.pyenforcing header compliance across the codebase.
Changed
finance/wallet_screening v1.1.0 (#439)
- Paginated Etherscan Ingestion: Ingests paginated
tokentx(ERC-20) andtxlistinternaltransfer histories up to 10,000 rows per action. - Malicious & Mixer Risk Screening: Evaluates token transfers against the bundled sanctions and malicious contract risk index.
- Operator Token Resolution: Resolves major stablecoin volumes (USDT, USDC, DAI, WETH) from operator
evm.tokens.
office/pdf_form_filler v0.1.2 (#403, #441)
- Deterministic AcroForm Engine: Complete refactoring into a host-agnostic multi-action engine (
inspect,validate,fill). - Dynamic XFA Guard: Automatically detects dynamic XFA forms and emits structured
unsupported_xfa_formfindings before mutation attempts. - Radio Button Group Normalization: Normalizes export values, on-states, and extracts nearby visual labels.
- Confirmation Gate & Flattening: Requires explicit
confirmed: truesafety gate for disk mutations and supports permanent vector page flattening via PyMuPDFdoc.bake().
finance/uk_companies_house_handler v1.4.0 (#421, #434)
- Document API Flow: Implemented
list_downloadable_documents,get_document_metadata, andfetch_documentactions with bounded in-memory base64 payloads (5 MB default, 10 MB ceiling) and security stripping of Authorization headers on external storage redirects. - Demo:
examples/uk_companies_house_document_flow_demo.py.
defi/token_security_scanner v0.2.0 (#393, #425)
- Operator Policy Profiles: Configurable security policy evaluation returning
policy_action(allow,warn,block) on every scan. - Batch Scanning: Added
scan_batchaction (sequential, max 5 contracts) with rate-limit retry resilience.
CLI / Docs (#432, #433)
- Interactive Menu Alignment: Aligned splash menu with
evmandaddressbooksubcommands, expanded grouped--helptopics to all 14 domains, and introduced the CLI provenance history table indocs/usage/cli.md.
finance/wallet_screening v1.0.2 (#287, #115)
- OFAC SDN Refresh: Updated to 13 Oct 2026 OFAC publication with currency code
ETHfiltering to eliminate non-ETH false hits; deduplicated mixer rows and sanitized zero-width spaces in address files.
Typing & Code Hygiene (#415, #417)
- Type Completeness: Fully typed
skillware/core/ui_schema.pyandskillware/version_policy.py, removing them from mypy override exclusions.
What's possible today
1. Taxonomy-Aware Skill Context & Hardware Execution Safety
from skillware import SkillContext, SkillwareHardwareSafetyWarning
# Restrict host agent to deterministic atomic skills and middleware
ctx = SkillContext(
allowed_shapes=["atomic", "middleware"],
allowed_tiers=["core"],
allowed_targets=["software"], # Prevents unauthorized physical hardware execution
tags=["compliance", "privacy"],
)
# Load allowed skills
ctx.load_skill("compliance/pii_masker")2. Sensor Telemetry Harmonization (data_engineering/telemetry_normalizer)
from skillware.core.loader import SkillLoader
bundle = SkillLoader.load_skill("data_engineering/telemetry_normalizer")
skill = bundle["class"]()
result = skill.execute({
"action": "normalize",
"schema_profile": "energy_battery_fleet",
"raw_telemetry": {
"pack_voltage_v": 680.0,
"cell_temp_f": 115.0, # Automatically converted to Celsius / Kelvin
"charge_current_a": 45.0,
"timestamp": "2026-10-20T08:30:00Z",
},
})
print(result["status"]) # "valid"
print(result["normalized_observations"]["cell_temp_c"]) # 46.113. Deterministic AcroForm PDF Inspection & Flattening (office/pdf_form_filler)
from skillware.core.loader import SkillLoader
bundle = SkillLoader.load_skill("office/pdf_form_filler")
skill = bundle["class"]()
# 1. Inspect form structure
inspection = skill.execute({"action": "inspect", "pdf_path": "forms/w9.pdf"})
print(f"Discovered {len(inspection['fields'])} form fields")
# 2. Fill and permanently bake vectors
result = skill.execute({
"action": "fill",
"pdf_path": "forms/w9.pdf",
"field_values": {"topmostSubform[0].Page1[0].f1_1[0]": "Acme Corp"},
"flatten": True,
"confirmed": True,
})Upgrade notes
- Version Bump: Run
pip install -U skillwareto upgrade to 0.5.9. - Supported-version policy:
>= 0.5.9supported and patched;0.4.6 – 0.5.8silent;< 0.4.6unsupported advisory emitted. - Manifest v2: Existing custom skills continue working via backward-compatible normalizers. When creating new skills, include Manifest v2 fields (
tier,shape,target,tags) perCONTRIBUTING.md.
Full changelog
Contributors
Thanks to everyone who contributed to this release:
- @rosspeili — Manifest v2 Universal Taxonomy architecture, schema, normalizer, and context filtering (#440, #444); CLI discovery flags, info command, doctor schema checks, and catalog exporter (#440, #444);
office/pdf_form_fillerv0.1.2 multi-action AcroForm engine, XFA guards, and radio groups (#403, #441); interactive CLI splash alignment & history (#432, #433); catalog Manifest v2 backfill & Shape column in library index (#446); release cut - @Hendobox —
finance/wallet_screeningv1.1.0 paginatedtokentxandtxlistinternalingestion (#439, #442);defi/token_security_scannerv0.2.0 operator policy profiles and batch scanning (#393, #425);finance/wallet_screeningv1.0.2 OFAC SDN snapshot refresh (#287, #424) - @rin-katsuragi —
data_engineering/telemetry_normalizerv0.1.0 sensor telemetry harmonization engine (#47, #423) - @bd-c3 — Core SPDX license identifier and copyright header standardization (#416, #422)
- @2409324124 —
finance/uk_companies_house_handlerv1.4.0 Document API discover and download flow (#421, #434) - @mashood-memon — Example refactoring to
issue_resolver_commonand grandfathered example removal (#358) - @uroojfatima-6789 — Static type annotation for
ui_schema.pyandversion_policy.py(#415, #417)
Citation
Zenodo concept DOI: 10.5281/zenodo.21552745 — record Skillware v0.5.9 for reproducibility (CITATION.cff updated).