You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit cb84ca9
Browse filesBrowse the repository at this point in the historyBrowse files
feat(workspace): publish a project skill to the workspace over serve HTTP
- `GET /altimate/skill/publishable` lists the project skills that can be
published; `POST /altimate/skill/publish { name }` runs `publishSkill`,
so the IDE extension's pin, the publish ledger and the CLI's wording are
shared. Same pilot and origin gate as `/altimate/workspace/*`; engine
refusals and ineligible skills answer 422 (409 stays the pilot gate).
- The registry is reloaded in-context before each lookup, so a skill
written after `serve` started is found, also in a skills directory that
did not exist at boot.
- `isManagedSkill` also recognises skills the IDE extension delivered
(`.altimate-managed.json`) and a snapshot above the project directory.
- Discovery: a workspace-synced copy never shadows a project skill of the
same name. `.claude`/`.agents` are scanned before the snapshot, so a
skill published from there was replaced by its own synced copy.
- `skill_published` telemetry gains `source: "serve"`.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
altimate-code skill publish my-tool # upload every file in the skill directory; re-run to update
198
198
```
199
199
200
-
`skill publish` sends the whole skill directory, not just `SKILL.md`, so keep secrets out of it. A built-in filter skips known file and directory names — `.env*`, `.git`, `id_rsa`, `*.pem`, `*.key`, `*.p12`, `.npmrc`/`.netrc`, `credentials.json`, `secrets.*`, `.ssh`/`.aws`, editor swap files — but it matches names only and never scans file contents, so a token inside `config.yaml` or a key named `server.crt` would still be uploaded. Built-in skills, global skills and skills the workspace itself sent you cannot be published.
200
+
`skill publish` sends the whole skill directory, not just `SKILL.md`, so keep secrets out of it. A built-in filter skips known file and directory names — `.env*`, `.git`, `id_rsa`, `*.pem`, `*.key`, `*.p12`, `.npmrc`/`.netrc`, `credentials.json`, `secrets.*`, `.ssh`/`.aws`, editor swap files — but it matches names only and never scans file contents, so a token inside `config.yaml` or a key named `server.crt` would still be uploaded. Built-in skills, global skills and skills the workspace itself sent you cannot be published — including the copies the VS Code / Cursor extension delivers into `.claude/skills/` and `.agents/skills/`, which carry an `.altimate-managed.json` marker.
0 commit comments