Skip to content

Prevent local shadowing of synced skill identities #1552

Description

@Aaronontheweb

Problem

Synced skill directories are protected from direct mutation: .system and .server-feeds remain write-denied, and skill_manage blocks edit/patch/delete/write_file/remove_file against resolved synced skills.

However, a user or agent can still create a local native skill with the same normalized name as a server-feed skill under ~/.netclaw/skills/<name>/SKILL.md. Native skills have higher precedence than server-feed skills during scan/merge, so this locally-created skill shadows the synced skill without going through the skill server.

That means the current protection prevents direct edits to the synced copy, but does not fully enforce the intended rule that org-managed server-feed skill identities can only be updated through the skill server.

Desired Behavior

If a skill name is already claimed by a synced source, Netclaw should reject local creation or local registration of a same-name skill unless there is an explicit operator-approved override mechanism.

Scope

  • Block skill_manage(action: "create") when the requested name is already present from .system or .server-feeds.
  • Decide whether raw file writes that create same-name local skill directories should be rejected at write time or quarantined/rejected during scan.
  • Add tests proving local same-name creation cannot shadow server-feed skills.
  • Preserve existing direct write-deny behavior for .system and .server-feeds.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions