用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/jingkaihe/thirdspace --skill thirdspace命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | thirdspace |
| description | Manage Third Space gym classes with the thirdspace CLI. |
Use the thirdspace command as an agent-facing interface to the unofficial Third Space API client. The binary must be available in PATH.
thirdspace status. If authentication is missing, follow the non-interactive login guidance below.thirdspace club show. Use the saved chosen club or clubs as the default scope for class searches, booking lists, and class actions unless the user explicitly requests another club or all clubs.--json for every read command that supports it. Extract IDs from returned data; never invent or infer an ID.YYYY-MM-DD date in Europe/London, pass that date with --date, and tell the user which date was used.--yes, but only after the user has approved the exact action and class.eventAction as authoritative. Do not attempt to bypass booking, waitlist, or cancellation rules.Check local session state first:
thirdspace status
If the user has already supplied credentials through secure environment variables, login can run non-interactively:
printf '%s\n' "$THIRDSPACE_PASSWORD" | thirdspace login --email "$THIRDSPACE_EMAIL" --password-stdin
Only run that command when both variables are already present. Otherwise, ask the user to authenticate separately in their terminal. The password is not persisted; session credentials refresh automatically.
Use thirdspace refresh only to troubleshoot or when the user explicitly asks for an immediate refresh. Run thirdspace logout only on an explicit logout request because it removes stored credentials.
List clubs as JSON to discover valid club IDs:
thirdspace clubs --json
Relevant fields are clubId, name, and code.
Inspect or change saved default clubs:
thirdspace club show
thirdspace club choose 1,2
thirdspace club clear
The IDs reported by thirdspace club show define the normal scope for this skill. If no default club is selected, run thirdspace clubs --json and ask the user to choose a club before listing classes or bookings. Only use all clubs when the user explicitly asks for all clubs.
club choose and club clear persist a user preference, so run them only when requested. Do not change the saved preference merely to satisfy a one-off request for another club.
Class searches use saved defaults when --club is omitted. This is the normal behavior. Use --club CLUB_ID[,CLUB_ID] only for an explicitly requested one-off override, or --club all only for an explicit all-clubs search.
Always set DATE to the concrete London calendar date requested by the user. --days accepts 1 through 31.
thirdspace classes --date "$DATE" --days 7 --json
thirdspace classes --date "$DATE" --days 1 --name yoga --json
thirdspace classes --date "$DATE" --days 1 --trainer smith --json
These commands intentionally omit --club, causing the CLI to use the saved chosen club or clubs. For a one-off scope that the user explicitly requested:
thirdspace classes --date "$DATE" --days 1 --club "$CLUB_ID" --json
thirdspace classes --date "$DATE" --days 1 --club all --json
Name and trainer filters are case-insensitive. Useful class fields include:
idnamestartDateclubId and clubNamezoneNametrainerNamespaceseventActionTimes shown to users must be interpreted and reported in Europe/London.
Fetch fresh details before discussing or performing an action on a class:
thirdspace class CLASS_ID --json
thirdspace bookings --range upcoming --json
thirdspace bookings --range past --json
thirdspace bookings --range cancelled --json
The bookings command returns account bookings without a club flag. By default, filter the returned JSON to entries whose clubId is one of the saved chosen club IDs, and tell the user that the list is scoped to their chosen club or clubs. Show bookings from another club or all clubs only when explicitly requested.
Use the returned class IDs for follow-up detail or mutation commands.
Mutations are external side effects. Never turn a search or recommendation request into a booking change.
Map the fresh class-detail eventAction to the only valid command:
eventAction | Command |
|---|---|
join | thirdspace book CLASS_ID --yes |
wait | thirdspace waitlist CLASS_ID --yes |
cancel | thirdspace cancel CLASS_ID --yes |
late_cancel | thirdspace cancel CLASS_ID --yes |
leave | thirdspace leave-waitlist CLASS_ID --yes |
Before running a mutation:
thirdspace class CLASS_ID --json immediately before approval.clubId is one of the saved chosen club IDs. If not, proceed only when the user explicitly requested or approves acting at that other club.eventAction is late_cancel, warn that the app marks it as a late cancellation and a penalty may apply. Obtain confirmation that specifically acknowledges the late cancellation.--yes. The CLI rechecks the server action immediately before applying it.All commands accept --config PATH; THIRDSPACE_CONFIG can set the same path. Use a custom path consistently throughout one workflow. Do not inspect its contents because it may contain session credentials.
Do not override THIRDSPACE_BASE_URL except for an explicitly requested loopback test environment. The API is undocumented and server-authoritative.