hermes-agent/tests/skills
teknium1 e321b83392 feat(skills): add tldraw-offline agent scripting skill
Optional skill for driving the tldraw offline desktop app via its local
HTTP control API (the same curl-based path the app's own agent skills use
for Codex/Claude Code/Cursor/Gemini) — read the canvas, make live edits,
and write embedded document scripts.

Grounded in the app's bundled script-context.d.ts and agent playbook, and
in the real tldraw SDK v5 shape schema:
- document-script contract: export default function ({ editor, helpers, signal })
- HTTP API: /api/search, /api/doc/:id/exec, /api/doc/:id/script-workspace,
  /api/doc/:id/script-status (bearer token from server.json, re-read per call)
- shape schema table validated against @tldraw/tlschema (scripts/validate_shapes.mjs, 3/3)
- interactive-UI example (scripts/counter.js) + diagram-generation (scripts/main.js)
- honest verification boundary: click->state logic verified via /exec dispatch
  (0->1->2->1->0), with documented host caveats (inotify watcher, Electron
  background-click rejection)

Tests: tests/skills/test_tldraw_offline_skill.py (15 passing).
2026-07-23 08:07:00 -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_tldraw_offline_skill.py feat(skills): add tldraw-offline agent scripting skill 2026-07-23 08:07:00 -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