Skip to content

v0.5.6 — Secret providers, Bedrock Converse adapter, korean_slang, and catalog hardening

Latest

Choose a tag to compare

@rosspeili rosspeili released this 20 Sep 09:36
· 4 commits to main since this release

Skillware 0.5.6 introduces pluggable secret providers for safe credential resolution without global os.environ mutation, an AWS Bedrock Converse tool adapter with enterprise cloud deployment guides, the new linguistics/korean_slang offline Gen-Z lexicon, major feature upgrades for creative/deck_builder (v0.2.0) and finance/uk_companies_house_handler (v1.3.0), the optimization/context_optimizer mini-RAG skill, and repository-wide terminology and glossary alignment.

Install: pip install skillware==0.5.6 or pip install -U skillware or just pip install skillware

Update from 0.5.5: pip install -U skillwarebreaking change for UK Companies House hosts using map_intent (use direct host agent run_pipeline step composition).


Added

Core: Pluggable Secret Providers (#39, #354)

  • Pluggable secret providers (SecretProvider, EnvSecretProvider, MappingSecretProvider, CallableSecretProvider) and SkillLoader.resolve_env_vars() inject manifest env_vars into BaseSkill(config=...) without requiring global os.environ mutation.
  • BaseSkill.credential() provides config-first credential lookup with os.environ fallback for local .env workflows.
  • SkillContext(secret_provider=...) resolves credentials on each execute() and passes them via config (supporting ephemeral and rotating tokens).
  • skillware doctor adds an ENVS column reporting missing required manifest env_vars.
  • Examples: secret_provider_demo.py demonstrates host-injected credentials without os.environ.

Core: AWS Bedrock Converse Tool Adapter & Enterprise Cloud Guides (#262, #353)

  • SkillLoader.to_bedrock_tool() converts manifest parameters into AWS Bedrock Converse toolSpec / inputSchema.json format.
  • SkillContext.tools("bedrock") exposes Bedrock Converse tool specifications for multi-skill hosts.
  • Comprehensive cloud guides: enterprise_cloud.md (hosting + adapter routing), bedrock.md, azure_openai.md, and vertex.md.
  • Examples: bedrock_tos_evaluator.py demonstrates an AWS Bedrock Converse loop with to_bedrock_tool().

linguistics/korean_slang v0.1.0 (#34, #369)

  • New linguistics/ category and deterministic offline Korean Gen-Z slang lexicon.
  • Pure-function execute(): longest-first matching over a curated September 2026 pack, template-based suggest(), exact lookup(), honorific audience gates (peers, mixed, work, elders), and constitution filters for slurs and toxic terms. Zero network and zero model calls.
  • GitHub label cat: linguistics in .github/labels.json and proposal templates.
  • Examples & tooling: korean_slang_demo.py and stress harness korean_slang_stress_sim.py.

creative/deck_builder v0.2.0 (#336, #337)

  • Enterprise presentation platform baseline: procedural Pillow placeholders, image fit policies, new layouts (timeline, metrics, comparison), lint_deck quality gates, suggest_outline archetypes, governance ribbons and footers.
  • Examples: deck_builder_chain_demo.py (suggest_outlinebg_removerlint_deckrender via SkillContext).

optimization/context_optimizer v0.1.0 (#44, #357)

  • Query-aware extractive context selection for large documents.
  • Local fastembed chunk scoring against agent_goal, traceable chunks_selected, fail-closed empty_result, and constitution-bound verbatim extractive output without LLM API calls.
  • Examples: context_optimizer_demo.py, context_optimizer_chain_demo.py (firewall → optimizer), and interactive Claude/Gemini loops.

finance/uk_companies_house_handler v1.3.0 (#220, #310, #359)

  • Deterministic officer role matchers (officer_role) supporting 3 canonical categories (directors, secretaries, corporate) and 29 official Companies House statutory roles in terminology_map.yaml.
  • Case-insensitive officer name substring matching (officer_name / officer_filter).
  • Multi-page officer scanning up to 1,000 records in 100-item chunks for filtered queries.
  • Deterministic filing history sorting descending by date; filing helpers latest_only: true and latest_per_category: true.
  • Direct host agent run_pipeline orchestration with <from_resolve> parameter substitution.
  • Decoupled composite action resolve_company_officer (resolve company -> halt on needs_input if ambiguous -> filter matching officer(s) by role/name in one turn).
  • Active vs. resigned transparency in envelopes (active_only, matched_count, terminology_note).
  • Strict context isolation preventing sticky filter contamination across turns.

Docs & Guidelines Alignment (#252, #362, #348)

  • New Glossary and inclusive language documentation defining canonical roles: Operator, Contributor, Host agent, End user, Skill bundle, Directive, Contract.
  • Retired legacy Mind / Body / Conscience terminology across core docs, examples, and tests.
  • Revamped skill trust model aligned with secret providers, SkillContext, doctor/paths tooling, and untrusted-input chains.
  • Guidance for host-context integration: full Directives, brief registry lines, and host-managed progressive loading (#348).

Changed

  • Skills with credentials: Bundled registry skills with env_vars now resolve credentials via self.credential() for config-first secret provider support (#39).
  • Security support windows: >= 0.5.6 supported and patched; 0.4.6 – 0.5.5 silent; < 0.4.6 unsupported (CLI advisory emitted).
  • Issue templates: Synchronized 06_cli.yml with current CLI subcommands and splash menu (#370).

Removed

  • finance/uk_companies_house_handler v1.3.0: Excised redundant map_intent action, internal helper methods (_map_intent, _normalize_keyword, _lookup_terminology), and intent_to_action from terminology_map.yaml in favor of direct host agent run_pipeline step composition (#220).

Fixed

  • finance/uk_companies_house_handler v1.3.0: Officer name filtering matches all word parts across candidate names, deterministically resolving natural order ("Firstname Lastname") vs UK registry inverted order ("SURNAME, Firstname") (#220).
  • finance/uk_companies_house_handler v1.3.0: run_pipeline halts <from_resolve> substitution upon encountering subsequent company resolution steps, preventing cross-company parameter corruption in multi-company pipelines (#220).
  • docs/skills: Aligned issuer organization metadata across catalog pages and skill cards; linked merge commit SHAs in skill history tables.

What's possible today

Capability How
Host-injected secrets (no global env mutation) SkillContext(secret_provider=MappingSecretProvider({...}))
AWS Bedrock Converse tool-use SkillLoader.to_bedrock_tool(bundle) or SkillContext.tools("bedrock")
Korean Gen-Z slang interpret & suggest SkillLoader.load_skill("linguistics/korean_slang")
PPTX deck assembly & outline linting creative/deck_builder (v0.2.0)
Query-aware extractive mini-RAG optimization/context_optimizer
Advanced UK company & officer audits finance/uk_companies_house_handler (v1.3.0)
Token-efficient web proxy & SSRF guard data_engineering/semantic_web_proxy
Five-provider catalog loops Every page under docs/skills/
Full registry + framework pip install "skillware[all]"

Upgrade notes

  • UK Companies House v1.3.0 breaking change: The map_intent action is removed. Use direct run_pipeline orchestration or standalone composite actions (resolve_company_officer, resolve_and_get_officers, resolve_and_get_filings).
  • Secret Providers: If you manage multi-tenant or ephemeral API credentials, pass a SecretProvider into SkillContext instead of modifying os.environ.
  • Citing: Zenodo concept DOI 10.5281/zenodo.21552745 remains stable; record Skillware 0.5.6 for reproducibility (CITATION.cff updated).

Full changelog

CHANGELOG.md — 0.5.6


Contributors

Thanks to everyone who contributed to this release:


Citation

Zenodo concept DOI: 10.5281/zenodo.21552745 — record Skillware v0.5.6 for reproducibility (CITATION.cff updated).