Skip to content

Simplify bundled skill catalog and routing - #1517

Draft
lihongguang-0014 wants to merge 2 commits into
mainfrom
feature/simplify-skill-catalog
Draft

Simplify bundled skill catalog and routing#1517
lihongguang-0014 wants to merge 2 commits into
mainfrom
feature/simplify-skill-catalog

Conversation

@lihongguang-0014

@lihongguang-0014 lihongguang-0014 commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

Scope

The bundled Skill catalog previously mixed public entry points, workflow dependencies, and redundant wrappers. This change gives prompts and clients a deterministic public catalog while retaining the internal dependencies needed by supported Meta workflows.

  • Expose eight ordinary bundled Skills and three stable Meta workflows; expose code-task when coding mode is enabled. Keep internal helpers out of public prompts and detail bodies.
  • Extend meta.list and add meta.inspect with passive readiness and exact instance identity. Preserve public Meta entries and root content in skills.list / skills.get for older clients, including managed lifecycle diagnostics.
  • Support separate WebUI and Gateway upgrades. The new adapter detects capabilities, falls back only for unavailable methods, and merges Meta results by exact identity. It retains source, installation identity, and declared dependencies while refreshing readiness, missing dependencies, lifecycle badges, and status messages. Authentication, validation, and identity errors remain errors.
  • Use the existing application/adapter boundary and generated RPC registration. Production validators for the two new methods are limited to result; full contract verification remains available in the test toolchain.
  • Retire the relevance filter and its lexical/semantic/hybrid selection path. Migrate only the allowlisted legacy skills.filter_* settings, clean persisted TOML, and ignore deprecated environment spellings before strict settings validation with warnings. Unknown settings still fail validation.
  • Preserve correct invocation defaults for newly authored personal/project Meta SOPs, and make CLI/TUI completion follow the public catalog and operator-disabled gates.
  • Retire 31 bundled Skills: four native-tool wrappers, five audio wrappers, summarize, five weather/tmux/HTML-to-PDF/LaTeX/PDF-rewrite wrappers, eight obsolete paper helpers, three creator helpers, and five stack-trace probes.
  • Keep native cron and memory capabilities. The memory change is limited to clarifying the existing memory_save and memory_delete descriptions; it adds no tool or execution mechanism. Scheduled jobs and stored memory remain intact.

Retirement takes effect after the upgraded Gateway restarts and rebuilds its Skill snapshot. Old snapshots cannot restore retired bundled entries; residual packaged files remain hidden. Independently installed personal, managed, project, workspace, and extra-directory copies are retained.

Old Meta workflow definitions that reference retired Skills are not supported or automatically migrated; their authors must update those references. Dedicated retired scripts and their output contracts are not preserved. PDF extraction, composition, and generation remain supported, while arbitrary in-place PDF rewriting is no longer a dedicated Skill capability.

Branch

Base branch: main

Target exception: N/A

Issue

Linked issue: None

If None, reason: catalog simplification and upgrade-compatibility work without a tracking issue.

Release Note

Release note: YES — CHANGELOG.md documents the smaller catalog, the 31 retirements, retained user data and installations, configuration migration, separate client/Gateway upgrades, and the unsupported legacy Meta definitions.

Tests

Results below apply to the current implementation; historical benchmark verification counts are not reused.

Ruff: ruff check src tests scripts/skill_simplification_ab.py .github/scripts/plan_ci.py passed.

Pytest:

  • Full offline Skill and associated backend acceptance (453 test files, including every tests/test_skills file plus configuration, Gateway/Meta, shared engine/prompt, CLI/TUI, memory, scheduler, upgrade, and CI regressions): 7,731 passed, 19 skipped, 5 live tests deselected; exit 0. The complete command was rerun after fixing the Windows test-registration failure.
  • Final ordinary-checkout environment preflight, including native macOS safety probes and the complete previously failing Windows shard test file: 546 passed, 3 skipped; exit 0.
  • Validated source: commit f06ab5ce00fea8fbdaa786f7a2356560c58a876e, tree 74816e98f87b5177d01c8cbf858d486f9da6e903. Source paths, interpreter imports, dependencies, and built WebUI staging were checked before execution and source equality was checked afterward.
  • Real Python/TypeScript/Ajv contract suite with OPENSQUILLA_RUN_CONTRACT_TOOLCHAIN_INTEGRATION=1: 388 passed, 1 skipped. The skipped fixture has no result payload to validate.
  • Added upgrade, retired-configuration, catalog identity, authorization, disabled-Skill, and old-client compatibility regressions.

Build:

  • WebUI unit tests: 5,530 passed.
  • Full WebUI production build: passed.
  • Node contract tooling: 14 passed.
  • Contract generation --check and --verify-determinism: passed.
  • Full backend type check: mypy src/opensquilla --show-error-codes passed across 1,551 source files.

Regression tests: added

Notes: validation was performed on macOS. These results do not assert a new native Linux or Windows run. The default test path remains offline, deterministic, credential-free, and safe for forks.

Historical synthetic A/B evidence

Preserved evidence: report, raw JSON, raw CSV, summary, and deterministic summarizer.

The 166 synthetic-request Provider comparison remains bound to baseline 27ca02ca4596f8f24fe79ab603f068cbec6ab858 and candidate 058a7675a24177f513ca9262b1d0db96578c1e58. It is not a measurement of the current implementation.

Its overall hard-gate result remains FAIL: mean total input fell 4.84%, below the 30% requirement; warm cache-read ratio fell slightly; truncations remained; and the visible-word comparison was unassessable. The historical catalog-token reduction of 36.70% and median latency reduction of 48.32% do not override those failed gates. No new Provider benchmark is claimed here.

Maintainer Live Check

Maintainer live check: no new credentialed live check for the current implementation.

Surface: historical provider evidence only, bound to the candidate SHA above.

Safety

  • Legacy configuration cleanup is allowlisted and warning-backed; it does not delete user-authored Skills, memory, or cron state.
  • Internal, experimental, and retired definitions cannot be exposed through public detail reads, including exact-ID requests. Meta inspection validates only the current public winner; an identity cannot select a shadowed definition.
  • Operator-disabled roots are omitted from the Meta catalog and rejected by inspection. Existing managed diagnostics and execution gates remain in place.
  • Contract capability detection supports mixed client/Gateway versions without treating permission or validation failures as compatibility fallbacks.
  • Versioned evidence uses synthetic prompts. No credentials, real conversations, memory contents, private paths, or runtime state are included.

Third-Party Origin

Third-party origin: none

The implementation is original. Read-only architectural research informed behavior and test-shape comparison; no third-party code, comments, fixtures, identifiers, or wording were copied or adapted.

Documentation Changes

  • Links point to existing repository files or stable external pages.
  • Markdown uses the repository PR template.
  • Examples avoid real secrets, local private paths, and private transcripts.

@Open-Squilla
Open-Squilla marked this pull request as draft August 31, 2026 08:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants