GitHub doesn't auto-create a repo on first push the way Gitea does, so a push mirror pointed at a nonexistent GitHub repo registers successfully but fails on every sync attempt.
Adds a step to the mirror-it skill that checks whether the target GitHub repo exists before registering the mirror, and creates it if not — preferring gh repo create, falling back to a GitHub MCP server, then to the plain REST API via curl and $GITHUB_TOKEN.
If none of those capabilities are available, the skill no longer silently proceeds — it must warn the user clearly that they need to create the target repo manually before the mirror's first sync will succeed.
Bumps plugin version 1.0.0 -> 1.1.0.
Manual Verification Checklist
Run /mirror-it against a Gitea repo whose GitHub target repo does NOT exist yet, with gh authenticated — confirm the repo is created before the mirror registers.
Run /mirror-it against a Gitea repo whose GitHub target repo already exists — confirm it's left untouched and no error is raised.
Temporarily make gh/MCP/curl unavailable and confirm the skill still registers the mirror but clearly warns about manual repo creation.
Confirm $GITHUB_TOKEN is never echoed/printed during any of the above.
## Summary
- GitHub doesn't auto-create a repo on first push the way Gitea does, so a push mirror pointed at a nonexistent GitHub repo registers successfully but fails on every sync attempt.
- Adds a step to the `mirror-it` skill that checks whether the target GitHub repo exists before registering the mirror, and creates it if not — preferring `gh repo create`, falling back to a GitHub MCP server, then to the plain REST API via `curl` and `$GITHUB_TOKEN`.
- If none of those capabilities are available, the skill no longer silently proceeds — it must warn the user clearly that they need to create the target repo manually before the mirror's first sync will succeed.
- Bumps plugin version 1.0.0 -> 1.1.0.
## Manual Verification Checklist
- [x] Run `/mirror-it` against a Gitea repo whose GitHub target repo does NOT exist yet, with `gh` authenticated — confirm the repo is created before the mirror registers.
- [x] Run `/mirror-it` against a Gitea repo whose GitHub target repo already exists — confirm it's left untouched and no error is raised.
- [x] Temporarily make `gh`/MCP/curl unavailable and confirm the skill still registers the mirror but clearly warns about manual repo creation.
- [x] Confirm `$GITHUB_TOKEN` is never echoed/printed during any of the above.
GitHub, unlike Gitea, doesn't create a repo on first push, so a mirror
pointed at a nonexistent GitHub repo would register successfully but
fail every sync. Check for the target repo via gh/MCP/REST API and
create it if missing, falling back to a clear manual-creation warning
when no capability is available. Bumps plugin version to 1.1.0.
All checks were successful
Generate plugin manifests / validate (pull_request) Successful in 17s
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
mirror-itskill that checks whether the target GitHub repo exists before registering the mirror, and creates it if not — preferringgh repo create, falling back to a GitHub MCP server, then to the plain REST API viacurland$GITHUB_TOKEN.Manual Verification Checklist
/mirror-itagainst a Gitea repo whose GitHub target repo does NOT exist yet, withghauthenticated — confirm the repo is created before the mirror registers./mirror-itagainst a Gitea repo whose GitHub target repo already exists — confirm it's left untouched and no error is raised.gh/MCP/curl unavailable and confirm the skill still registers the mirror but clearly warns about manual repo creation.$GITHUB_TOKENis never echoed/printed during any of the above.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.