| name | gds-manage-module |
| description | Use this skill only when the owner explicitly asks to add, replace, reclassify, or remove a module relationship for a project. Validate independent Git boundaries, typed relationships, .gitmodules or package metadata, visibility, and pin policy. Do not use it for ordinary code changes inside an existing module. |
| disable-model-invocation | true |
Contract
Change a project-to-module relationship without conflating repository identity,
filesystem location, consumption mode, or release policy.
Use when
- A module dependency relationship must be created, replaced, or removed.
Do not use when
- Only module source code changes.
- The request is to release or update consumers after a release.
Inputs
- Consumer and module repository IDs.
- Consumption, pin, publication, path, and visibility policies.
Preconditions
- Resolve both independent Git boundaries.
- Validate module identity, access, and public/private context flow.
- Run
gds module <operation> --plan and obtain exact approval.
Workflow
- Recheck relationship and provider state.
- Apply the approved repository and manifest changes.
- Validate
.gitmodules, gitlink, package, or service metadata as applicable.
- Run consumer verification and regenerate derived context.
Stop conditions
Stop on identity ambiguity, path collision, private-context leak, unpublished
pin, incompatible policy, unrelated dirty work, or stale plan.
Verification
Run the operation-specific gds module ... --verify <operation-id> --json.
Output
Return typed relationship, source and target identities, consumption and pin
policy, changed files, checks, and remaining consumer actions.
References
No additional runtime reference is required; use current typed relationship policy.