The umbrella half of the shared-skills problem.
The analysis, the three options considered and the recommendation are in RonenMars/threadbase-mobile#796 — read that first; this issue covers only what this repo would host.
Why this repo
Agent skills are currently copied by hand into each component repo, and nothing detects when the copies diverge.
There are 19 repositories matching threadbase on the account.
Two skills already exist under the same name in both threadbase-mobile and threadbase-streamer — integration-branch and ship — and a third exists under two different names.
Bringing one of them back into agreement today took three pull requests across two repos and a manual reconciliation in both directions.
This repo is the natural single source, since it already holds the conventions the component repos treat as canonical, including docs/issue-tracker.md.
What this repo would hold
The recommendation is a plugin marketplace here, with a hash-based drift check as the backstop for mirrors it cannot reach.
.claude-plugin/marketplace.json, declaring a threadbase-skills plugin. This repo has no .claude-plugin/ directory today.
skills/, holding the skills that genuinely apply to more than one repo — starting with integration-branch and ship.
- A workflow that fails when a component repo's mirrored copy hashes differently from the canonical one, which is what covers
.agents/ consumers such as Codex and Cursor, since those do not read Claude Code plugins.
Skills that belong to one repo stay in that repo and are out of scope: deploy-menubar, local-deploy, verify and setup-auto-updater in streamer, expo-local-ship, ship-expo-cloud, ship-fastlane and setup-cloudflared in mobile.
Verified state
Checked 2026-08-20.
Component-repo halves: RonenMars/threadbase-mobile#796 and RonenMars/threadbase-streamer#660.
The umbrella half of the shared-skills problem.
The analysis, the three options considered and the recommendation are in RonenMars/threadbase-mobile#796 — read that first; this issue covers only what this repo would host.
Why this repo
Agent skills are currently copied by hand into each component repo, and nothing detects when the copies diverge.
There are 19 repositories matching
threadbaseon the account.Two skills already exist under the same name in both threadbase-mobile and threadbase-streamer —
integration-branchandship— and a third exists under two different names.Bringing one of them back into agreement today took three pull requests across two repos and a manual reconciliation in both directions.
This repo is the natural single source, since it already holds the conventions the component repos treat as canonical, including
docs/issue-tracker.md.What this repo would hold
The recommendation is a plugin marketplace here, with a hash-based drift check as the backstop for mirrors it cannot reach.
.claude-plugin/marketplace.json, declaring athreadbase-skillsplugin. This repo has no.claude-plugin/directory today.skills/, holding the skills that genuinely apply to more than one repo — starting withintegration-branchandship..agents/consumers such as Codex and Cursor, since those do not read Claude Code plugins.Skills that belong to one repo stay in that repo and are out of scope:
deploy-menubar,local-deploy,verifyandsetup-auto-updaterin streamer,expo-local-ship,ship-expo-cloud,ship-fastlaneandsetup-cloudflaredin mobile.Verified state
Checked 2026-08-20.
gh repo list RonenMarsreturns 19 repositories matchingthreadbase..claude/holds onlysettings.jsonandsettings.local.json; the API returns 404 for.claude-plugin.integration-branch/SKILL.mdmeasured 439 lines in mobile against 796 in streamer before today's synchronisation, each holding content the other lacked.ship/SKILL.mdis byte-identical at 108 lines in both repos, with nothing enforcing it.Component-repo halves: RonenMars/threadbase-mobile#796 and RonenMars/threadbase-streamer#660.