By YuvalKlein
Shared Claude skills for the UNITISM team. Install once per teammate; each skill auto-triggers based on what the person is doing.
Use this skill when the user pastes a cross-repo handoff message originating from the `non-engineer-frontend-contribution` skill. Triggers specifically on messages containing the header "## Cross-repo change requested" or the block "## Paste-ready brief for Claude Code", or on pastes that start with "I need to add a backend change to support a frontend PR that's waiting." Also triggers when the user pastes any message that names a frontend PR URL from `tennis-miami-web`, `arenna-link`, or `tennis-miami` and asks for a matching backend change. This skill parses the message, identifies the target repo, creates a branch from `development`, implements the specified change, opens a PR back to `development` linked to the originating frontend PR, and — on merge — generates a notification message for the original requester (Asad or Kath). Installed on Yuval's and Yudi's Claude Code only. Do NOT trigger on general feature requests unconnected to a non-engineer handoff, on discussions about the handoff flow itself, or on frontend-only changes.
Use this skill whenever the user is contributing to the frontend of `arenna-link`, `tennis-miami`, or `tennis-miami-web`. Triggers on any UI change (buttons, forms, layout, colors, spacing, icons), copy or text changes, design tweaks, or bug fixes visible to users. Also triggers on requests phrased as "I want to change...", "fix the...", "update the...", "the landing page needs...", or similar, when the session is in one of those three repos or mentions them by name. This skill keeps the person on a safe branch off `development`, auto-writes commits, and runs scope / secret / out-of-scope checks before opening a PR. It also generates paste-ready handoff messages when a change requires a different repo (backend, agent-server). Do NOT trigger on backend repos (`unitism-backend`, `arenna-backend`, `arenna-agent-server`), on Flutter/Dart business-logic changes that are not UI-visible, on CI / deploy / infrastructure config, or on documentation-only changes. Intended for team members whose primary role is not engineering (e.g., UX design, customer success) — engineers working in these repos can say "I'll handle this manually, skip the rails" to opt out mid-session.
Use this skill whenever a change is being made to a primary surface in a UNITISM consumer-facing repo (`tennis-miami`, `tennis-miami-web`, `arenna-link`, or future consumer apps on the platform). Primary surfaces include: bottom navigation / tab bar, the first screen shown after login or signup, the onboarding or signup flow's headline / primary CTA, the app store listing copy, the marketing site hero or top-level navigation, the home tab's empty state, and the first push notification copy sent to a new user. Triggers on diffs that add, remove, rename, reorder, or re-label items on these surfaces; on copy changes to hero headlines, CTAs, or onboarding text; on icon or label changes for nav tabs; and on any request phrased as "add X tab", "show Y on home", "rename the Z tab", "change the hero", or similar primary-surface language. Also triggers when a backend or features-only change introduces a new user-facing surface that will need primary-surface placement (e.g., a new entitlement that implies a new tab). The skill checks the change against `_shared/strategy/product-positioning-principles.md`, identifies which product's positioning applies (Tennis Miami → community-first; ARENNA → instructor-first), runs the primary-surface decision test, and outputs a flag-with-reasoning + a suggested non-primary alternative when the change risks shifting the product's perceived category. Do NOT trigger on backend-only changes with no user-visible surface, on internal tooling, on test files, on lockfiles, on changes confined to non-primary surfaces (account/settings/profile sub-views), or on changes to internal product or strategy docs. Engineers can opt out for a single change by saying "skip the positioning check — I've thought about it."
Use this skill whenever the user is working on `unitism-backend` — adding, modifying, or removing endpoints under `/api/v1/*`, creating or editing modules, writing TypeORM migrations or entities, changing DTOs or response shapes, modifying database triggers, or touching authentication, units, projects/holons, payments, or any cross-cutting platform module. Triggers on requests phrased as "add an endpoint for...", "the backend needs to support...", "modify the X module", "update the X entity", "create a migration for...", "fix the payment / auth / units bug", or any session where the working directory is `unitism-backend` or where files under its `src/` are being edited. Also triggers when a `cross-repo-handoff-message` paste asks for a backend change in `unitism-backend`. The skill enforces: COMPONENTS.md / API_GUIDE.md / PROTECTED.md as the canon, the `/api/v1/*` versioning contract, attribute inheritance via DB triggers, the no-breaking-changes rule, TDD red→green→refactor, event-table logging for every mutation, and — critically — cross-client verification before declaring done (web AND mobile, not just one). Do NOT trigger on frontend-only changes (those go to `non-engineer-frontend-contribution`), on infrastructure or CI changes, or on documentation-only edits. For ARENNA cross-repo features that touch `unitism-backend` AND `arenna-agent-server` AND `sessionizer` in one flow, this skill runs for the `unitism-backend` portion only.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Shared Claude skills for the UNITISM team and the businesses on it (ARENNA, Tennis Miami, future).
This repo is structured as a Claude plugin marketplace. The team admin syncs it once into the Claude organization with "Installed by default" access; everyone in the org gets the plugin automatically on their next app launch. Claude then auto-loads the relevant skill whenever the task matches. One person's breakthrough becomes everyone's baseline.
YuvalKlein/unitism-skills from the dropdown. Leave Marketplace name as default (or set to something cleaner like Unitism). Keep Sync automatically ON. Set Default access to Installed by default — this is what gives every org member the plugin without them needing to click anything.Claude will sync the marketplace from the repo. Within a few seconds the entry should show Synced with the Unitism plugin listed under it. From this moment on, every push to main propagates to every org member's desktop app on next restart.
Prerequisite: Asad and Kath must be members of your Claude organization (Identity and access tab in the same admin sidebar). If they're on individual Claude accounts, the plugin won't reach them — invite them to the org first.
There is no install step. With Installed by default set on the admin side, the plugin appears automatically.
/ in any chat. You should see autocomplete options including:
non-engineer-frontend-contributioncross-repo-handoff-messageproduct-positioning-checkunitism-backend-featureIf those four names appear, the plugin is active and the skills are ready to fire on the right triggers.
Installation is one thing; the skill triggering at the right moment is another. Quick smoke tests:
non-engineer-frontend-contribution — open a Tennis Miami repo (tennis-miami, tennis-miami-web, or arenna-link) in Claude, then say "I want to change the signup button color to navy." If the skill is active, Claude announces the branch name (<yourname>/feat/signup-button-color) before doing anything else. If Claude just edits files without announcing a branch, the skill didn't trigger.product-positioning-check — in the same kind of repo, say "add a Wallet tab to the bottom navigation." If the skill is active, Claude pushes back with a positioning verdict referencing the locked principles doc, before writing code. If Claude just adds the tab silently, the skill didn't trigger.unitism-backend-feature — open unitism-backend in Claude, then say "add an endpoint to update a contributor's payout preferences." If the skill is active, Claude reads COMPONENTS.md / API_GUIDE.md / PROTECTED.md before writing code, lists which clients consume the endpoint, and explicitly mentions cross-client smoke testing. If Claude just writes a controller, the skill didn't trigger.cross-repo-handoff-message — only fires when you paste a handoff message starting with ## Cross-repo change requested. Not worth testing standalone; you'll see it the first time someone pastes one in.npx claudepluginhub yuvalklein/unitism-skills --plugin unitismUltra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Frontend design skill for UI/UX implementation
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Memory compression system for Claude Code - persist context across sessions
Marketing skills for AI agents — conversion optimization, copywriting, SEO, paid ads, ad creative, and growth
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.