Skip to content

Deduplicate skills by resolved path and handle symlinks#681

Merged
Mng-dev-ai merged 1 commit into
mainfrom
refactor/skill-dedup-and-symlink-support
Jun 27, 2026
Merged

Deduplicate skills by resolved path and handle symlinks#681
Mng-dev-ai merged 1 commit into
mainfrom
refactor/skill-dedup-and-symlink-support

Conversation

@Mng-dev-ai

Copy link
Copy Markdown
Owner

Summary

  • Refactor SkillService to deduplicate skills by their resolved directory path
  • Change skill schema from source (string) to sources (list of strings)
  • Skills symlinked across agent namespaces now surface once with all sources
  • Handle symlink resolution when updating skill directories (rmtree + copytree)
  • Update frontend types, components, and tests to match new schema

Why

Skills can be symlinked across multiple agent namespaces to point to the same
canonical directory. Previously, the same skill would appear multiple times in
the list. Now, deduplication happens by resolved path, and we track which
namespaces source each skill.

Skills can be symlinked across agent namespaces to a single canonical
directory. List operations now group by resolved path and track all sources
that point to the same skill. The skill dict schema changes from 'source'
(singular) to 'sources' (list) to reflect this.

When updating a symlinked skill, resolve the target directory before
rmtree — symlinks don't expand to directories under rmtree.
@Mng-dev-ai Mng-dev-ai marked this pull request as ready for review June 27, 2026 18:32
@Mng-dev-ai Mng-dev-ai merged commit f6b5ddf into main Jun 27, 2026
4 checks passed
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.

1 participant