Skip to main content
comet update refreshes installed Comet Skills, Rules, Hooks, Runtime assets, and managed instructions. In current-project mode, it refreshes assets only and does not change npm installations. If you need to update the CLI package, add --self-update explicitly. Without --language, updates preserve the existing English or Chinese language for each installation target. Pass this option explicitly to switch languages.

Basic usage

Select the update scope

When the project index already contains project-level installations, interactive comet update asks you to choose the update scope:
  • All indexed projects : Update all registered projects in sequence.
  • Current project only : Update only the items corresponding to the current working directory.
Automated calls adopt more conservative default values: --all-projects cannot be used simultaneously with --scope global or --current-project. Explicit --scope global will definitely go through the current-project mode and will not open the all-projects selection. It only selects the global asset target and does not implicitly update the global npm package.
The batch mode will record the results of each project separately. Failures in npm package updates, installation target checks, or configuration reads will all be included in the failure summary of the corresponding project and will not be reported as all successes. Index entries that no longer exist and can be safely confirmed that there are no more project-level installations will be cleared. --platform is suitable for scenarios where a single platform lacks skills, rules or hooks, or where only the project needs to be refreshed to customize the platform. Once specified, it will not be modified to other platforms. When omitted, all parsed targets are still processed within the current range. Automation should always pass --json, --current-project, or --all-projects explicitly. Comet does not infer scope from “script vs interactive” execution. If those options are omitted and the index is non-empty, it still enters interactive scope selection.

npm self-updates boundaries

The current-project mode includes explicit --current-project, --json, default calls when there is no selectable index, and explicit --scope global. These calls do not modify any npm installations by default, including global packages and project-level packages. Only --self-update will update the corresponding Comet package before refreshing the assets. all-projects belongs to a relatively broad update mode, and by default, it allows the update of applicable packages corresponding to each project. The same global package can be attempted at most once. If you only want to refresh the assets of the registered items, pass in --skip-self-update. --self-update and --skip-self-update are mutually exclusive. Self-updating will compare the complete semver installed by the target, including pre-release versions. Refuse to downgrade when the candidate version is lower than the installed version. Before installation, Comet will install the precise candidate version to the isolated temporary directory and verify the version, workflow resolve and Native commands within the bounded time and output budget. When the candidate verification fails, the target installation remains as it is. When the actual installation fails, Comet will attempt to restore the original precise version and report the entire update as incomplete.

When will it run?

  • After upgrading @rpamis/comet.
  • comet doctor prompts that the Skill or script version is inconsistent.
  • Switch between Chinese or English skills.
  • The team updated the project-level Comet configuration.

Update the boundary between Native and Classic

Just like comet init, comet update will:
  • The Native project refreshes Comet’s own Skill/runtime, unified workflow Rule, Hook Router and Ambient Resume instructions, and consistently uses Copy. It cannot create .comet/skills/ and will skip CodeGraph and Classic exclusive skills. When encountering the installation of an old symlink, the Comet managed link will be safely unlinked and materialized as a local copy, and will not be written back to .comet/skills/ along the link. When the shared directory contains unmanaged skills, the scene will be retained and replacement will be refused.
  • The Classic and global targets retain the original installation mode selection (Copy/Symlink) and dependency capabilities. When Symlink is selected, a link to .comet/skills/ will be reconstructed.
  • .comet/config.yaml is configured as a shared project and merged by field, while another workflow and user field are retained. Native updates do not delete existing Classic files, and changing the default entry does not equal migrating the workflow.
  • ambient_resume controls the same set of read-only environment-aware recovery instructions for Native and Classic. When set to false, the update will remove the managed recovery block but retain other user rules.
comet update does not manage OpenSpec, Superpowers or other third-party skills; Native projects will also skip CodeGraph and Classic exclusive skills, while Classic maintains its original behavior. The existing platform’s skills/ directory will be retained. The Symlink mode only refreshes the links managed by Comet and does not delete local or third-party skills.

Recommendation process

Last modified on September 8, 2026