Feature Description
When lark-cli installs skills (e.g., via lark skills install), they are placed directly into the root skills directory (e.g., ~/.agents/skills/). All 20+ lark-* skills are mixed together with my own custom skills and other third-party skills.
~/.agents/skills/
├── brainstorming/ # my own skill
├── find-skills/ # third-party
├── hdd/ # my own skill
├── improve/ # my own skill
├── lark-approval/ # installed by lark-cli
├── lark-apps/ # installed by lark-cli
├── lark-attendance/ # installed by lark-cli
├── lark-base/ # ...
├── lark-calendar/
├── lark-contact/
├── lark-doc/
├── lark-drive/
├── lark-event/
├── lark-im/
├── lark-mail/
├── lark-markdown/
├── lark-minutes/
├── lark-note/
├── lark-okr/
├── lark-openapi-explorer/
├── lark-shared/
├── lark-sheets/
├── lark-skill-maker/
├── lark-slides/
└── ...
Motivation
- Organization: As more skills get installed (20+ lark skills already), the root directory becomes cluttered and hard to navigate.
- Separation of concerns: User-created skills, third-party skills, and lark-cli-managed skills should be visually and structurally separated.
- Bulk operations: Easier to update/remove all lark skills at once if they live in their own directory.
- Consistency: Many other CLI tools install extensions/plugins into dedicated subdirectories (e.g.,
~/.config/nvim/lua/plugins/, VS Code extensions in their own folder).
Proposed Solution
Install lark-cli skills into a dedicated subdirectory under the skills root, for example:
~/.agents/skills/lark/
├── lark-approval/
├── lark-apps/
├── lark-attendance/
└── ...
Or allow users to configure a target category/directory via a flag or config option:
lark skills install --category lark
# or in config: skills.category = "lark"
The skill loader would need to scan one level deeper (subdirectories of the skills root) to discover skills in subdirectories.
Alternatives Considered
- Prefix-based naming (status quo): The
lark- prefix helps identify them, but does not solve clutter — all directories still sit at the same level.
- Manual symlinks: Users could move skills and symlink them back, but that is fragile and defeats the purpose of a package manager.
Would love to hear maintainers' thoughts on this. Happy to contribute a PR if there is interest
Feature Description
When
lark-cliinstalls skills (e.g., vialark skills install), they are placed directly into the root skills directory (e.g.,~/.agents/skills/). All 20+ lark-* skills are mixed together with my own custom skills and other third-party skills.Motivation
~/.config/nvim/lua/plugins/, VS Code extensions in their own folder).Proposed Solution
Install lark-cli skills into a dedicated subdirectory under the skills root, for example:
Or allow users to configure a target category/directory via a flag or config option:
lark skills install --category lark # or in config: skills.category = "lark"The skill loader would need to scan one level deeper (subdirectories of the skills root) to discover skills in subdirectories.
Alternatives Considered
lark-prefix helps identify them, but does not solve clutter — all directories still sit at the same level.Would love to hear maintainers' thoughts on this. Happy to contribute a PR if there is interest