skills_sync()
Sync one skill directory. Divergent edits stop without changing either side.
path is project-relative. skill_id explicitly adopts an existing Cloud
skill. An untracked directory without an ID becomes a new private skill.
dry_run reports the action without writing files or creating versions.
resolve="local" or resolve="remote" explicitly selects a conflict
result. Replaced local files are retained in .framework/skills-backups.
Usage
skills_sync(
path: str,
project_path: str | Path = '.',
*,
direction: str = 'auto',
dry_run: bool = False,
skill_id: str | None = None,
variant: str = 'python',
resolve: str | None = None,
) -> dict[str, Any]
Arguments
| Name | Type | Default | Description |
|---|---|---|---|
| path required | str |
Project-relative skill directory. |
|
| project_path | str | Path | '.' |
Project root directory. |
| direction | str | 'auto' |
Sync direction: auto, push, pull, or status. |
| dry_run | bool | False |
Report the next action without writing files or Cloud versions. |
| skill_id | str | None | None |
Explicit Cloud identity for adoption or an initial pull. |
| variant | str | 'python' |
Language variant: r, python, or stata. |
| resolve | str | None | None |
Optional conflict choice: local or remote. |
Value
The action, skill identity, hashes, paths, and resulting version.