Environment:
- SQLcl 26.1.2
- SQLcl skills command
- Oracle public skills repository
- APEX / APEXlang skills
- Multiple projects that may target different APEX versions
Description:
The SQLcl skills command is useful, but the current shared/global installation model and skill granularity are awkward for real multi-project work.
Current behavior observed:
- skills sync --skill-name apex uses Oracle's public skills repository.
- SQLcl creates or updates skill content under $HOME/.dbtools.
- It then copies skills to shared agent locations such as:
- $HOME/.copilot/skills
- $HOME/.codex/skills
- Skills are organized by broad domains such as apex and db.
- Some domains contain useful subfolders that should be usable as standalone skills.
Enhancement request:
Please consider two related improvements.
- Suggestion 1: repository-local and versioned skill installation.
Add an option to install or sync SQLcl skills directly into the repository where the command is run.
For example:
skills sync --skill-name apex --local
or:
skills sync --skill-name apex --target .github/skills
Expected result for suggestion 1:
A project should be able to carry the exact skill version and instructions that match its APEX and SQLcl versions.
Why suggestion 1 matters:
One repository may target APEX 26.1, another may later target APEX 26.2, and another may still be on APEX 24.2. A single shared global APEX skill can become the wrong context for at least one of those projects.
Suggestion 2: slash-qualified subskill sync.
Allow skills sync --skill-name to accept slash-qualified skill names such as:
skills sync --skill-name apex/apexlang
skills sync --skill-name db/sqlcl
skills sync --skill-name db/performance
skills sync --skill-name db/monitoring
A domain-level skill name should still work as a bundle:
skills sync --skill-name apex
skills sync --skill-name db
Expected result for suggestion 2:
- skills sync --skill-name db should sync the whole db skill bundle.
- skills sync --skill-name db/sqlcl should sync only the sqlcl subskill from the db domain.
- skills sync --skill-name apex should sync all APEX skills.
- skills sync --skill-name apex/apexlang should sync only the APEXlang subskill.
Destination structure:
Please preserve the namespace in the destination skill folder. For example, syncing db/sqlcl should create a db/sqlcl skill structure in the target environment, not a flattened sqlcl folder.
Example:
$HOME/.codex/skills/db/sqlcl/
or, for a repository-local target:
.github/skills/db/sqlcl/
Why suggestion 2 matters:
The db domain can contain many different skill areas. If I only need the SQLcl or performance skill, copying the whole db skill tree can create unnecessary context noise and token usage for AI agents. Each meaningful subfolder under a domain should be usable as a standalone skill module while still keeping the domain namespace.
Impact:
Repository-local skill installation and granular subskill sync would make AI-assisted SQLcl, APEX, and database work more reproducible, easier to review, less token-heavy, and safer across projects with different tool and APEX versions.