SKILL·D89B4A

vertical-fitness

avelikiy
更新于 23 days ago
3 次查看
53
11
53
在 GitHub 上查看
aidesign

关于

This Claude Skill provides domain-specific knowledge for building fitness and wellness software, covering essential concepts like membership freezes, booking rules, and retention strategies. It helps developers design accurate schemas and workflows that reflect real studio operations, not generic CRUD logic. Use it when specifying products like class-booking systems or coaching platforms to properly model industry entities and compete with existing solutions.

快速安装

Claude Code

推荐
主要方式
npx skills add avelikiy/great_cto -a claude-code
插件命令备选方式
/plugin add https://github.com/avelikiy/great_cto
Git 克隆备选方式
git clone https://github.com/avelikiy/great_cto.git ~/.claude/skills/vertical-fitness

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

Fitness & wellness — spec it like a studio bills and books

Boutique studios, gyms, coaches, on-demand brands. Members on recurring plans, classes with finite capacity, retention won or lost on attendance. A builder who models this as "events + tickets" ships something no studio owner will run their business on — because the hard parts are billing and waitlists, not the calendar. This skill is the domain briefing so the spec is right before code starts.

1. Domain vocabulary (know these or look naive)

  • Class pack vs unlimited membership vs drop-in — three distinct products. A pack is N prepaid classes that decrement (10-class pack); an unlimited membership is a recurring plan (often monthly auto-renew) with no per-class deduction; a drop-in is a single paid visit. The schema must hold all three, not collapse them into "credits".
  • Recurring billing / auto-renew — memberships rebill on a cycle (monthly is the norm) until cancelled. This is the revenue engine and the hardest thing to get right (see §2).
  • Waitlist — a full class has an ordered queue; when a spot opens (someone late-cancels), the system auto-promotes the next person and notifies them. Core, not optional.
  • Late-cancel / no-show fee — cancelling inside the policy window (e.g. <12h) or not showing forfeits the class (pack decrements) or charges a fee. The policy is the booking discipline.
  • Class capacity — every class has a hard cap (bikes, mats, reformers). Booking beyond cap goes to the waitlist, never overbooks.
  • Recurring class schedule — classes are templates ("Mon/Wed/Fri 6am Spin") that generate dated instances, with per-instance overrides (holiday cancel, sub instructor). Not a list of one-off events.
  • Check-in — marking a member present at class; drives attendance history, which drives churn signals and pack decrement.
  • Freeze / hold — a member pauses a membership (travel, injury) without cancelling; billing suspends, the plan resumes later. Expected feature.
  • MRR / churn rate / LTV — monthly recurring revenue, the % of members who cancel per month, and lifetime value. The owner's scoreboard.
  • Punch card — a physical-metaphor pack (10 punches); same model as a class pack with a remaining balance.
  • Family / household account — one billing account, multiple members (parent + kids, couples); shared or separate balances.
  • Mindbody discovery marketplace — Mindbody's consumer app where users find and book studios. Listing there is a customer-acquisition channel, not just software — see §2 and §5.

2. Non-obvious domain rules (what makes this vertical specific)

  • Billing is the hard part, not booking. Packs that decrement, memberships that auto-renew, freezes/holds that suspend billing, proration on mid-cycle plan changes, and failed-payment retry/dunning are where naive specs collapse. Design the membership/pack/freeze model first; the calendar is the easy half.
  • No-show / late-cancel fees + waitlist promotion are core booking logic. A cancel inside the window triggers a fee and frees a spot that must auto-promote the next waitlisted member with a notification. The two rules are coupled — model them together.
  • Recurring class schedules generate per-instance bookings. Members book a specific dated instance ("this Friday's 6am"), but the schedule is a recurring template with exceptions. Booking, capacity, and waitlist all attach to the instance, not the template.
  • Class capacity + waitlist auto-promote is the heart of booking. Cap is hard; overflow queues; promotion is automatic and time-sensitive (a spot freed 2h before class should offer to the waitlist immediately).
  • Mindbody's moat is the consumer discovery app — displacing it is a real trade-off. Replacing Mindbody as the studio's software is easy software-wise, but a studio that delists loses Mindbody's marketplace as a lead source. Surface this trade-off in the spec (see §5) — don't silently assume displacement is free.

3. What a naive build gets wrong

  • Membership without freeze/hold + proration. Modeling a plan as a flat recurring charge with no pause and no mid-cycle math. Members travel and get injured; owners offer holds. No freeze = cancellations instead of pauses = churn the product caused.
  • No waitlist auto-promotion. A waitlist that's just a list nobody acts on. The value is the automatic promote-and-notify when a spot frees; without it the feature is theatre.
  • Ignoring no-show / late-cancel policy. Free cancellation anytime wrecks class economics (members hoard spots they won't use). The fee/ forfeit window is load-bearing booking logic.
  • Class schedule as one-off events. Hand-creating every class instead of a recurring template with exceptions. Unmaintainable, and it breaks the moment an owner cancels one holiday occurrence.
  • Churn-prevention with no real at-risk signal. "Members who haven't paid" is too late. The real leading signal is an attendance drop (was coming 3×/wk, now 0× for 2 weeks) — that's where win-back must fire, before the cancel.

4. Must-model entities / fields (beyond generic CRUD)

Schema hints — keep these migration-friendly (see [[migration-ready-schema]]):

  • Membership / ClassPacktype (pack | unlimited | drop-in), remaining_balance (packs), billing_interval + auto_renew + price (memberships), freeze_state {active, frozen_until}, start/end, linked account. Freeze suspends billing; proration on plan change.
  • RecurringClass (template) — cadence (days/times), instructor, capacity, service_type; generates ClassInstance rows.
  • ClassInstance — dated occurrence of a template; start, capacity, instructor (sub override), cancelled flag; bookings attach here.
  • Booking — member ↔ ClassInstance; status (booked → checked_in | late_cancel | no_show), pack_decremented, fee_charged.
  • Waitlist — ordered queue per ClassInstance; position, auto_promote action that converts to a Booking + notification.
  • NoShowPolicycancel_window (e.g. 12h), late_cancel_fee, no_show_fee, pack-forfeit rule; referenced at booking time.
  • Member — profile + attendance history (the churn signal: visits/week trend), household links, consent flags.
  • AccessTier — for on-demand-video: which content a plan unlocks (free / member / premium), gating the streaming library.

5. Per-product notes (wedge + the one thing to get right)

  • class-booking (booking) — sell memberships/packs, members book classes with waitlists. Wedge: Mindbody is $99–599/mo and bloated for a single studio; a clean booking + membership system a small studio actually runs is the wedge. Must get right: the coupled capacity → waitlist → auto-promote loop and the no-show/late-cancel policy, on top of a real membership/pack/freeze billing model. Trade-off to surface: displacing Mindbody as the studio's software also drops the studio off Mindbody's consumer discovery marketplace — a lead-gen channel lost. Name it in the spec; don't assume the switch is free.
  • coaching (content) — deliver programs, plans, habit tracking. Wedge: give coaches a structured program-delivery surface instead of PDFs and spreadsheets. Must get right: programs as structured plans (weeks → sessions → exercises) with member habit/adherence tracking, not a file dump — adherence data also feeds the churn signal.
  • churn-prevention (crm) — spot at-risk members, win them back before cancel. Wedge: automate the retention save that owners do by gut. Must get right: a real at-risk signal driven by attendance drop (not by failed payment, which is too late), firing a win-back sequence; message mechanics deferred to [[lifecycle-messaging]].
  • on-demand-video (content) — streaming library with access tiers. Wedge: net-new revenue, no displacement risk — a studio can launch this alongside whatever booking software it already runs, so it's the safest first product. Must get right: AccessTier gating (free / member / premium) so the library unlocks correctly per plan.

6. Compliance / regulatory touchpoints (light — pointers, not full treatments)

  • Recurring-billing / auto-renew law — auto-renew memberships are regulated: clear renewal disclosure at signup, and several US states (e.g. CA's ARL) mandate an easy online cancellation path. Model auto_renew with a self-serve cancel; don't make cancellation a phone call. Defer PCI scope / processor design to the billing layer — the spec needs the renewal + cancel fields, not the gateway.
  • Liability waivers — studios require a signed waiver before first class. Let Member carry a waiver_signed_at reference field so a build can gate booking on it; don't model the legal doc itself.
  • SMS consent (reminders / win-back) — booking reminders and win-back are SMS/email; consent, STOP/HELP, and quiet hours apply. Defer all messaging infra and consent design to [[lifecycle-messaging]] — just flag that reminders exist so it's speced in, not bolted on.
  • Health-data sensitivity (light) — fitness/attendance/habit data is not HIPAA PHI for a studio, so don't over-engineer a compliance regime. But it's personal and sensitive (injuries, body metrics in coaching) — keep it access-controlled and out of analytics by default. Light touch, not a regulated build.

Output

When applied, the architect/pm carries these into ARCH-.md / PLAN-.md: the membership/pack/freeze billing model, the capacity → waitlist → auto-promote booking loop, the no-show/late-cancel policy, the recurring-class template + per-instance booking, the attendance-drop churn signal, and the on-demand AccessTier gating — plus the explicit Mindbody discovery-channel trade-off for class-booking. Cross-reference [[lifecycle-messaging]] (reminders / win-back), [[migration-ready-schema]] (a Mindbody export must preserve pass/pack balances and membership state on import), and [[vertical-onboarding]] rather than re-deriving them.

GitHub 仓库

avelikiy/great_cto
路径: skills/vertical-fitness
0
agentic-codingclaude-code-pluginclaude-code-skillsclaude-code-subagentscode-reviewcto
FAQ

Frequently asked questions

What is the vertical-fitness skill?

vertical-fitness is a Claude Skill by avelikiy. Skills package instructions and resources that Claude loads on demand, so Claude can perform vertical-fitness-related tasks without extra prompting.

How do I install vertical-fitness?

Use the install commands on this page: add vertical-fitness to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.

What category does vertical-fitness belong to?

vertical-fitness is in the Meta category, tagged ai and design.

Is vertical-fitness free to use?

Yes. vertical-fitness is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.

相关推荐技能

content-collections

Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。

查看技能
polymarket

这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。

查看技能
creating-opencode-plugins

该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。

查看技能
sglang

SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。

查看技能