Gitea reserves secret names beginning with GITEA_, so the `GITEA_NPM_TOKEN` this workflow has referenced since the fork's first commit could never be created — which is why CI publishing never worked and the June release was pushed by hand. Rename to NPM_PUBLISH_TOKEN (org secret, write:package). Refs #22 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PPmy3tPq869XDW4njjVaKA