Skip to content

Feature request: Install skills into a dedicated subdirectory/category instead of root skills directory #1497

Description

@simplast

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain/coreCLI framework and core librariesenhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions