hermes-agent/tests/skills
Teknium afb7bf6a5a
feat(skills): bundle docx, xlsx, and pdf office skills; refresh powerpoint (#68595)
Non-technical users asking for Word docs, spreadsheets, or PDF work had
no bundled skill coverage — docx/xlsx creation required discovering and
installing hub skills, and PDF manipulation had no skill at all beyond
OCR extraction and nano-pdf edits.

- skills/productivity/docx: create (docx-js), edit (unzip -> XML -> zip),
  tracked changes, comments, validation. Adapted from anthropics/skills.
- skills/productivity/xlsx: openpyxl creation/editing, mandatory
  LibreOffice recalc gate, formula-compatibility rules, financial-model
  conventions. Points at optional excel-author for finance-grade work.
- skills/productivity/pdf: merge/split/rotate/watermark/encrypt, form
  filling (AcroForm + flat overlay scripts), text/table extraction,
  reportlab creation, forms.md + reference.md companions.
- skills/productivity/powerpoint: synced to current upstream pptx skill —
  richer pptxgenjs corruption footguns, template workflow, validate.py +
  validators + thumbnail.py, font-substitution QA guidance; drops the
  stale pack.py/editing.md/pptxgenjs.md workflow files.
- Cross-linked ocr-and-documents, nano-pdf, excel-author via
  related_skills so each office skill routes to its siblings.
- deliverable-mode docs mention the new skills; regenerated per-skill
  docs pages, catalogs, and sidebar.
- tests/skills/test_office_document_skills.py: frontmatter contracts,
  referenced-script existence, schema-map integrity, cross-link
  resolution, script compilation.

E2E validated: docx create->render->edit->validate, xlsx recalc
(SUM + _xlfn.TEXTJOIN evaluate correctly), pdf create->merge->extract,
pptx generate->validate->thumbnail.
2026-07-21 05:39:23 -07:00
..
test_cloudflare_temporary_deploy_skill.py feat(skills): add cloudflare-temporary-deploy optional skill (#50849) 2026-06-22 12:14:30 -07:00
test_darwinian_evolver_skill.py feat(skill): darwinian-evolver optional skill 2026-05-15 21:56:07 -07:00
test_fetch_transcript.py fix(deps): declare youtube-transcript-api in pyproject.toml [youtube] extra 2026-05-09 13:36:01 -07:00
test_google_workspace_api.py fix(google-workspace): handle Gmail header casing case-insensitively 2026-05-30 02:38:18 -07:00
test_google_workspace_credential_files.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_hyperliquid_skill.py Add unit tests for hyperliquid skill functionality 2026-05-10 22:15:04 -07:00
test_mcp_oauth_remote_gateway_skill.py chore(skills/mcp-oauth-remote-gateway): move to optional-skills + modernize 2026-07-16 01:28:32 -07:00
test_memento_cards.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_office_document_skills.py feat(skills): bundle docx, xlsx, and pdf office skills; refresh powerpoint (#68595) 2026-07-21 05:39:23 -07:00
test_openclaw_migration.py chore: ruff auto-fix PLR6201 resweep — tuple → set in membership tests (#27355) 2026-05-17 02:29:41 -07:00
test_openclaw_migration_hardening.py feat(claw-migrate): harden OpenClaw import with plan-first apply, redaction, and pre-migration backup (#16911) 2026-04-28 01:50:23 -07:00
test_telephony_skill.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_unbroker_skill.py blocked-tail pass: blind opt-out default, email fallback, peopleconnect delete-wipes-suppression 2026-07-03 15:21:04 -04:00
test_xurl_article_ingestion_docs.py fix(skills): document xurl X Article ingestion 2026-06-03 15:11:57 -07:00
test_youtube_quiz.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00