{"id":"d07140f1-fe87-4021-b6ff-478f2f847b61","entityType":"agent","slug":"clawhub-chrischall-signupgenius","name":"signupgenius","canonicalUrl":"https://www.xpersona.co/agent/clawhub-chrischall-signupgenius","canonicalPath":"/agent/clawhub-chrischall-signupgenius","generatedAt":"2026-10-10T10:52:13.870Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T06:17:01.339Z","emptyReason":null},"description":"Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports. Skill: signupgenius Owner: chrischall Summary: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks,","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.6K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:signupgenius","sourceUrl":"https://clawhub.ai/chrischall/signupgenius","homepage":"https://clawhub.ai/chrischall/skills/signupgenius","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/chrischall/signupgenius","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/chrischall/skills/signupgenius","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T06:17:01.339Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T06:17:01.339Z","emptyReason":null},"stars":null,"forks":null,"downloads":1625,"packageName":null,"latestVersion":"2.1.9","tractionLabel":"1.6K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T06:17:01.339Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T06:17:01.339Z","lastCrawledAt":"2026-10-10T06:17:01.339Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T06:17:01.339Z","lastVerifiedAt":null,"highlights":[{"version":"2.1.9","createdAt":"2026-10-09T23:27:37.197Z","changelog":"- Added confirmation prompt and two-step confirmation process to signupgenius_add_group_member, matching the pattern used for other write operations. - Updated docs for all write tools to clarify confirmation flow and server-side control (via MCP_CONFIRM_ELICITATION). - Added notes on signing up others (who a sign-up is for) with explicit firstname/lastname/email parameters for claim_slot and rsvp tools. - Removed skill-card.md file.","fileCount":3,"zipByteSize":5330},{"version":"2.1.8","createdAt":"2026-10-07T13:38:04.151Z","changelog":"- Removed the file skill-card.md. - No changes to functionality or features. - No user-facing impact; this is a cleanup release.","fileCount":3,"zipByteSize":4825},{"version":"2.1.7","createdAt":"2026-10-05T02:52:43.669Z","changelog":"- Removed the file: skill-card.md - No feature or functional changes; this update is documentation-only.","fileCount":3,"zipByteSize":4868},{"version":"2.1.6","createdAt":"2026-10-03T01:45:06.580Z","changelog":"- Removed the file: skill-card.md - No changes to functionality or features; documentation cleanup only.","fileCount":3,"zipByteSize":4693},{"version":"2.1.5","createdAt":"2026-09-28T13:55:35.323Z","changelog":"- Updated fetchproxy extension references to the new ContextMint Bridge extension, including installation and source details. - Clarified usage instructions for setup with the renamed extension. - Removed obsolete skill-card.md file.","fileCount":3,"zipByteSize":4934},{"version":"2.1.4","createdAt":"2026-09-25T15:50:47.037Z","changelog":"- Updated confirmation flow for `signupgenius_rsvp`, `signupgenius_claim_slot`, and `signupgenius_release_slot`; first call now returns a preview with a `confirmToken`—repeat the call with this token to submit changes. - Documentation clarified to explain the two-step confirmation process for these actions. - Removed outdated file: skill-card.md.","fileCount":3,"zipByteSize":4641},{"version":"2.1.3","createdAt":"2026-09-23T21:44:14.244Z","changelog":"- Clarified usage of the confirm flag for the `signupgenius_rsvp` tool: now explicitly instructs to use dry-run preview by default and submit only with `confirm: true` after user approval. - Removed the file skill-card.md.","fileCount":3,"zipByteSize":4741},{"version":"2.1.2","createdAt":"2026-09-23T15:41:56.600Z","changelog":"- Removed the file: skill-card.md. - No changes to functionality or API. - Documentation and features remain unchanged.","fileCount":3,"zipByteSize":4708}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:signupgenius","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-signupgenius/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-signupgenius/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-signupgenius/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-signupgenius/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-signupgenius/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-signupgenius/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T10:52:13.866Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-signupgenius/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-signupgenius/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-signupgenius/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-signupgenius/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T06:17:01.339Z","emptyReason":null},"readme":"Skill: signupgenius\n\nOwner: chrischall\n\nSummary: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports.\n\nTags: latest:2.1.9\n\nVersion history:\n\nv2.1.9 | 2026-10-09T23:27:37.197Z | auto\n\n- Added confirmation prompt and two-step confirmation process to signupgenius_add_group_member, matching the pattern used for other write operations.\n- Updated docs for all write tools to clarify confirmation flow and server-side control (via MCP_CONFIRM_ELICITATION).\n- Added notes on signing up others (who a sign-up is for) with explicit firstname/lastname/email parameters for claim_slot and rsvp tools.\n- Removed skill-card.md file.\n\nv2.1.8 | 2026-10-07T13:38:04.151Z | auto\n\n- Removed the file skill-card.md.\n- No changes to functionality or features.\n- No user-facing impact; this is a cleanup release.\n\nv2.1.7 | 2026-10-05T02:52:43.669Z | auto\n\n- Removed the file: skill-card.md\n- No feature or functional changes; this update is documentation-only.\n\nv2.1.6 | 2026-10-03T01:45:06.580Z | auto\n\n- Removed the file: skill-card.md\n- No changes to functionality or features; documentation cleanup only.\n\nv2.1.5 | 2026-09-28T13:55:35.323Z | auto\n\n- Updated fetchproxy extension references to the new ContextMint Bridge extension, including installation and source details.\n- Clarified usage instructions for setup with the renamed extension.\n- Removed obsolete skill-card.md file.\n\nv2.1.4 | 2026-09-25T15:50:47.037Z | auto\n\n- Updated confirmation flow for `signupgenius_rsvp`, `signupgenius_claim_slot`, and `signupgenius_release_slot`; first call now returns a preview with a `confirmToken`—repeat the call with this token to submit changes.\n- Documentation clarified to explain the two-step confirmation process for these actions.\n- Removed outdated file: skill-card.md.\n\nv2.1.3 | 2026-09-23T21:44:14.244Z | auto\n\n- Clarified usage of the confirm flag for the `signupgenius_rsvp` tool: now explicitly instructs to use dry-run preview by default and submit only with `confirm: true` after user approval.\n- Removed the file skill-card.md.\n\nv2.1.2 | 2026-09-23T15:41:56.600Z | auto\n\n- Removed the file: skill-card.md.\n- No changes to functionality or API.\n- Documentation and features remain unchanged.\n\nv2.1.1 | 2026-09-21T16:37:10.961Z | auto\n\n- Removed the file: skill-card.md\n- No changes to core functionality or features.\n\nv2.1.0 | 2026-09-20T02:51:49.536Z | auto\n\n- Removed the skill-card.md file.\n- No functional changes to the skill itself.\n\nv2.0.0 | 2026-09-17T23:38:29.281Z | auto\n\n- Removed the skill-card.md file.\n- No functional changes to features or tools.\n- Documentation and skill functionality remain unchanged.\n\nv1.8.4 | 2026-09-15T19:23:39.651Z | auto\n\n- Removed the sample file skill-card.md.\n- No changes to functionality or user-facing features.\n- Documentation and setup remain unchanged.\n\nv1.8.3 | 2026-09-14T17:38:08.104Z | auto\n\n- Removed the file: skill-card.md\n- No feature or functionality changes; this update only deletes a documentation/support file.\n\nv1.8.2 | 2026-09-14T14:12:43.463Z | auto\n\n- Removed the file: skill-card.md\n- No changes to skill features, usage, or functionality.\n\nv1.8.1 | 2026-09-10T17:54:36.754Z | auto\n\n- Removed the file skill-card.md.\n- No functional or user-facing changes.\n\nv1.8.0 | 2026-09-04T22:26:23.463Z | auto\n\n- Removed the skill-card.md file.\n- No changes to feature set, functionality, or user experience.\n- Project structure cleanup; documentation and usage remain the same.\n\nv1.7.0 | 2026-08-31T00:22:40.330Z | auto\n\n- Removed the file: skill-card.md\n- No changes to functionality or user-facing features\n- Documentation and setup instructions remain unchanged\n\nv1.6.0 | 2026-08-29T13:54:39.893Z | auto\n\n- Removed the skill-card.md file.\n- No functional or user-facing changes.\n\nv1.5.0 | 2026-08-28T11:35:14.494Z | auto\n\n- Renamed skill from signupgenius-mcp to signupgenius\n- Removed unused or duplicate file: skill-card.md\n- No functionality changes; updated documentation to reflect the new skill name\n\nv1.4.0 | 2026-08-10T23:01:10.521Z | auto\n\n- Expanded public sign-up support with new tools: `signupgenius_list_slots`, `signupgenius_claim_slot`, and `signupgenius_release_slot` for managing slots on any public sheet.\n- Improved metadata tool: `signupgenius_get_public_signup` now returns sheet-level information only (no slots).\n- Updated write operations: slot claims and releases require a two-step, confirmable flow, and support required custom fields.\n- Removed `skill-card.md` file.\n- Updated documentation to reflect new tool behaviors and clarify usage of each tool.\n\nv1.3.1 | 2026-08-06T00:43:43.193Z | auto\n\n- Removed the file: skill-card.md\n- No changes to skill functionality or user-facing features.\n\nv1.3.0 | 2026-08-03T04:33:03.415Z | auto\n\n- Added new tool: signupgenius_get_signup_slots, which fetches slot details from any public sign-up with no auth required.\n- Clarified tool distinctions: reports (`signupgenius_report_*`) require a Pro key and only work on sheets you own, while the new get_signup_slots tool works on any public sheet.\n- Updated trigger and gotcha sections to direct \"what slots are open\" queries toward get_signup_slots for broader access.\n- Removed outdated skill-card.md documentation file.\n\nv1.2.2 | 2026-07-30T12:54:04.748Z | auto\n\n- Improved skill description and documentation for setup, authentication modes, and available tools.\n- Clarified usage examples and authentication mode priority, including Pro API requirements for slot reports.\n- Added detailed usage instructions for fetchproxy fallback mode, session login, and Pro key setup.\n- Expanded tool descriptions, covering group management, sign-up lists, public sign-ups, and reporting features.\n- Included gotchas and caveats about account support, usage limitations, write permissions, and ToS concerns.\n\nArchive index:\n\nArchive v2.1.9: 3 files, 5330 bytes\n\nFiles: skill-card.md (2069b), SKILL.md (9814b), _meta.json (131b)\n\nFile v2.1.9:SKILL.md\n\n---\nname: signupgenius\ndescription: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports.\n---\n\n# signupgenius-mcp\n\nMCP server for [SignUpGenius](https://www.signupgenius.com) — 14 read tools + 2 write across profile, groups, sign-ups, and reports.\n\n- **npm:** [npmjs.com/package/signupgenius-mcp](https://www.npmjs.com/package/signupgenius-mcp)\n- **Source:** [github.com/chrischall/signupgenius-mcp](https://github.com/chrischall/signupgenius-mcp)\n\n## Setup\n\nThree auth modes, tried in priority order — first match wins. **You only need one.**\n\n### Mode 1 — fetchproxy fallback (zero env vars, recommended)\n\nInstall the ContextMint Bridge browser extension once ([releases](https://github.com/nullnet-app/contextmint-bridge/releases): Chrome loads the chrome zip unpacked; Safari isn't available yet, so use Chrome for now — it's the fetchproxy extension renamed, source at https://github.com/nullnet-app/contextmint-bridge, verify a zip with its `.sha256` file), sign into [signupgenius.com](https://www.signupgenius.com), and add to `.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"]\n    }\n  }\n}\n```\n\nAt startup the MCP reads your `accessToken` / `cfid` / `cftoken` cookies once via the extension, then talks to SignUpGenius directly — the extension is **not** in the request hot path after that. Works with free accounts.\n\n### Mode 2 — session login (email + password)\n\nAdd an env block with your direct-login credentials (won't work with Google/Apple/Facebook/Microsoft SSO or 2FA):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"],\n      \"env\": {\n        \"SIGNUPGENIUS_EMAIL\": \"you@example.com\",\n        \"SIGNUPGENIUS_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}\n```\n\n### Mode 3 — Pro API key (required for slot reports)\n\nThe three `signupgenius_report_*` tools that list filled / available / all participants for a given sign-up only work against the documented Pro v2 API. Get a key from **Pro Tools → API Management** in your SignUpGenius dashboard (Pro subscription required), then:\n\n```json\n\"env\": { \"SIGNUPGENIUS_USER_KEY\": \"your-api-key\" }\n```\n\nModes can be combined; Pro key wins where it applies, session/fetchproxy handles everything else.\n\n## Tools\n\n### Profile\n\n- **`signupgenius_get_profile`** — Your own profile (name, email, account type).\n\n### Groups\n\n- **`signupgenius_list_groups`** — Every group you own or belong to.\n- **`signupgenius_list_group_members`** — Members of one of your groups.\n- **`signupgenius_get_group_member`** — One member's full record.\n- **`signupgenius_add_group_member`** *(write)* — Add a person to one of your groups (they may start receiving the group's invitations). Same confirmation as the other writes: a client that can show a prompt gets one (unless the server sets `MCP_CONFIRM_ELICITATION=off`); otherwise the first call adds nothing and returns a preview plus a `confirmToken` — show it to the user, then repeat the call with the same arguments plus `confirmToken`.\n\n### Sign-ups — created by you\n\n- **`signupgenius_list_created_active`** — Sign-ups you've created that are still open.\n- **`signupgenius_list_created_expired`** — Sign-ups you've created that have ended.\n- **`signupgenius_list_created_all`** — Both active and expired in one call.\n\n### Sign-ups — others'\n\n- **`signupgenius_list_invited`** — Sign-ups you've been invited to.\n- **`signupgenius_list_signedupfor`** — Sign-ups you've taken a slot on. (Session-mode also includes the bonus `signupgenius_legacy_get_my_signups` which calls the same backend the SignUpGenius web wizard uses and sometimes returns fuller data.)\n- **`signupgenius_legacy_get_my_signups`** *(session only)* — Bonus richer \"what am I signed up for\" lookup.\n\n### Public sign-up\n\n- **`signupgenius_get_public_signup`** — Sheet metadata by URL or slug: title, description, organizer, category, timezone, and the custom questions a sign-up must answer. **No auth required.** Metadata only — it carries no slots.\n- **`signupgenius_list_slots`** — Every slot on ANY public sign-up: date, day of week, start/end time, title, location, capacity, filled vs available, and who has signed up (with the number of spots each entry consumes). **No auth required**, and it works on sheets the user did not create. Reach for this first for \"what's still open\" — the report tools below cannot answer it for someone else's sheet.\n- **`signupgenius_rsvp`** *(write)* — RSVP yes/no/maybe to a headcount (Yes/No/Maybe) sheet. Never writes on the first call: a client that can show a prompt gets one (unless the server sets `MCP_CONFIRM_ELICITATION=off`); otherwise you get a preview plus a `confirmToken` — show the preview to the user and, only after they approve, repeat the call with the same arguments plus `confirmToken`. Responds as the signed-in account unless you pass `firstname`/`lastname`/`email` (see *Who a sign-up is for* below). Not for slot-based sheets.\n- **`signupgenius_claim_slot`** *(write)* — Sign up for a slot on a slot-based sheet. The first call writes nothing and returns a preview of the sheet, slot and identity (plus a `confirmToken` when the client cannot show a prompt, or when the server sets `MCP_CONFIRM_ELICITATION=off`); show it to the user, then repeat the call with the same arguments plus `confirmToken`. Pass the sheet's required custom fields (read them from `signupgenius_get_public_signup`). Signs up as the signed-in account unless you pass `firstname`/`lastname`/`email` (see *Who a sign-up is for* below).\n- **`signupgenius_release_slot`** *(write)* — Give up a slot the user signed up for. Same two-step confirmation as above. Takes `item_member_id` **and** `slotitemid` from the same `signupgenius_list_slots` row; it only ever withdraws the signed-in user's own entry and refuses anyone else's.\n\n### Reports — slots for a sign-up (Pro key only, **owner-scoped**)\n\n- **`signupgenius_report_all`** — Every slot + participant on a sign-up.\n- **`signupgenius_report_filled`** — Filled slots only.\n- **`signupgenius_report_available`** — Available slots only.\n\nThese need `SIGNUPGENIUS_USER_KEY` **and** answer only for sign-ups the key holder created — a Pro key is not a workaround for someone else's sheet. Use `signupgenius_list_slots` for availability *and* participant names on any sheet; the reports add only what it cannot carry: custom-question answers.\n\nOutside key mode these fail fast with a `KeyModeRequiredError` naming the tool, the mode required and the mode in effect, and instructing the user to set `SIGNUPGENIUS_USER_KEY`.\n\n## Who a sign-up is for\n\n`signupgenius_claim_slot` and `signupgenius_rsvp` default the name and email to the signed-in account's profile. Omit `firstname`, `lastname` and `email` when the user is signing up themselves, which is the usual case. Pass them only when the user asks to sign up someone else, such as a spouse or child. The tool allows that, but the preview then shows `identityDiffersFromAccount: true` and an `identityNote` naming both people. Point this out to the user before they confirm, because the entry stays tied to their account. Every preview's `identity` block shows the name and email that will be sent, and `source` says whether they came from the `account`, were `supplied`, or were `mixed`. The confirm token is bound to that identity, so changing it after the preview means previewing again.\n\n## Trigger examples\n\n- \"Check SignUpGenius — what am I signed up for this week?\" → `signupgenius_list_signedupfor` (+ `_legacy_get_my_signups` in session mode)\n- \"What slots are still open on the PTA potluck sign-up?\" → `signupgenius_list_slots` (no auth, works on anyone's sheet)\n- \"Who signed up for which slot on MY potluck?\" → `signupgenius_report_all` (Pro key, own sheets only)\n- \"List my SignUpGenius groups\" → `signupgenius_list_groups`\n- \"Add Jordan Smith (<jordan@example.com>) to my Scouts group\" → `signupgenius_add_group_member`\n- \"What sign-ups have I created that are still active?\" → `signupgenius_list_created_active`\n- \"RSVP me to slot 3 on this SignUpGenius link\" → `signupgenius_rsvp`\n\n## Gotchas\n\n- **Reports require Pro.** `signupgenius_report_*` only work with `SIGNUPGENIUS_USER_KEY` — session/fetchproxy users get a clear error pointing at the key.\n- **SSO accounts not supported.** Session mode is direct email/password only — no Google/Apple/Facebook/Microsoft SSO, no 2FA. Use fetchproxy mode instead if your account uses SSO.\n- **Session listings collapse.** In session mode the v3 `signups/created` endpoint returns active + expired in one paginated call — the three `list_created_*` tools all hit the same endpoint and filter client-side. Pro key mode has separate endpoints and exposes the real distinction.\n- **Write surface is small.** Only `signupgenius_add_group_member`, `signupgenius_rsvp`, `signupgenius_claim_slot` and `signupgenius_release_slot` mutate, all behind the confirmation gate; everything else is read-only.\n- **ToS caveat.** SignUpGenius's terms generally prohibit scripted/automated access. Personal-account, personal-scale use is the intended audience; running this against accounts you don't own or at scale is your problem.\n\nFile v2.1.9:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"signupgenius\",\n  \"version\": \"2.1.9\",\n  \"publishedAt\": 1791588457197\n}\n\nFile v2.1.9:skill-card.md\n\n## Description:\n\nHelps users review SignUpGenius sign-ups, available slots, reports, and groups, and manage sign-ups and group membership with confirmation before changes.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nPeople managing volunteer events, group invitations, or RSVPs use this skill to check sign-up sheets and open slots, review their groups, and confirm requested changes to participation or membership.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: SignUpGenius cookies, passwords, or API keys may expose account access if mishandled.\n\nMitigation: Use the least sensitive authentication mode that works and protect credentials and keys.\n\nRisk: Approving a write with the wrong identity, group, slot, or RSVP may change the wrong participation record or invite someone unintentionally.\n\nMitigation: Check the preview and approve only when the identity, group, slot, and RSVP match the intended action.\n\nRisk: Global installation makes account access available across projects.\n\nMitigation: Prefer project-scoped configuration unless access is needed everywhere.\n\n## Reference(s):\n\n- [SignUpGenius skill on ClawHub](https://clawhub.ai/chrischall/skills/signupgenius)\n- [SignUpGenius](https://www.signupgenius.com)\n- [signupgenius-mcp npm package](https://www.npmjs.com/package/signupgenius-mcp)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Guidance]\n\n**Output Format:** [Markdown]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include sign-up details, availability, group information, or a preview requiring approval before a change.]\n\n## Skill Version(s):\n\n2.1.9 (source: server-resolved release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v2.1.8: 3 files, 4825 bytes\n\nFiles: skill-card.md (2133b), SKILL.md (8173b), _meta.json (131b)\n\nFile v2.1.8:SKILL.md\n\n---\nname: signupgenius\ndescription: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports.\n---\n\n# signupgenius-mcp\n\nMCP server for [SignUpGenius](https://www.signupgenius.com) — 14 read tools + 2 write across profile, groups, sign-ups, and reports.\n\n- **npm:** [npmjs.com/package/signupgenius-mcp](https://www.npmjs.com/package/signupgenius-mcp)\n- **Source:** [github.com/chrischall/signupgenius-mcp](https://github.com/chrischall/signupgenius-mcp)\n\n## Setup\n\nThree auth modes, tried in priority order — first match wins. **You only need one.**\n\n### Mode 1 — fetchproxy fallback (zero env vars, recommended)\n\nInstall the ContextMint Bridge browser extension once ([releases](https://github.com/nullnet-app/contextmint-bridge/releases): Chrome loads the chrome zip unpacked; Safari isn't available yet, so use Chrome for now — it's the fetchproxy extension renamed, source at https://github.com/nullnet-app/contextmint-bridge, verify a zip with its `.sha256` file), sign into [signupgenius.com](https://www.signupgenius.com), and add to `.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"]\n    }\n  }\n}\n```\n\nAt startup the MCP reads your `accessToken` / `cfid` / `cftoken` cookies once via the extension, then talks to SignUpGenius directly — the extension is **not** in the request hot path after that. Works with free accounts.\n\n### Mode 2 — session login (email + password)\n\nAdd an env block with your direct-login credentials (won't work with Google/Apple/Facebook/Microsoft SSO or 2FA):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"],\n      \"env\": {\n        \"SIGNUPGENIUS_EMAIL\": \"you@example.com\",\n        \"SIGNUPGENIUS_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}\n```\n\n### Mode 3 — Pro API key (required for slot reports)\n\nThe three `signupgenius_report_*` tools that list filled / available / all participants for a given sign-up only work against the documented Pro v2 API. Get a key from **Pro Tools → API Management** in your SignUpGenius dashboard (Pro subscription required), then:\n\n```json\n\"env\": { \"SIGNUPGENIUS_USER_KEY\": \"your-api-key\" }\n```\n\nModes can be combined; Pro key wins where it applies, session/fetchproxy handles everything else.\n\n## Tools\n\n### Profile\n\n- **`signupgenius_get_profile`** — Your own profile (name, email, account type).\n\n### Groups\n\n- **`signupgenius_list_groups`** — Every group you own or belong to.\n- **`signupgenius_list_group_members`** — Members of one of your groups.\n- **`signupgenius_get_group_member`** — One member's full record.\n- **`signupgenius_add_group_member`** *(write)* — Add a person to one of your groups.\n\n### Sign-ups — created by you\n\n- **`signupgenius_list_created_active`** — Sign-ups you've created that are still open.\n- **`signupgenius_list_created_expired`** — Sign-ups you've created that have ended.\n- **`signupgenius_list_created_all`** — Both active and expired in one call.\n\n### Sign-ups — others'\n\n- **`signupgenius_list_invited`** — Sign-ups you've been invited to.\n- **`signupgenius_list_signedupfor`** — Sign-ups you've taken a slot on. (Session-mode also includes the bonus `signupgenius_legacy_get_my_signups` which calls the same backend the SignUpGenius web wizard uses and sometimes returns fuller data.)\n- **`signupgenius_legacy_get_my_signups`** *(session only)* — Bonus richer \"what am I signed up for\" lookup.\n\n### Public sign-up\n\n- **`signupgenius_get_public_signup`** — Sheet metadata by URL or slug: title, description, organizer, category, timezone, and the custom questions a sign-up must answer. **No auth required.** Metadata only — it carries no slots.\n- **`signupgenius_list_slots`** — Every slot on ANY public sign-up: date, day of week, start/end time, title, location, capacity, filled vs available, and who has signed up (with the number of spots each entry consumes). **No auth required**, and it works on sheets the user did not create. Reach for this first for \"what's still open\" — the report tools below cannot answer it for someone else's sheet.\n- **`signupgenius_rsvp`** *(write)* — RSVP yes/no/maybe to a headcount (Yes/No/Maybe) sheet. Never writes on the first call: you get a confirmation prompt, or a preview plus a `confirmToken` — show the preview to the user and, only after they approve, repeat the call with the same arguments plus `confirmToken`. Not for slot-based sheets.\n- **`signupgenius_claim_slot`** *(write)* — Sign up for a slot on a slot-based sheet. The first call writes nothing and returns a preview of the sheet, slot and identity (plus a `confirmToken` when the client cannot show a prompt); show it to the user, then repeat the call with the same arguments plus `confirmToken`. Pass the sheet's required custom fields (read them from `signupgenius_get_public_signup`).\n- **`signupgenius_release_slot`** *(write)* — Give up a slot the user signed up for. Same two-step confirmation as above. Takes `item_member_id` **and** `slotitemid` from the same `signupgenius_list_slots` row; it only ever withdraws the signed-in user's own entry and refuses anyone else's.\n\n### Reports — slots for a sign-up (Pro key only, **owner-scoped**)\n\n- **`signupgenius_report_all`** — Every slot + participant on a sign-up.\n- **`signupgenius_report_filled`** — Filled slots only.\n- **`signupgenius_report_available`** — Available slots only.\n\nThese need `SIGNUPGENIUS_USER_KEY` **and** answer only for sign-ups the key holder created — a Pro key is not a workaround for someone else's sheet. Use `signupgenius_list_slots` for availability *and* participant names on any sheet; the reports add only what it cannot carry: custom-question answers.\n\nOutside key mode these fail fast with a `KeyModeRequiredError` naming the tool, the mode required and the mode in effect, and instructing the user to set `SIGNUPGENIUS_USER_KEY`.\n\n## Trigger examples\n\n- \"Check SignUpGenius — what am I signed up for this week?\" → `signupgenius_list_signedupfor` (+ `_legacy_get_my_signups` in session mode)\n- \"What slots are still open on the PTA potluck sign-up?\" → `signupgenius_list_slots` (no auth, works on anyone's sheet)\n- \"Who signed up for which slot on MY potluck?\" → `signupgenius_report_all` (Pro key, own sheets only)\n- \"List my SignUpGenius groups\" → `signupgenius_list_groups`\n- \"Add Jordan Smith (<jordan@example.com>) to my Scouts group\" → `signupgenius_add_group_member`\n- \"What sign-ups have I created that are still active?\" → `signupgenius_list_created_active`\n- \"RSVP me to slot 3 on this SignUpGenius link\" → `signupgenius_rsvp`\n\n## Gotchas\n\n- **Reports require Pro.** `signupgenius_report_*` only work with `SIGNUPGENIUS_USER_KEY` — session/fetchproxy users get a clear error pointing at the key.\n- **SSO accounts not supported.** Session mode is direct email/password only — no Google/Apple/Facebook/Microsoft SSO, no 2FA. Use fetchproxy mode instead if your account uses SSO.\n- **Session listings collapse.** In session mode the v3 `signups/created` endpoint returns active + expired in one paginated call — the three `list_created_*` tools all hit the same endpoint and filter client-side. Pro key mode has separate endpoints and exposes the real distinction.\n- **Write surface is small.** Only `signupgenius_add_group_member` and `signupgenius_rsvp` mutate; everything else is read-only.\n- **ToS caveat.** SignUpGenius's terms generally prohibit scripted/automated access. Personal-account, personal-scale use is the intended audience; running this against accounts you don't own or at scale is your problem.\n\nFile v2.1.8:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"signupgenius\",\n  \"version\": \"2.1.8\",\n  \"publishedAt\": 1791380284151\n}\n\nFile v2.1.8:skill-card.md\n\n## Description:\n\nHelps users check SignUpGenius sign-ups, available slots, reports and groups, and make requested changes to their own account.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nSignUpGenius account holders and organizers use this skill to find sign-ups and open slots, review groups and reports, and manage their own RSVPs, slots and group members.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Account passwords, API keys or session cookies may be exposed when configuring access.\n\nMitigation: Prefer project-local configuration, avoid storing a password unless necessary, and protect credentials and browser sessions.\n\nRisk: RSVP, claim-slot, release-slot and add-group-member actions can change account data.\n\nMitigation: Show the proposed change and obtain clear user confirmation before each account-changing action.\n\nRisk: An external npm package and browser extension may handle account access.\n\nMitigation: Verify the package and extension independently before installing or connecting a real account.\n\n## Reference(s):\n\n- [ClawHub signupgenius release](https://clawhub.ai/chrischall/skills/signupgenius)\n- [SignUpGenius](https://www.signupgenius.com)\n- [signupgenius-mcp npm package](https://www.npmjs.com/package/signupgenius-mcp)\n- [ContextMint Bridge releases](https://github.com/nullnet-app/contextmint-bridge/releases)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Guidance, Configuration instructions]\n\n**Output Format:** [Plain text or Markdown]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include sign-up, slot and participant details; account changes require user confirmation.]\n\n## Skill Version(s):\n\n2.1.8 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v2.1.7: 3 files, 4868 bytes\n\nFiles: skill-card.md (2218b), SKILL.md (8173b), _meta.json (131b)\n\nFile v2.1.7:SKILL.md\n\n---\nname: signupgenius\ndescription: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports.\n---\n\n# signupgenius-mcp\n\nMCP server for [SignUpGenius](https://www.signupgenius.com) — 14 read tools + 2 write across profile, groups, sign-ups, and reports.\n\n- **npm:** [npmjs.com/package/signupgenius-mcp](https://www.npmjs.com/package/signupgenius-mcp)\n- **Source:** [github.com/chrischall/signupgenius-mcp](https://github.com/chrischall/signupgenius-mcp)\n\n## Setup\n\nThree auth modes, tried in priority order — first match wins. **You only need one.**\n\n### Mode 1 — fetchproxy fallback (zero env vars, recommended)\n\nInstall the ContextMint Bridge browser extension once ([releases](https://github.com/nullnet-app/contextmint-bridge/releases): Chrome loads the chrome zip unpacked; Safari isn't available yet, so use Chrome for now — it's the fetchproxy extension renamed, source at https://github.com/nullnet-app/contextmint-bridge, verify a zip with its `.sha256` file), sign into [signupgenius.com](https://www.signupgenius.com), and add to `.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"]\n    }\n  }\n}\n```\n\nAt startup the MCP reads your `accessToken` / `cfid` / `cftoken` cookies once via the extension, then talks to SignUpGenius directly — the extension is **not** in the request hot path after that. Works with free accounts.\n\n### Mode 2 — session login (email + password)\n\nAdd an env block with your direct-login credentials (won't work with Google/Apple/Facebook/Microsoft SSO or 2FA):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"],\n      \"env\": {\n        \"SIGNUPGENIUS_EMAIL\": \"you@example.com\",\n        \"SIGNUPGENIUS_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}\n```\n\n### Mode 3 — Pro API key (required for slot reports)\n\nThe three `signupgenius_report_*` tools that list filled / available / all participants for a given sign-up only work against the documented Pro v2 API. Get a key from **Pro Tools → API Management** in your SignUpGenius dashboard (Pro subscription required), then:\n\n```json\n\"env\": { \"SIGNUPGENIUS_USER_KEY\": \"your-api-key\" }\n```\n\nModes can be combined; Pro key wins where it applies, session/fetchproxy handles everything else.\n\n## Tools\n\n### Profile\n\n- **`signupgenius_get_profile`** — Your own profile (name, email, account type).\n\n### Groups\n\n- **`signupgenius_list_groups`** — Every group you own or belong to.\n- **`signupgenius_list_group_members`** — Members of one of your groups.\n- **`signupgenius_get_group_member`** — One member's full record.\n- **`signupgenius_add_group_member`** *(write)* — Add a person to one of your groups.\n\n### Sign-ups — created by you\n\n- **`signupgenius_list_created_active`** — Sign-ups you've created that are still open.\n- **`signupgenius_list_created_expired`** — Sign-ups you've created that have ended.\n- **`signupgenius_list_created_all`** — Both active and expired in one call.\n\n### Sign-ups — others'\n\n- **`signupgenius_list_invited`** — Sign-ups you've been invited to.\n- **`signupgenius_list_signedupfor`** — Sign-ups you've taken a slot on. (Session-mode also includes the bonus `signupgenius_legacy_get_my_signups` which calls the same backend the SignUpGenius web wizard uses and sometimes returns fuller data.)\n- **`signupgenius_legacy_get_my_signups`** *(session only)* — Bonus richer \"what am I signed up for\" lookup.\n\n### Public sign-up\n\n- **`signupgenius_get_public_signup`** — Sheet metadata by URL or slug: title, description, organizer, category, timezone, and the custom questions a sign-up must answer. **No auth required.** Metadata only — it carries no slots.\n- **`signupgenius_list_slots`** — Every slot on ANY public sign-up: date, day of week, start/end time, title, location, capacity, filled vs available, and who has signed up (with the number of spots each entry consumes). **No auth required**, and it works on sheets the user did not create. Reach for this first for \"what's still open\" — the report tools below cannot answer it for someone else's sheet.\n- **`signupgenius_rsvp`** *(write)* — RSVP yes/no/maybe to a headcount (Yes/No/Maybe) sheet. Never writes on the first call: you get a confirmation prompt, or a preview plus a `confirmToken` — show the preview to the user and, only after they approve, repeat the call with the same arguments plus `confirmToken`. Not for slot-based sheets.\n- **`signupgenius_claim_slot`** *(write)* — Sign up for a slot on a slot-based sheet. The first call writes nothing and returns a preview of the sheet, slot and identity (plus a `confirmToken` when the client cannot show a prompt); show it to the user, then repeat the call with the same arguments plus `confirmToken`. Pass the sheet's required custom fields (read them from `signupgenius_get_public_signup`).\n- **`signupgenius_release_slot`** *(write)* — Give up a slot the user signed up for. Same two-step confirmation as above. Takes `item_member_id` **and** `slotitemid` from the same `signupgenius_list_slots` row; it only ever withdraws the signed-in user's own entry and refuses anyone else's.\n\n### Reports — slots for a sign-up (Pro key only, **owner-scoped**)\n\n- **`signupgenius_report_all`** — Every slot + participant on a sign-up.\n- **`signupgenius_report_filled`** — Filled slots only.\n- **`signupgenius_report_available`** — Available slots only.\n\nThese need `SIGNUPGENIUS_USER_KEY` **and** answer only for sign-ups the key holder created — a Pro key is not a workaround for someone else's sheet. Use `signupgenius_list_slots` for availability *and* participant names on any sheet; the reports add only what it cannot carry: custom-question answers.\n\nOutside key mode these fail fast with a `KeyModeRequiredError` naming the tool, the mode required and the mode in effect, and instructing the user to set `SIGNUPGENIUS_USER_KEY`.\n\n## Trigger examples\n\n- \"Check SignUpGenius — what am I signed up for this week?\" → `signupgenius_list_signedupfor` (+ `_legacy_get_my_signups` in session mode)\n- \"What slots are still open on the PTA potluck sign-up?\" → `signupgenius_list_slots` (no auth, works on anyone's sheet)\n- \"Who signed up for which slot on MY potluck?\" → `signupgenius_report_all` (Pro key, own sheets only)\n- \"List my SignUpGenius groups\" → `signupgenius_list_groups`\n- \"Add Jordan Smith (<jordan@example.com>) to my Scouts group\" → `signupgenius_add_group_member`\n- \"What sign-ups have I created that are still active?\" → `signupgenius_list_created_active`\n- \"RSVP me to slot 3 on this SignUpGenius link\" → `signupgenius_rsvp`\n\n## Gotchas\n\n- **Reports require Pro.** `signupgenius_report_*` only work with `SIGNUPGENIUS_USER_KEY` — session/fetchproxy users get a clear error pointing at the key.\n- **SSO accounts not supported.** Session mode is direct email/password only — no Google/Apple/Facebook/Microsoft SSO, no 2FA. Use fetchproxy mode instead if your account uses SSO.\n- **Session listings collapse.** In session mode the v3 `signups/created` endpoint returns active + expired in one paginated call — the three `list_created_*` tools all hit the same endpoint and filter client-side. Pro key mode has separate endpoints and exposes the real distinction.\n- **Write surface is small.** Only `signupgenius_add_group_member` and `signupgenius_rsvp` mutate; everything else is read-only.\n- **ToS caveat.** SignUpGenius's terms generally prohibit scripted/automated access. Personal-account, personal-scale use is the intended audience; running this against accounts you don't own or at scale is your problem.\n\nFile v2.1.7:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"signupgenius\",\n  \"version\": \"2.1.7\",\n  \"publishedAt\": 1791168763669\n}\n\nFile v2.1.7:skill-card.md\n\n## Description:\n\nHelps agents read SignUpGenius sign-ups, slots, groups, and reports, and manage group members, RSVPs, and slot registrations.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nSignUpGenius users and organizers use this skill to check sign-up availability and participants, review their groups and events, and make sign-up or group changes with appropriate confirmation.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Access to account credentials or browser-session cookies can expose a SignUpGenius account.\n\nMitigation: Prefer project-scoped configuration and avoid plaintext password mode when possible; grant account access only if comfortable with it.\n\nRisk: Group, RSVP, claim, and release actions can change sign-ups; the skill's write-action overview is incomplete.\n\nMitigation: Review the requested change and require user approval before completing a write action.\n\nRisk: Public-sheet listings can reveal participant names.\n\nMitigation: Treat participant information as sensitive and share it only where appropriate.\n\nRisk: Setup relies on an external npm package and, in browser-session mode, an extension.\n\nMitigation: Review the package and extension before installing or granting access.\n\n## Reference(s):\n\n- [ClawHub signupgenius release](https://clawhub.ai/chrischall/skills/signupgenius)\n- [signupgenius-mcp package](https://www.npmjs.com/package/signupgenius-mcp)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Guidance, Configuration, Shell commands]\n\n**Output Format:** [Markdown with JSON configuration examples and tool responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Responses can include participant details; some tools change sign-ups after confirmation.]\n\n## Skill Version(s):\n\n2.1.7 (source: ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v2.1.6: 3 files, 4693 bytes\n\nFiles: skill-card.md (1813b), SKILL.md (8173b), _meta.json (131b)\n\nFile v2.1.6:SKILL.md\n\n---\nname: signupgenius\ndescription: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports.\n---\n\n# signupgenius-mcp\n\nMCP server for [SignUpGenius](https://www.signupgenius.com) — 14 read tools + 2 write across profile, groups, sign-ups, and reports.\n\n- **npm:** [npmjs.com/package/signupgenius-mcp](https://www.npmjs.com/package/signupgenius-mcp)\n- **Source:** [github.com/chrischall/signupgenius-mcp](https://github.com/chrischall/signupgenius-mcp)\n\n## Setup\n\nThree auth modes, tried in priority order — first match wins. **You only need one.**\n\n### Mode 1 — fetchproxy fallback (zero env vars, recommended)\n\nInstall the ContextMint Bridge browser extension once ([releases](https://github.com/nullnet-app/contextmint-bridge/releases): Chrome loads the chrome zip unpacked; Safari isn't available yet, so use Chrome for now — it's the fetchproxy extension renamed, source at https://github.com/nullnet-app/contextmint-bridge, verify a zip with its `.sha256` file), sign into [signupgenius.com](https://www.signupgenius.com), and add to `.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"]\n    }\n  }\n}\n```\n\nAt startup the MCP reads your `accessToken` / `cfid` / `cftoken` cookies once via the extension, then talks to SignUpGenius directly — the extension is **not** in the request hot path after that. Works with free accounts.\n\n### Mode 2 — session login (email + password)\n\nAdd an env block with your direct-login credentials (won't work with Google/Apple/Facebook/Microsoft SSO or 2FA):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"],\n      \"env\": {\n        \"SIGNUPGENIUS_EMAIL\": \"you@example.com\",\n        \"SIGNUPGENIUS_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}\n```\n\n### Mode 3 — Pro API key (required for slot reports)\n\nThe three `signupgenius_report_*` tools that list filled / available / all participants for a given sign-up only work against the documented Pro v2 API. Get a key from **Pro Tools → API Management** in your SignUpGenius dashboard (Pro subscription required), then:\n\n```json\n\"env\": { \"SIGNUPGENIUS_USER_KEY\": \"your-api-key\" }\n```\n\nModes can be combined; Pro key wins where it applies, session/fetchproxy handles everything else.\n\n## Tools\n\n### Profile\n\n- **`signupgenius_get_profile`** — Your own profile (name, email, account type).\n\n### Groups\n\n- **`signupgenius_list_groups`** — Every group you own or belong to.\n- **`signupgenius_list_group_members`** — Members of one of your groups.\n- **`signupgenius_get_group_member`** — One member's full record.\n- **`signupgenius_add_group_member`** *(write)* — Add a person to one of your groups.\n\n### Sign-ups — created by you\n\n- **`signupgenius_list_created_active`** — Sign-ups you've created that are still open.\n- **`signupgenius_list_created_expired`** — Sign-ups you've created that have ended.\n- **`signupgenius_list_created_all`** — Both active and expired in one call.\n\n### Sign-ups — others'\n\n- **`signupgenius_list_invited`** — Sign-ups you've been invited to.\n- **`signupgenius_list_signedupfor`** — Sign-ups you've taken a slot on. (Session-mode also includes the bonus `signupgenius_legacy_get_my_signups` which calls the same backend the SignUpGenius web wizard uses and sometimes returns fuller data.)\n- **`signupgenius_legacy_get_my_signups`** *(session only)* — Bonus richer \"what am I signed up for\" lookup.\n\n### Public sign-up\n\n- **`signupgenius_get_public_signup`** — Sheet metadata by URL or slug: title, description, organizer, category, timezone, and the custom questions a sign-up must answer. **No auth required.** Metadata only — it carries no slots.\n- **`signupgenius_list_slots`** — Every slot on ANY public sign-up: date, day of week, start/end time, title, location, capacity, filled vs available, and who has signed up (with the number of spots each entry consumes). **No auth required**, and it works on sheets the user did not create. Reach for this first for \"what's still open\" — the report tools below cannot answer it for someone else's sheet.\n- **`signupgenius_rsvp`** *(write)* — RSVP yes/no/maybe to a headcount (Yes/No/Maybe) sheet. Never writes on the first call: you get a confirmation prompt, or a preview plus a `confirmToken` — show the preview to the user and, only after they approve, repeat the call with the same arguments plus `confirmToken`. Not for slot-based sheets.\n- **`signupgenius_claim_slot`** *(write)* — Sign up for a slot on a slot-based sheet. The first call writes nothing and returns a preview of the sheet, slot and identity (plus a `confirmToken` when the client cannot show a prompt); show it to the user, then repeat the call with the same arguments plus `confirmToken`. Pass the sheet's required custom fields (read them from `signupgenius_get_public_signup`).\n- **`signupgenius_release_slot`** *(write)* — Give up a slot the user signed up for. Same two-step confirmation as above. Takes `item_member_id` **and** `slotitemid` from the same `signupgenius_list_slots` row; it only ever withdraws the signed-in user's own entry and refuses anyone else's.\n\n### Reports — slots for a sign-up (Pro key only, **owner-scoped**)\n\n- **`signupgenius_report_all`** — Every slot + participant on a sign-up.\n- **`signupgenius_report_filled`** — Filled slots only.\n- **`signupgenius_report_available`** — Available slots only.\n\nThese need `SIGNUPGENIUS_USER_KEY` **and** answer only for sign-ups the key holder created — a Pro key is not a workaround for someone else's sheet. Use `signupgenius_list_slots` for availability *and* participant names on any sheet; the reports add only what it cannot carry: custom-question answers.\n\nOutside key mode these fail fast with a `KeyModeRequiredError` naming the tool, the mode required and the mode in effect, and instructing the user to set `SIGNUPGENIUS_USER_KEY`.\n\n## Trigger examples\n\n- \"Check SignUpGenius — what am I signed up for this week?\" → `signupgenius_list_signedupfor` (+ `_legacy_get_my_signups` in session mode)\n- \"What slots are still open on the PTA potluck sign-up?\" → `signupgenius_list_slots` (no auth, works on anyone's sheet)\n- \"Who signed up for which slot on MY potluck?\" → `signupgenius_report_all` (Pro key, own sheets only)\n- \"List my SignUpGenius groups\" → `signupgenius_list_groups`\n- \"Add Jordan Smith (<jordan@example.com>) to my Scouts group\" → `signupgenius_add_group_member`\n- \"What sign-ups have I created that are still active?\" → `signupgenius_list_created_active`\n- \"RSVP me to slot 3 on this SignUpGenius link\" → `signupgenius_rsvp`\n\n## Gotchas\n\n- **Reports require Pro.** `signupgenius_report_*` only work with `SIGNUPGENIUS_USER_KEY` — session/fetchproxy users get a clear error pointing at the key.\n- **SSO accounts not supported.** Session mode is direct email/password only — no Google/Apple/Facebook/Microsoft SSO, no 2FA. Use fetchproxy mode instead if your account uses SSO.\n- **Session listings collapse.** In session mode the v3 `signups/created` endpoint returns active + expired in one paginated call — the three `list_created_*` tools all hit the same endpoint and filter client-side. Pro key mode has separate endpoints and exposes the real distinction.\n- **Write surface is small.** Only `signupgenius_add_group_member` and `signupgenius_rsvp` mutate; everything else is read-only.\n- **ToS caveat.** SignUpGenius's terms generally prohibit scripted/automated access. Personal-account, personal-scale use is the intended audience; running this against accounts you don't own or at scale is your problem.\n\nFile v2.1.6:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"signupgenius\",\n  \"version\": \"2.1.6\",\n  \"publishedAt\": 1790991906580\n}\n\nFile v2.1.6:skill-card.md\n\n## Description:\n\nHelps agents review SignUpGenius sign-ups, available slots, reports, and groups, and make requested group or sign-up changes.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nPeople and teams use this skill to check volunteer slots, RSVPs, and group membership, and to request changes to their sign-ups or groups through an agent.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Authenticated access to a SignUpGenius account can expose account information and sign-up details.\n\nMitigation: Use project-scoped configuration, protect API keys, and avoid placing passwords in shared files.\n\nRisk: The skill can change sign-ups and group membership; its summary understates the available write actions.\n\nMitigation: Review the intended recipient, slot, and confirmation preview before approving any change.\n\n## Reference(s):\n\n- [SignUpGenius skill release](https://clawhub.ai/chrischall/skills/signupgenius)\n- [signupgenius-mcp package](https://www.npmjs.com/package/signupgenius-mcp)\n- [SignUpGenius](https://www.signupgenius.com)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance]\n\n**Output Format:** [Conversational text or Markdown]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include slot availability, group details, and previews for sign-up changes.]\n\n## Skill Version(s):\n\n2.1.6 (source: server-resolved release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v2.1.5: 3 files, 4934 bytes\n\nFiles: skill-card.md (2341b), SKILL.md (8173b), _meta.json (131b)\n\nFile v2.1.5:SKILL.md\n\n---\nname: signupgenius\ndescription: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports.\n---\n\n# signupgenius-mcp\n\nMCP server for [SignUpGenius](https://www.signupgenius.com) — 14 read tools + 2 write across profile, groups, sign-ups, and reports.\n\n- **npm:** [npmjs.com/package/signupgenius-mcp](https://www.npmjs.com/package/signupgenius-mcp)\n- **Source:** [github.com/chrischall/signupgenius-mcp](https://github.com/chrischall/signupgenius-mcp)\n\n## Setup\n\nThree auth modes, tried in priority order — first match wins. **You only need one.**\n\n### Mode 1 — fetchproxy fallback (zero env vars, recommended)\n\nInstall the ContextMint Bridge browser extension once ([releases](https://github.com/nullnet-app/contextmint-bridge/releases): Chrome loads the chrome zip unpacked; Safari isn't available yet, so use Chrome for now — it's the fetchproxy extension renamed, source at https://github.com/nullnet-app/contextmint-bridge, verify a zip with its `.sha256` file), sign into [signupgenius.com](https://www.signupgenius.com), and add to `.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"]\n    }\n  }\n}\n```\n\nAt startup the MCP reads your `accessToken` / `cfid` / `cftoken` cookies once via the extension, then talks to SignUpGenius directly — the extension is **not** in the request hot path after that. Works with free accounts.\n\n### Mode 2 — session login (email + password)\n\nAdd an env block with your direct-login credentials (won't work with Google/Apple/Facebook/Microsoft SSO or 2FA):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"],\n      \"env\": {\n        \"SIGNUPGENIUS_EMAIL\": \"you@example.com\",\n        \"SIGNUPGENIUS_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}\n```\n\n### Mode 3 — Pro API key (required for slot reports)\n\nThe three `signupgenius_report_*` tools that list filled / available / all participants for a given sign-up only work against the documented Pro v2 API. Get a key from **Pro Tools → API Management** in your SignUpGenius dashboard (Pro subscription required), then:\n\n```json\n\"env\": { \"SIGNUPGENIUS_USER_KEY\": \"your-api-key\" }\n```\n\nModes can be combined; Pro key wins where it applies, session/fetchproxy handles everything else.\n\n## Tools\n\n### Profile\n\n- **`signupgenius_get_profile`** — Your own profile (name, email, account type).\n\n### Groups\n\n- **`signupgenius_list_groups`** — Every group you own or belong to.\n- **`signupgenius_list_group_members`** — Members of one of your groups.\n- **`signupgenius_get_group_member`** — One member's full record.\n- **`signupgenius_add_group_member`** *(write)* — Add a person to one of your groups.\n\n### Sign-ups — created by you\n\n- **`signupgenius_list_created_active`** — Sign-ups you've created that are still open.\n- **`signupgenius_list_created_expired`** — Sign-ups you've created that have ended.\n- **`signupgenius_list_created_all`** — Both active and expired in one call.\n\n### Sign-ups — others'\n\n- **`signupgenius_list_invited`** — Sign-ups you've been invited to.\n- **`signupgenius_list_signedupfor`** — Sign-ups you've taken a slot on. (Session-mode also includes the bonus `signupgenius_legacy_get_my_signups` which calls the same backend the SignUpGenius web wizard uses and sometimes returns fuller data.)\n- **`signupgenius_legacy_get_my_signups`** *(session only)* — Bonus richer \"what am I signed up for\" lookup.\n\n### Public sign-up\n\n- **`signupgenius_get_public_signup`** — Sheet metadata by URL or slug: title, description, organizer, category, timezone, and the custom questions a sign-up must answer. **No auth required.** Metadata only — it carries no slots.\n- **`signupgenius_list_slots`** — Every slot on ANY public sign-up: date, day of week, start/end time, title, location, capacity, filled vs available, and who has signed up (with the number of spots each entry consumes). **No auth required**, and it works on sheets the user did not create. Reach for this first for \"what's still open\" — the report tools below cannot answer it for someone else's sheet.\n- **`signupgenius_rsvp`** *(write)* — RSVP yes/no/maybe to a headcount (Yes/No/Maybe) sheet. Never writes on the first call: you get a confirmation prompt, or a preview plus a `confirmToken` — show the preview to the user and, only after they approve, repeat the call with the same arguments plus `confirmToken`. Not for slot-based sheets.\n- **`signupgenius_claim_slot`** *(write)* — Sign up for a slot on a slot-based sheet. The first call writes nothing and returns a preview of the sheet, slot and identity (plus a `confirmToken` when the client cannot show a prompt); show it to the user, then repeat the call with the same arguments plus `confirmToken`. Pass the sheet's required custom fields (read them from `signupgenius_get_public_signup`).\n- **`signupgenius_release_slot`** *(write)* — Give up a slot the user signed up for. Same two-step confirmation as above. Takes `item_member_id` **and** `slotitemid` from the same `signupgenius_list_slots` row; it only ever withdraws the signed-in user's own entry and refuses anyone else's.\n\n### Reports — slots for a sign-up (Pro key only, **owner-scoped**)\n\n- **`signupgenius_report_all`** — Every slot + participant on a sign-up.\n- **`signupgenius_report_filled`** — Filled slots only.\n- **`signupgenius_report_available`** — Available slots only.\n\nThese need `SIGNUPGENIUS_USER_KEY` **and** answer only for sign-ups the key holder created — a Pro key is not a workaround for someone else's sheet. Use `signupgenius_list_slots` for availability *and* participant names on any sheet; the reports add only what it cannot carry: custom-question answers.\n\nOutside key mode these fail fast with a `KeyModeRequiredError` naming the tool, the mode required and the mode in effect, and instructing the user to set `SIGNUPGENIUS_USER_KEY`.\n\n## Trigger examples\n\n- \"Check SignUpGenius — what am I signed up for this week?\" → `signupgenius_list_signedupfor` (+ `_legacy_get_my_signups` in session mode)\n- \"What slots are still open on the PTA potluck sign-up?\" → `signupgenius_list_slots` (no auth, works on anyone's sheet)\n- \"Who signed up for which slot on MY potluck?\" → `signupgenius_report_all` (Pro key, own sheets only)\n- \"List my SignUpGenius groups\" → `signupgenius_list_groups`\n- \"Add Jordan Smith (<jordan@example.com>) to my Scouts group\" → `signupgenius_add_group_member`\n- \"What sign-ups have I created that are still active?\" → `signupgenius_list_created_active`\n- \"RSVP me to slot 3 on this SignUpGenius link\" → `signupgenius_rsvp`\n\n## Gotchas\n\n- **Reports require Pro.** `signupgenius_report_*` only work with `SIGNUPGENIUS_USER_KEY` — session/fetchproxy users get a clear error pointing at the key.\n- **SSO accounts not supported.** Session mode is direct email/password only — no Google/Apple/Facebook/Microsoft SSO, no 2FA. Use fetchproxy mode instead if your account uses SSO.\n- **Session listings collapse.** In session mode the v3 `signups/created` endpoint returns active + expired in one paginated call — the three `list_created_*` tools all hit the same endpoint and filter client-side. Pro key mode has separate endpoints and exposes the real distinction.\n- **Write surface is small.** Only `signupgenius_add_group_member` and `signupgenius_rsvp` mutate; everything else is read-only.\n- **ToS caveat.** SignUpGenius's terms generally prohibit scripted/automated access. Personal-account, personal-scale use is the intended audience; running this against accounts you don't own or at scale is your problem.\n\nFile v2.1.5:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"signupgenius\",\n  \"version\": \"2.1.5\",\n  \"publishedAt\": 1790603735323\n}\n\nFile v2.1.5:skill-card.md\n\n## Description:\n\nHelps agents read SignUpGenius sign-ups, available slots, participants, groups and reports, and manage RSVPs, slot claims, releases and group membership.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nIndividuals and event organizers use this skill to check their SignUpGenius sign-ups and groups, inspect public slot availability, and, when authorized, add group members, RSVP, claim or release slots. Pro users can access full reports for their own sign-ups.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: RSVP, slot claim or release, and group-member addition change a real account; the security review notes that documentation understates these actions.\n\nMitigation: Get explicit user approval for each account-changing action and review the target event, slot and person before proceeding.\n\nRisk: Public sign-up sheets can expose participant names even without signing in.\n\nMitigation: Query only sheets relevant to the user's request and avoid sharing participant details unnecessarily.\n\nRisk: Installation and authentication may expose account credentials or session access to third-party software.\n\nMitigation: Prefer project-scoped configuration, verify the npm package and extension source, and avoid storing a direct password when possible.\n\n## Reference(s):\n\n- [ClawHub signupgenius release](https://clawhub.ai/chrischall/skills/signupgenius)\n- [SignUpGenius](https://www.signupgenius.com)\n- [signupgenius-mcp npm package](https://www.npmjs.com/package/signupgenius-mcp)\n- [ContextMint Bridge extension releases](https://github.com/nullnet-app/contextmint-bridge/releases)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance]\n\n**Output Format:** [Text or Markdown]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Responses may include participant names; full reports require a Pro key.]\n\n## Skill Version(s):\n\n2.1.5 (source: server-resolved release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v2.1.4: 3 files, 4641 bytes\n\nFiles: skill-card.md (2049b), SKILL.md (7898b), _meta.json (131b)\n\nFile v2.1.4:SKILL.md\n\n---\nname: signupgenius\ndescription: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports.\n---\n\n# signupgenius-mcp\n\nMCP server for [SignUpGenius](https://www.signupgenius.com) — 14 read tools + 2 write across profile, groups, sign-ups, and reports.\n\n- **npm:** [npmjs.com/package/signupgenius-mcp](https://www.npmjs.com/package/signupgenius-mcp)\n- **Source:** [github.com/chrischall/signupgenius-mcp](https://github.com/chrischall/signupgenius-mcp)\n\n## Setup\n\nThree auth modes, tried in priority order — first match wins. **You only need one.**\n\n### Mode 1 — fetchproxy fallback (zero env vars, recommended)\n\nInstall the [fetchproxy extension](https://github.com/chrischall/fetchproxy) once, sign into [signupgenius.com](https://www.signupgenius.com), and add to `.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"]\n    }\n  }\n}\n```\n\nAt startup the MCP reads your `accessToken` / `cfid` / `cftoken` cookies once via the extension, then talks to SignUpGenius directly — the extension is **not** in the request hot path after that. Works with free accounts.\n\n### Mode 2 — session login (email + password)\n\nAdd an env block with your direct-login credentials (won't work with Google/Apple/Facebook/Microsoft SSO or 2FA):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"],\n      \"env\": {\n        \"SIGNUPGENIUS_EMAIL\": \"you@example.com\",\n        \"SIGNUPGENIUS_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}\n```\n\n### Mode 3 — Pro API key (required for slot reports)\n\nThe three `signupgenius_report_*` tools that list filled / available / all participants for a given sign-up only work against the documented Pro v2 API. Get a key from **Pro Tools → API Management** in your SignUpGenius dashboard (Pro subscription required), then:\n\n```json\n\"env\": { \"SIGNUPGENIUS_USER_KEY\": \"your-api-key\" }\n```\n\nModes can be combined; Pro key wins where it applies, session/fetchproxy handles everything else.\n\n## Tools\n\n### Profile\n\n- **`signupgenius_get_profile`** — Your own profile (name, email, account type).\n\n### Groups\n\n- **`signupgenius_list_groups`** — Every group you own or belong to.\n- **`signupgenius_list_group_members`** — Members of one of your groups.\n- **`signupgenius_get_group_member`** — One member's full record.\n- **`signupgenius_add_group_member`** *(write)* — Add a person to one of your groups.\n\n### Sign-ups — created by you\n\n- **`signupgenius_list_created_active`** — Sign-ups you've created that are still open.\n- **`signupgenius_list_created_expired`** — Sign-ups you've created that have ended.\n- **`signupgenius_list_created_all`** — Both active and expired in one call.\n\n### Sign-ups — others'\n\n- **`signupgenius_list_invited`** — Sign-ups you've been invited to.\n- **`signupgenius_list_signedupfor`** — Sign-ups you've taken a slot on. (Session-mode also includes the bonus `signupgenius_legacy_get_my_signups` which calls the same backend the SignUpGenius web wizard uses and sometimes returns fuller data.)\n- **`signupgenius_legacy_get_my_signups`** *(session only)* — Bonus richer \"what am I signed up for\" lookup.\n\n### Public sign-up\n\n- **`signupgenius_get_public_signup`** — Sheet metadata by URL or slug: title, description, organizer, category, timezone, and the custom questions a sign-up must answer. **No auth required.** Metadata only — it carries no slots.\n- **`signupgenius_list_slots`** — Every slot on ANY public sign-up: date, day of week, start/end time, title, location, capacity, filled vs available, and who has signed up (with the number of spots each entry consumes). **No auth required**, and it works on sheets the user did not create. Reach for this first for \"what's still open\" — the report tools below cannot answer it for someone else's sheet.\n- **`signupgenius_rsvp`** *(write)* — RSVP yes/no/maybe to a headcount (Yes/No/Maybe) sheet. Never writes on the first call: you get a confirmation prompt, or a preview plus a `confirmToken` — show the preview to the user and, only after they approve, repeat the call with the same arguments plus `confirmToken`. Not for slot-based sheets.\n- **`signupgenius_claim_slot`** *(write)* — Sign up for a slot on a slot-based sheet. The first call writes nothing and returns a preview of the sheet, slot and identity (plus a `confirmToken` when the client cannot show a prompt); show it to the user, then repeat the call with the same arguments plus `confirmToken`. Pass the sheet's required custom fields (read them from `signupgenius_get_public_signup`).\n- **`signupgenius_release_slot`** *(write)* — Give up a slot the user signed up for. Same two-step confirmation as above. Takes `item_member_id` **and** `slotitemid` from the same `signupgenius_list_slots` row; it only ever withdraws the signed-in user's own entry and refuses anyone else's.\n\n### Reports — slots for a sign-up (Pro key only, **owner-scoped**)\n\n- **`signupgenius_report_all`** — Every slot + participant on a sign-up.\n- **`signupgenius_report_filled`** — Filled slots only.\n- **`signupgenius_report_available`** — Available slots only.\n\nThese need `SIGNUPGENIUS_USER_KEY` **and** answer only for sign-ups the key holder created — a Pro key is not a workaround for someone else's sheet. Use `signupgenius_list_slots` for availability *and* participant names on any sheet; the reports add only what it cannot carry: custom-question answers.\n\nOutside key mode these fail fast with a `KeyModeRequiredError` naming the tool, the mode required and the mode in effect, and instructing the user to set `SIGNUPGENIUS_USER_KEY`.\n\n## Trigger examples\n\n- \"Check SignUpGenius — what am I signed up for this week?\" → `signupgenius_list_signedupfor` (+ `_legacy_get_my_signups` in session mode)\n- \"What slots are still open on the PTA potluck sign-up?\" → `signupgenius_list_slots` (no auth, works on anyone's sheet)\n- \"Who signed up for which slot on MY potluck?\" → `signupgenius_report_all` (Pro key, own sheets only)\n- \"List my SignUpGenius groups\" → `signupgenius_list_groups`\n- \"Add Jordan Smith (<jordan@example.com>) to my Scouts group\" → `signupgenius_add_group_member`\n- \"What sign-ups have I created that are still active?\" → `signupgenius_list_created_active`\n- \"RSVP me to slot 3 on this SignUpGenius link\" → `signupgenius_rsvp`\n\n## Gotchas\n\n- **Reports require Pro.** `signupgenius_report_*` only work with `SIGNUPGENIUS_USER_KEY` — session/fetchproxy users get a clear error pointing at the key.\n- **SSO accounts not supported.** Session mode is direct email/password only — no Google/Apple/Facebook/Microsoft SSO, no 2FA. Use fetchproxy mode instead if your account uses SSO.\n- **Session listings collapse.** In session mode the v3 `signups/created` endpoint returns active + expired in one paginated call — the three `list_created_*` tools all hit the same endpoint and filter client-side. Pro key mode has separate endpoints and exposes the real distinction.\n- **Write surface is small.** Only `signupgenius_add_group_member` and `signupgenius_rsvp` mutate; everything else is read-only.\n- **ToS caveat.** SignUpGenius's terms generally prohibit scripted/automated access. Personal-account, personal-scale use is the intended audience; running this against accounts you don't own or at scale is your problem.\n\nFile v2.1.4:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"signupgenius\",\n  \"version\": \"2.1.4\",\n  \"publishedAt\": 1790351447037\n}\n\nFile v2.1.4:skill-card.md\n\n## Description:\n\nHelps users inspect SignUpGenius sign-ups, available slots, reports, and groups, and make approved changes to sign-ups or group membership.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nSignUpGenius users and organizers can check their events, group members, and open slots, review participant reports where authorized, and request RSVPs, slot changes, or group-member additions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Access to the SignUpGenius session, login credentials, or API key may expose sensitive account information.\n\nMitigation: Install only when comfortable granting this access; protect credentials and limit account access.\n\nRisk: Public sign-up lookups and reports may expose participant names or other sensitive details.\n\nMitigation: Limit lookups to appropriate sheets and avoid sharing participant details unnecessarily.\n\nRisk: RSVPs, slot claims or releases, and group-member additions change user or participant records.\n\nMitigation: Show the proposed change and require explicit user confirmation before submitting it.\n\n## Reference(s):\n\n- [SignUpGenius](https://www.signupgenius.com)\n- [signupgenius-mcp package](https://www.npmjs.com/package/signupgenius-mcp)\n- [fetchproxy extension](https://github.com/chrischall/fetchproxy)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Configuration instructions]\n\n**Output Format:** [Markdown responses and JSON configuration examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Responses may contain account or participant details.]\n\n## Skill Version(s):\n\n2.1.4 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v2.1.3: 3 files, 4741 bytes\n\nFiles: skill-card.md (2512b), SKILL.md (7680b), _meta.json (131b)\n\nFile v2.1.3:SKILL.md\n\n---\nname: signupgenius\ndescription: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports.\n---\n\n# signupgenius-mcp\n\nMCP server for [SignUpGenius](https://www.signupgenius.com) — 14 read tools + 2 write across profile, groups, sign-ups, and reports.\n\n- **npm:** [npmjs.com/package/signupgenius-mcp](https://www.npmjs.com/package/signupgenius-mcp)\n- **Source:** [github.com/chrischall/signupgenius-mcp](https://github.com/chrischall/signupgenius-mcp)\n\n## Setup\n\nThree auth modes, tried in priority order — first match wins. **You only need one.**\n\n### Mode 1 — fetchproxy fallback (zero env vars, recommended)\n\nInstall the [fetchproxy extension](https://github.com/chrischall/fetchproxy) once, sign into [signupgenius.com](https://www.signupgenius.com), and add to `.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"]\n    }\n  }\n}\n```\n\nAt startup the MCP reads your `accessToken` / `cfid` / `cftoken` cookies once via the extension, then talks to SignUpGenius directly — the extension is **not** in the request hot path after that. Works with free accounts.\n\n### Mode 2 — session login (email + password)\n\nAdd an env block with your direct-login credentials (won't work with Google/Apple/Facebook/Microsoft SSO or 2FA):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"],\n      \"env\": {\n        \"SIGNUPGENIUS_EMAIL\": \"you@example.com\",\n        \"SIGNUPGENIUS_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}\n```\n\n### Mode 3 — Pro API key (required for slot reports)\n\nThe three `signupgenius_report_*` tools that list filled / available / all participants for a given sign-up only work against the documented Pro v2 API. Get a key from **Pro Tools → API Management** in your SignUpGenius dashboard (Pro subscription required), then:\n\n```json\n\"env\": { \"SIGNUPGENIUS_USER_KEY\": \"your-api-key\" }\n```\n\nModes can be combined; Pro key wins where it applies, session/fetchproxy handles everything else.\n\n## Tools\n\n### Profile\n\n- **`signupgenius_get_profile`** — Your own profile (name, email, account type).\n\n### Groups\n\n- **`signupgenius_list_groups`** — Every group you own or belong to.\n- **`signupgenius_list_group_members`** — Members of one of your groups.\n- **`signupgenius_get_group_member`** — One member's full record.\n- **`signupgenius_add_group_member`** *(write)* — Add a person to one of your groups.\n\n### Sign-ups — created by you\n\n- **`signupgenius_list_created_active`** — Sign-ups you've created that are still open.\n- **`signupgenius_list_created_expired`** — Sign-ups you've created that have ended.\n- **`signupgenius_list_created_all`** — Both active and expired in one call.\n\n### Sign-ups — others'\n\n- **`signupgenius_list_invited`** — Sign-ups you've been invited to.\n- **`signupgenius_list_signedupfor`** — Sign-ups you've taken a slot on. (Session-mode also includes the bonus `signupgenius_legacy_get_my_signups` which calls the same backend the SignUpGenius web wizard uses and sometimes returns fuller data.)\n- **`signupgenius_legacy_get_my_signups`** *(session only)* — Bonus richer \"what am I signed up for\" lookup.\n\n### Public sign-up\n\n- **`signupgenius_get_public_signup`** — Sheet metadata by URL or slug: title, description, organizer, category, timezone, and the custom questions a sign-up must answer. **No auth required.** Metadata only — it carries no slots.\n- **`signupgenius_list_slots`** — Every slot on ANY public sign-up: date, day of week, start/end time, title, location, capacity, filled vs available, and who has signed up (with the number of spots each entry consumes). **No auth required**, and it works on sheets the user did not create. Reach for this first for \"what's still open\" — the report tools below cannot answer it for someone else's sheet.\n- **`signupgenius_rsvp`** *(write)* — RSVP yes/no/maybe to a headcount (Yes/No/Maybe) sheet. Dry-run preview by default; pass `confirm: true` (after the user approves the preview) to submit. Not for slot-based sheets.\n- **`signupgenius_claim_slot`** *(write)* — Sign up for a slot on a slot-based sheet. Call it WITHOUT `confirm` first to get a dry-run preview of the slot and identity, show that to the user, then call again with `confirm: true`. Pass the sheet's required custom fields (read them from `signupgenius_get_public_signup`).\n- **`signupgenius_release_slot`** *(write)* — Give up a slot the user signed up for. Same two-step confirm as above. Takes `item_member_id` **and** `slotitemid` from the same `signupgenius_list_slots` row; it only ever withdraws the signed-in user's own entry and refuses anyone else's.\n\n### Reports — slots for a sign-up (Pro key only, **owner-scoped**)\n\n- **`signupgenius_report_all`** — Every slot + participant on a sign-up.\n- **`signupgenius_report_filled`** — Filled slots only.\n- **`signupgenius_report_available`** — Available slots only.\n\nThese need `SIGNUPGENIUS_USER_KEY` **and** answer only for sign-ups the key holder created — a Pro key is not a workaround for someone else's sheet. Use `signupgenius_list_slots` for availability *and* participant names on any sheet; the reports add only what it cannot carry: custom-question answers.\n\nOutside key mode these fail fast with a `KeyModeRequiredError` naming the tool, the mode required and the mode in effect, and instructing the user to set `SIGNUPGENIUS_USER_KEY`.\n\n## Trigger examples\n\n- \"Check SignUpGenius — what am I signed up for this week?\" → `signupgenius_list_signedupfor` (+ `_legacy_get_my_signups` in session mode)\n- \"What slots are still open on the PTA potluck sign-up?\" → `signupgenius_list_slots` (no auth, works on anyone's sheet)\n- \"Who signed up for which slot on MY potluck?\" → `signupgenius_report_all` (Pro key, own sheets only)\n- \"List my SignUpGenius groups\" → `signupgenius_list_groups`\n- \"Add Jordan Smith (<jordan@example.com>) to my Scouts group\" → `signupgenius_add_group_member`\n- \"What sign-ups have I created that are still active?\" → `signupgenius_list_created_active`\n- \"RSVP me to slot 3 on this SignUpGenius link\" → `signupgenius_rsvp`\n\n## Gotchas\n\n- **Reports require Pro.** `signupgenius_report_*` only work with `SIGNUPGENIUS_USER_KEY` — session/fetchproxy users get a clear error pointing at the key.\n- **SSO accounts not supported.** Session mode is direct email/password only — no Google/Apple/Facebook/Microsoft SSO, no 2FA. Use fetchproxy mode instead if your account uses SSO.\n- **Session listings collapse.** In session mode the v3 `signups/created` endpoint returns active + expired in one paginated call — the three `list_created_*` tools all hit the same endpoint and filter client-side. Pro key mode has separate endpoints and exposes the real distinction.\n- **Write surface is small.** Only `signupgenius_add_group_member` and `signupgenius_rsvp` mutate; everything else is read-only.\n- **ToS caveat.** SignUpGenius's terms generally prohibit scripted/automated access. Personal-account, personal-scale use is the intended audience; running this against accounts you don't own or at scale is your problem.\n\nFile v2.1.3:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"signupgenius\",\n  \"version\": \"2.1.3\",\n  \"publishedAt\": 1790199854244\n}\n\nFile v2.1.3:skill-card.md\n\n## Description:\n\nRead SignUpGenius sign-up sheets, slot reports, groups, and public slot availability, and help manage RSVP, slot, and group-member actions with explicit confirmation for writes.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to configure and operate a SignUpGenius MCP server for reading their own sign-ups, groups, created events, and public slot availability. It can also assist with limited write actions such as RSVP, claiming or releasing a slot, and adding group members after user approval.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill may use SignUpGenius session cookies, passwords, or API keys.\n\nMitigation: Use only accounts and sign-up links that are acceptable to expose to the MCP server, and avoid sharing credentials beyond the configured MCP environment.\n\nRisk: The skill can change sign-up state through RSVP, slot claim or release, and group-member actions.\n\nMitigation: Run preview or dry-run steps first and require explicit user approval before any confirmed write action.\n\nRisk: The skill can read participant names from public sign-up sheets.\n\nMitigation: Limit use to sign-up links where the user has a legitimate reason to view participant data.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/chrischall/skills/signupgenius)\n- [Publisher profile](https://clawhub.ai/user/chrischall)\n- [SignUpGenius](https://www.signupgenius.com)\n- [signupgenius-mcp npm package](https://www.npmjs.com/package/signupgenius-mcp)\n- [fetchproxy extension](https://github.com/chrischall/fetchproxy)\n- [signupgenius-mcp source reference](https://github.com/chrischall/signupgenius-mcp)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with JSON configuration snippets, tool names, and shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes dry-run and explicit-confirmation guidance for write actions.]\n\n## Skill Version(s):\n\n2.1.3 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v2.1.2: 3 files, 4708 bytes\n\nFiles: skill-card.md (2482b), SKILL.md (7582b), _meta.json (131b)\n\nFile v2.1.2:SKILL.md\n\n---\nname: signupgenius\ndescription: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports.\n---\n\n# signupgenius-mcp\n\nMCP server for [SignUpGenius](https://www.signupgenius.com) — 14 read tools + 2 write across profile, groups, sign-ups, and reports.\n\n- **npm:** [npmjs.com/package/signupgenius-mcp](https://www.npmjs.com/package/signupgenius-mcp)\n- **Source:** [github.com/chrischall/signupgenius-mcp](https://github.com/chrischall/signupgenius-mcp)\n\n## Setup\n\nThree auth modes, tried in priority order — first match wins. **You only need one.**\n\n### Mode 1 — fetchproxy fallback (zero env vars, recommended)\n\nInstall the [fetchproxy extension](https://github.com/chrischall/fetchproxy) once, sign into [signupgenius.com](https://www.signupgenius.com), and add to `.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"]\n    }\n  }\n}\n```\n\nAt startup the MCP reads your `accessToken` / `cfid` / `cftoken` cookies once via the extension, then talks to SignUpGenius directly — the extension is **not** in the request hot path after that. Works with free accounts.\n\n### Mode 2 — session login (email + password)\n\nAdd an env block with your direct-login credentials (won't work with Google/Apple/Facebook/Microsoft SSO or 2FA):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"],\n      \"env\": {\n        \"SIGNUPGENIUS_EMAIL\": \"you@example.com\",\n        \"SIGNUPGENIUS_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}\n```\n\n### Mode 3 — Pro API key (required for slot reports)\n\nThe three `signupgenius_report_*` tools that list filled / available / all participants for a given sign-up only work against the documented Pro v2 API. Get a key from **Pro Tools → API Management** in your SignUpGenius dashboard (Pro subscription required), then:\n\n```json\n\"env\": { \"SIGNUPGENIUS_USER_KEY\": \"your-api-key\" }\n```\n\nModes can be combined; Pro key wins where it applies, session/fetchproxy handles everything else.\n\n## Tools\n\n### Profile\n\n- **`signupgenius_get_profile`** — Your own profile (name, email, account type).\n\n### Groups\n\n- **`signupgenius_list_groups`** — Every group you own or belong to.\n- **`signupgenius_list_group_members`** — Members of one of your groups.\n- **`signupgenius_get_group_member`** — One member's full record.\n- **`signupgenius_add_group_member`** *(write)* — Add a person to one of your groups.\n\n### Sign-ups — created by you\n\n- **`signupgenius_list_created_active`** — Sign-ups you've created that are still open.\n- **`signupgenius_list_created_expired`** — Sign-ups you've created that have ended.\n- **`signupgenius_list_created_all`** — Both active and expired in one call.\n\n### Sign-ups — others'\n\n- **`signupgenius_list_invited`** — Sign-ups you've been invited to.\n- **`signupgenius_list_signedupfor`** — Sign-ups you've taken a slot on. (Session-mode also includes the bonus `signupgenius_legacy_get_my_signups` which calls the same backend the SignUpGenius web wizard uses and sometimes returns fuller data.)\n- **`signupgenius_legacy_get_my_signups`** *(session only)* — Bonus richer \"what am I signed up for\" lookup.\n\n### Public sign-up\n\n- **`signupgenius_get_public_signup`** — Sheet metadata by URL or slug: title, description, organizer, category, timezone, and the custom questions a sign-up must answer. **No auth required.** Metadata only — it carries no slots.\n- **`signupgenius_list_slots`** — Every slot on ANY public sign-up: date, day of week, start/end time, title, location, capacity, filled vs available, and who has signed up (with the number of spots each entry consumes). **No auth required**, and it works on sheets the user did not create. Reach for this first for \"what's still open\" — the report tools below cannot answer it for someone else's sheet.\n- **`signupgenius_rsvp`** *(write)* — RSVP yes/no/maybe to a headcount (Yes/No/Maybe) sheet. Not for slot-based sheets.\n- **`signupgenius_claim_slot`** *(write)* — Sign up for a slot on a slot-based sheet. Call it WITHOUT `confirm` first to get a dry-run preview of the slot and identity, show that to the user, then call again with `confirm: true`. Pass the sheet's required custom fields (read them from `signupgenius_get_public_signup`).\n- **`signupgenius_release_slot`** *(write)* — Give up a slot the user signed up for. Same two-step confirm as above. Takes `item_member_id` **and** `slotitemid` from the same `signupgenius_list_slots` row; it only ever withdraws the signed-in user's own entry and refuses anyone else's.\n\n### Reports — slots for a sign-up (Pro key only, **owner-scoped**)\n\n- **`signupgenius_report_all`** — Every slot + participant on a sign-up.\n- **`signupgenius_report_filled`** — Filled slots only.\n- **`signupgenius_report_available`** — Available slots only.\n\nThese need `SIGNUPGENIUS_USER_KEY` **and** answer only for sign-ups the key holder created — a Pro key is not a workaround for someone else's sheet. Use `signupgenius_list_slots` for availability *and* participant names on any sheet; the reports add only what it cannot carry: custom-question answers.\n\nOutside key mode these fail fast with a `KeyModeRequiredError` naming the tool, the mode required and the mode in effect, and instructing the user to set `SIGNUPGENIUS_USER_KEY`.\n\n## Trigger examples\n\n- \"Check SignUpGenius — what am I signed up for this week?\" → `signupgenius_list_signedupfor` (+ `_legacy_get_my_signups` in session mode)\n- \"What slots are still open on the PTA potluck sign-up?\" → `signupgenius_list_slots` (no auth, works on anyone's sheet)\n- \"Who signed up for which slot on MY potluck?\" → `signupgenius_report_all` (Pro key, own sheets only)\n- \"List my SignUpGenius groups\" → `signupgenius_list_groups`\n- \"Add Jordan Smith (<jordan@example.com>) to my Scouts group\" → `signupgenius_add_group_member`\n- \"What sign-ups have I created that are still active?\" → `signupgenius_list_created_active`\n- \"RSVP me to slot 3 on this SignUpGenius link\" → `signupgenius_rsvp`\n\n## Gotchas\n\n- **Reports require Pro.** `signupgenius_report_*` only work with `SIGNUPGENIUS_USER_KEY` — session/fetchproxy users get a clear error pointing at the key.\n- **SSO accounts not supported.** Session mode is direct email/password only — no Google/Apple/Facebook/Microsoft SSO, no 2FA. Use fetchproxy mode instead if your account uses SSO.\n- **Session listings collapse.** In session mode the v3 `signups/created` endpoint returns active + expired in one paginated call — the three `list_created_*` tools all hit the same endpoint and filter client-side. Pro key mode has separate endpoints and exposes the real distinction.\n- **Write surface is small.** Only `signupgenius_add_group_member` and `signupgenius_rsvp` mutate; everything else is read-only.\n- **ToS caveat.** SignUpGenius's terms generally prohibit scripted/automated access. Personal-account, personal-scale use is the intended audience; running this against accounts you don't own or at scale is your problem.\n\nFile v2.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"signupgenius\",\n  \"version\": \"2.1.2\",\n  \"publishedAt\": 1790178116600\n}\n\nFile v2.1.2:skill-card.md\n\n## Description:\n\nRead sign-up sheets, slot reports, and groups on SignUpGenius, and add members to your groups.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to connect an agent to their own SignUpGenius account, inspect sign-ups, groups, slots, and reports, and perform supported account-scoped updates such as adding group members, RSVPing, claiming slots, or releasing slots.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can read account and public sign-up information and can change live SignUpGenius data such as group membership, RSVPs, and slot claims or releases.\n\nMitigation: Use it only with an account the user controls and require explicit confirmation before write actions.\n\nRisk: Session-login mode may require storing direct SignUpGenius credentials.\n\nMitigation: Prefer fetchproxy or Pro API key authentication where appropriate, and avoid storing plain passwords when possible.\n\nRisk: Security review found inconsistent descriptions of which actions can change live sign-up or group data.\n\nMitigation: Review requested tool actions before execution and treat add, RSVP, claim, and release operations as state-changing.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/chrischall/skills/signupgenius)\n- [SignUpGenius](https://www.signupgenius.com)\n- [signupgenius-mcp npm package](https://www.npmjs.com/package/signupgenius-mcp)\n- [signupgenius-mcp source repository](https://github.com/chrischall/signupgenius-mcp)\n- [fetchproxy extension](https://github.com/chrischall/fetchproxy)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Configuration, Shell commands, API calls, Markdown]\n\n**Output Format:** [Markdown guidance with JSON configuration examples, tool names, and command snippets]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May require SignUpGenius session credentials, browser-cookie access through fetchproxy, or a Pro API key depending on the requested operation.]\n\n## Skill Version(s):\n\n2.1.2 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v2.1.1: 3 files, 4792 bytes\n\nFiles: skill-card.md (2787b), SKILL.md (7582b), _meta.json (131b)\n\nFile v2.1.1:SKILL.md\n\n---\nname: signupgenius\ndescription: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports.\n---\n\n# signupgenius-mcp\n\nMCP server for [SignUpGenius](https://www.signupgenius.com) — 14 read tools + 2 write across profile, groups, sign-ups, and reports.\n\n- **npm:** [npmjs.com/package/signupgenius-mcp](https://www.npmjs.com/package/signupgenius-mcp)\n- **Source:** [github.com/chrischall/signupgenius-mcp](https://github.com/chrischall/signupgenius-mcp)\n\n## Setup\n\nThree auth modes, tried in priority order — first match wins. **You only need one.**\n\n### Mode 1 — fetchproxy fallback (zero env vars, recommended)\n\nInstall the [fetchproxy extension](https://github.com/chrischall/fetchproxy) once, sign into [signupgenius.com](https://www.signupgenius.com), and add to `.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"]\n    }\n  }\n}\n```\n\nAt startup the MCP reads your `accessToken` / `cfid` / `cftoken` cookies once via the extension, then talks to SignUpGenius directly — the extension is **not** in the request hot path after that. Works with free accounts.\n\n### Mode 2 — session login (email + password)\n\nAdd an env block with your direct-login credentials (won't work with Google/Apple/Facebook/Microsoft SSO or 2FA):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"],\n      \"env\": {\n        \"SIGNUPGENIUS_EMAIL\": \"you@example.com\",\n        \"SIGNUPGENIUS_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}\n```\n\n### Mode 3 — Pro API key (required for slot reports)\n\nThe three `signupgenius_report_*` tools that list filled / available / all participants for a given sign-up only work against the documented Pro v2 API. Get a key from **Pro Tools → API Management** in your SignUpGenius dashboard (Pro subscription required), then:\n\n```json\n\"env\": { \"SIGNUPGENIUS_USER_KEY\": \"your-api-key\" }\n```\n\nModes can be combined; Pro key wins where it applies, session/fetchproxy handles everything else.\n\n## Tools\n\n### Profile\n\n- **`signupgenius_get_profile`** — Your own profile (name, email, account type).\n\n### Groups\n\n- **`signupgenius_list_groups`** — Every group you own or belong to.\n- **`signupgenius_list_group_members`** — Members of one of your groups.\n- **`signupgenius_get_group_member`** — One member's full record.\n- **`signupgenius_add_group_member`** *(write)* — Add a person to one of your groups.\n\n### Sign-ups — created by you\n\n- **`signupgenius_list_created_active`** — Sign-ups you've created that are still open.\n- **`signupgenius_list_created_expired`** — Sign-ups you've created that have ended.\n- **`signupgenius_list_created_all`** — Both active and expired in one call.\n\n### Sign-ups — others'\n\n- **`signupgenius_list_invited`** — Sign-ups you've been invited to.\n- **`signupgenius_list_signedupfor`** — Sign-ups you've taken a slot on. (Session-mode also includes the bonus `signupgenius_legacy_get_my_signups` which calls the same backend the SignUpGenius web wizard uses and sometimes returns fuller data.)\n- **`signupgenius_legacy_get_my_signups`** *(session only)* — Bonus richer \"what am I signed up for\" lookup.\n\n### Public sign-up\n\n- **`signupgenius_get_public_signup`** — Sheet metadata by URL or slug: title, description, organizer, category, timezone, and the custom questions a sign-up must answer. **No auth required.** Metadata only — it carries no slots.\n- **`signupgenius_list_slots`** — Every slot on ANY public sign-up: date, day of week, start/end time, title, location, capacity, filled vs available, and who has signed up (with the number of spots each entry consumes). **No auth required**, and it works on sheets the user did not create. Reach for this first for \"what's still open\" — the report tools below cannot answer it for someone else's sheet.\n- **`signupgenius_rsvp`** *(write)* — RSVP yes/no/maybe to a headcount (Yes/No/Maybe) sheet. Not for slot-based sheets.\n- **`signupgenius_claim_slot`** *(write)* — Sign up for a slot on a slot-based sheet. Call it WITHOUT `confirm` first to get a dry-run preview of the slot and identity, show that to the user, then call again with `confirm: true`. Pass the sheet's required custom fields (read them from `signupgenius_get_public_signup`).\n- **`signupgenius_release_slot`** *(write)* — Give up a slot the user signed up for. Same two-step confirm as above. Takes `item_member_id` **and** `slotitemid` from the same `signupgenius_list_slots` row; it only ever withdraws the signed-in user's own entry and refuses anyone else's.\n\n### Reports — slots for a sign-up (Pro key only, **owner-scoped**)\n\n- **`signupgenius_report_all`** — Every slot + participant on a sign-up.\n- **`signupgenius_report_filled`** — Filled slots only.\n- **`signupgenius_report_available`** — Available slots only.\n\nThese need `SIGNUPGENIUS_USER_KEY` **and** answer only for sign-ups the key holder created — a Pro key is not a workaround for someone else's sheet. Use `signupgenius_list_slots` for availability *and* participant names on any sheet; the reports add only what it cannot carry: custom-question answers.\n\nOutside key mode these fail fast with a `KeyModeRequiredError` naming the tool, the mode required and the mode in effect, and instructing the user to set `SIGNUPGENIUS_USER_KEY`.\n\n## Trigger examples\n\n- \"Check SignUpGenius — what am I signed up for this week?\" → `signupgenius_list_signedupfor` (+ `_legacy_get_my_signups` in session mode)\n- \"What slots are still open on the PTA potluck sign-up?\" → `signupgenius_list_slots` (no auth, works on anyone's sheet)\n- \"Who signed up for which slot on MY potluck?\" → `signupgenius_report_all` (Pro key, own sheets only)\n- \"List my SignUpGenius groups\" → `signupgenius_list_groups`\n- \"Add Jordan Smith (<jordan@example.com>) to my Scouts group\" → `signupgenius_add_group_member`\n- \"What sign-ups have I created that are still active?\" → `signupgenius_list_created_active`\n- \"RSVP me to slot 3 on this SignUpGenius link\" → `signupgenius_rsvp`\n\n## Gotchas\n\n- **Reports require Pro.** `signupgenius_report_*` only work with `SIGNUPGENIUS_USER_KEY` — session/fetchproxy users get a clear error pointing at the key.\n- **SSO accounts not supported.** Session mode is direct email/password only — no Google/Apple/Facebook/Microsoft SSO, no 2FA. Use fetchproxy mode instead if your account uses SSO.\n- **Session listings collapse.** In session mode the v3 `signups/created` endpoint returns active + expired in one paginated call — the three `list_created_*` tools all hit the same endpoint and filter client-side. Pro key mode has separate endpoints and exposes the real distinction.\n- **Write surface is small.** Only `signupgenius_add_group_member` and `signupgenius_rsvp` mutate; everything else is read-only.\n- **ToS caveat.** SignUpGenius's terms generally prohibit scripted/automated access. Personal-account, personal-scale use is the intended audience; running this against accounts you don't own or at scale is your problem.\n\nFile v2.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"signupgenius\",\n  \"version\": \"2.1.1\",\n  \"publishedAt\": 1790008630961\n}\n\nFile v2.1.1:skill-card.md\n\n## Description:\n\nHelps an agent read SignUpGenius sign-up sheets, slot reports, groups, and account-related sign-up information, with limited write actions for group membership, RSVPs, slot claims, and slot releases.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agent developers use this skill to connect an agent to their own SignUpGenius account or public sign-up pages so it can answer questions about sign-ups, slots, groups, and reports. It can also support explicitly confirmed changes such as adding group members, RSVPing, claiming slots, or releasing the signed-in user's own slot.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can access SignUpGenius sessions, credentials, or API keys.\n\nMitigation: Enable it only for accounts where this access is acceptable, and keep credentials scoped to the intended SignUpGenius account.\n\nRisk: The skill can perform state-changing SignUpGenius actions such as RSVPs, slot claims, slot releases, and group-member additions.\n\nMitigation: Require explicit user confirmation before any write action and verify the target sign-up, slot, group, and identity before proceeding.\n\nRisk: Public-sheet tools may expose participant names from public sign-up pages.\n\nMitigation: Retrieve and share participant data only when appropriate for the user's task and privacy expectations.\n\nRisk: The security summary notes that the documentation understates some write actions.\n\nMitigation: Review the write-capable tools before deployment and communicate clearly which operations can modify SignUpGenius data.\n\n## Reference(s):\n\n- [SignUpGenius](https://www.signupgenius.com)\n- [signupgenius-mcp npm package](https://www.npmjs.com/package/signupgenius-mcp)\n- [signupgenius-mcp project](https://github.com/chrischall/signupgenius-mcp)\n- [fetchproxy extension](https://github.com/chrischall/fetchproxy)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with MCP tool names, JSON configuration snippets, and concise operational notes.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May reference account credentials, session cookies, API keys, public sign-up data, participant names, and state-changing SignUpGenius actions.]\n\n## Skill Version(s):\n\n2.1.1 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v2.1.0: 3 files, 4599 bytes\n\nFiles: skill-card.md (2185b), SKILL.md (7582b), _meta.json (131b)\n\nFile v2.1.0:SKILL.md\n\n---\nname: signupgenius\ndescription: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports.\n---\n\n# signupgenius-mcp\n\nMCP server for [SignUpGenius](https://www.signupgenius.com) — 14 read tools + 2 write across profile, groups, sign-ups, and reports.\n\n- **npm:** [npmjs.com/package/signupgenius-mcp](https://www.npmjs.com/package/signupgenius-mcp)\n- **Source:** [github.com/chrischall/signupgenius-mcp](https://github.com/chrischall/signupgenius-mcp)\n\n## Setup\n\nThree auth modes, tried in priority order — first match wins. **You only need one.**\n\n### Mode 1 — fetchproxy fallback (zero env vars, recommended)\n\nInstall the [fetchproxy extension](https://github.com/chrischall/fetchproxy) once, sign into [signupgenius.com](https://www.signupgenius.com), and add to `.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"]\n    }\n  }\n}\n```\n\nAt startup the MCP reads your `accessToken` / `cfid` / `cftoken` cookies once via the extension, then talks to SignUpGenius directly — the extension is **not** in the request hot path after that. Works with free accounts.\n\n### Mode 2 — session login (email + password)\n\nAdd an env block with your direct-login credentials (won't work with Google/Apple/Facebook/Microsoft SSO or 2FA):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"],\n      \"env\": {\n        \"SIGNUPGENIUS_EMAIL\": \"you@example.com\",\n        \"SIGNUPGENIUS_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}\n```\n\n### Mode 3 — Pro API key (required for slot reports)\n\nThe three `signupgenius_report_*` tools that list filled / available / all participants for a given sign-up only work against the documented Pro v2 API. Get a key from **Pro Tools → API Management** in your SignUpGenius dashboard (Pro subscription required), then:\n\n```json\n\"env\": { \"SIGNUPGENIUS_USER_KEY\": \"your-api-key\" }\n```\n\nModes can be combined; Pro key wins where it applies, session/fetchproxy handles everything else.\n\n## Tools\n\n### Profile\n\n- **`signupgenius_get_profile`** — Your own profile (name, email, account type).\n\n### Groups\n\n- **`signupgenius_list_groups`** — Every group you own or belong to.\n- **`signupgenius_list_group_members`** — Members of one of your groups.\n- **`signupgenius_get_group_member`** — One member's full record.\n- **`signupgenius_add_group_member`** *(write)* — Add a person to one of your groups.\n\n### Sign-ups — created by you\n\n- **`signupgenius_list_created_active`** — Sign-ups you've created that are still open.\n- **`signupgenius_list_created_expired`** — Sign-ups you've created that have ended.\n- **`signupgenius_list_created_all`** — Both active and expired in one call.\n\n### Sign-ups — others'\n\n- **`signupgenius_list_invited`** — Sign-ups you've been invited to.\n- **`signupgenius_list_signedupfor`** — Sign-ups you've taken a slot on. (Session-mode also includes the bonus `signupgenius_legacy_get_my_signups` which calls the same backend the SignUpGenius web wizard uses and sometimes returns fuller data.)\n- **`signupgenius_legacy_get_my_signups`** *(session only)* — Bonus richer \"what am I signed up for\" lookup.\n\n### Public sign-up\n\n- **`signupgenius_get_public_signup`** — Sheet metadata by URL or slug: title, description, organizer, category, timezone, and the custom questions a sign-up must answer. **No auth required.** Metadata only — it carries no slots.\n- **`signupgenius_list_slots`** — Every slot on ANY public sign-up: date, day of week, start/end time, title, location, capacity, filled vs available, and who has signed up (with the number of spots each entry consumes). **No auth required**, and it works on sheets the user did not create. Reach for this first for \"what's still open\" — the report tools below cannot answer it for someone else's sheet.\n- **`signupgenius_rsvp`** *(write)* — RSVP yes/no/maybe to a headcount (Yes/No/Maybe) sheet. Not for slot-based sheets.\n- **`signupgenius_claim_slot`** *(write)* — Sign up for a slot on a slot-based sheet. Call it WITHOUT `confirm` first to get a dry-run preview of the slot and identity, show that to the user, then call again with `confirm: true`. Pass the sheet's required custom fields (read them from `signupgenius_get_public_signup`).\n- **`signupgenius_release_slot`** *(write)* — Give up a slot the user signed up for. Same two-step confirm as above. Takes `item_member_id` **and** `slotitemid` from the same `signupgenius_list_slots` row; it only ever withdraws the signed-in user's own entry and refuses anyone else's.\n\n### Reports — slots for a sign-up (Pro key only, **owner-scoped**)\n\n- **`signupgenius_report_all`** — Every slot + participant on a sign-up.\n- **`signupgenius_report_filled`** — Filled slots only.\n- **`signupgenius_report_available`** — Available slots only.\n\nThese need `SIGNUPGENIUS_USER_KEY` **and** answer only for sign-ups the key holder created — a Pro key is not a workaround for someone else's sheet. Use `signupgenius_list_slots` for availability *and* participant names on any sheet; the reports add only what it cannot carry: custom-question answers.\n\nOutside key mode these fail fast with a `KeyModeRequiredError` naming the tool, the mode required and the mode in effect, and instructing the user to set `SIGNUPGENIUS_USER_KEY`.\n\n## Trigger examples\n\n- \"Check SignUpGenius — what am I signed up for this week?\" → `signupgenius_list_signedupfor` (+ `_legacy_get_my_signups` in session mode)\n- \"What slots are still open on the PTA potluck sign-up?\" → `signupgenius_list_slots` (no auth, works on anyone's sheet)\n- \"Who signed up for which slot on MY potluck?\" → `signupgenius_report_all` (Pro key, own sheets only)\n- \"List my SignUpGenius groups\" → `signupgenius_list_groups`\n- \"Add Jordan Smith (<jordan@example.com>) to my Scouts group\" → `signupgenius_add_group_member`\n- \"What sign-ups have I created that are still active?\" → `signupgenius_list_created_active`\n- \"RSVP me to slot 3 on this SignUpGenius link\" → `signupgenius_rsvp`\n\n## Gotchas\n\n- **Reports require Pro.** `signupgenius_report_*` only work with `SIGNUPGENIUS_USER_KEY` — session/fetchproxy users get a clear error pointing at the key.\n- **SSO accounts not supported.** Session mode is direct email/password only — no Google/Apple/Facebook/Microsoft SSO, no 2FA. Use fetchproxy mode instead if your account uses SSO.\n- **Session listings collapse.** In session mode the v3 `signups/created` endpoint returns active + expired in one paginated call — the three `list_created_*` tools all hit the same endpoint and filter client-side. Pro key mode has separate endpoints and exposes the real distinction.\n- **Write surface is small.** Only `signupgenius_add_group_member` and `signupgenius_rsvp` mutate; everything else is read-only.\n- **ToS caveat.** SignUpGenius's terms generally prohibit scripted/automated access. Personal-account, personal-scale use is the intended audience; running this against accounts you don't own or at scale is your problem.\n\nFile v2.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"signupgenius\",\n  \"version\": \"2.1.0\",\n  \"publishedAt\": 1789872709536\n}\n\nFile v2.1.0:skill-card.md\n\n## Description:\n\nRead sign-up sheets, slot reports, and groups on SignUpGenius, and add members to your groups.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and organizers use this skill to inspect SignUpGenius profiles, groups, invitations, public slots, and owner-scoped reports. It also supports limited account changes such as adding group members, RSVPing, claiming slots, and releasing the signed-in user's own slots.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can access SignUpGenius account sessions, credentials, cookies, or API keys.\n\nMitigation: Treat all cookies, passwords, and API keys as secrets, and avoid logging or sharing them.\n\nRisk: The skill can make real account changes such as RSVPs, slot claims, slot releases, and group-member additions.\n\nMitigation: Require explicit user confirmation before any write action.\n\nRisk: The server security summary reports that the skill undercounts its write actions.\n\nMitigation: Review the available tools before deployment and apply a confirmation policy to each operation that changes SignUpGenius state.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/chrischall/skills/signupgenius)\n- [SignUpGenius](https://www.signupgenius.com)\n- [signupgenius-mcp npm package](https://www.npmjs.com/package/signupgenius-mcp)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Configuration]\n\n**Output Format:** [Markdown instructions with JSON configuration examples and MCP tool names]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May require SignUpGenius session cookies, account credentials, or a Pro API key depending on the selected authentication mode.]\n\n## Skill Version(s):\n\n2.1.0 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: signupgenius Owner: chrischall Summary: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, ","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"]\n    }\n  }\n}"},{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"],\n      \"env\": {\n        \"SIGNUPGENIUS_EMAIL\": \"you@example.com\",\n        \"SIGNUPGENIUS_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}"},{"language":"json","snippet":"\"env\": { \"SIGNUPGENIUS_USER_KEY\": \"your-api-key\" }"},{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"]\n    }\n  }\n}"},{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"],\n      \"env\": {\n        \"SIGNUPGENIUS_EMAIL\": \"you@example.com\",\n        \"SIGNUPGENIUS_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}"},{"language":"json","snippet":"\"env\": { \"SIGNUPGENIUS_USER_KEY\": \"your-api-key\" }"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: signupgenius\ndescription: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports.\n---\n\n# signupgenius-mcp\n\nMCP server for [SignUpGenius](https://www.signupgenius.com) — 14 read tools + 2 write across profile, groups, sign-ups, and reports.\n\n- **npm:** [npmjs.com/package/signupgenius-mcp](https://www.npmjs.com/package/signupgenius-mcp)\n- **Source:** [github.com/chrischall/signupgenius-mcp](https://github.com/chrischall/signupgenius-mcp)\n\n## Setup\n\nThree auth modes, tried in priority order — first match wins. **You only need one.**\n\n### Mode 1 — fetchproxy fallback (zero env vars, recommended)\n\nInstall the ContextMint Bridge browser extension once ([releases](https://github.com/nullnet-app/contextmint-bridge/releases): Chrome loads the chrome zip unpacked; Safari isn't available yet, so use Chrome for now — it's the fetchproxy extension renamed, source at https://github.com/nullnet-app/contextmint-bridge, verify a zip with its `.sha256` file), sign into [signupgenius.com](https://www.signupgenius.com), and add to `.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"]\n    }\n  }\n}\n```\n\nAt startup the MCP reads your `accessToken` / `cfid` / `cftoken` cookies once via the extension, then talks to SignUpGenius directly — the extension is **not** in the request hot path after that. Works with free accounts.\n\n### Mode 2 — session login (email + password)\n\nAdd an env block with your direct-login credentials (won't work with Google/Apple/Facebook/Microsoft SSO or 2FA):\n\n```json\n{\n  \"mcpServers\": {\n    \"signupgenius\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"signupgenius-mcp\"],\n      \"env\": {\n        \"SIGNUPGENIUS_EMAIL\": \"you@example.com\",\n        \"SIGNUPGENIUS_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}\n```\n\n### Mode 3 — Pro API key (required for slot reports)\n\nThe three `signupgenius_report_*` tools that list filled / available / all participants for a given sign-up only work against the documented Pro v2 API. Get a key from **Pro Tools → API Management** in your SignUpGenius dashboard (Pro subscription required), then:\n\n```json\n\"env\": { \"SIGNUPGENIUS_USER_KEY\": \"your-api-key\" }\n```\n\nModes can be combined; Pro key wins where it applies, session/fetchproxy handles everything else.\n\n## Tools\n\n### Profile\n\n- **`signupgenius_get_profile`** — Your own profile (name, email, account type).\n\n### Groups\n\n- **`signupgenius_list_groups`** — Every group you own or belong to.\n- **`s"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"signupgenius\",\n  \"version\": \"2.1.9\",\n  \"publishedAt\": 1791588457197\n}"},{"path":"skill-card.md","content":"## Description:\n\nHelps users review SignUpGenius sign-ups, available slots, reports, and groups, and manage sign-ups and group membership with confirmation before changes.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nPeople managing volunteer events, group invitations, or RSVPs use this skill to check sign-up sheets and open slots, review their groups, and confirm requested changes to participation or membership.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: SignUpGenius cookies, passwords, or API keys may expose account access if mishandled.\n\nMitigation: Use the least sensitive authentication mode that works and protect credentials and keys.\n\nRisk: Approving a write with the wrong identity, group, slot, or RSVP may change the wrong participation record or invite someone unintentionally.\n\nMitigation: Check the preview and approve only when the identity, group, slot, and RSVP match the intended action.\n\nRisk: Global installation makes account access available across projects.\n\nMitigation: Prefer project-scoped configuration unless access is needed everywhere.\n\n## Reference(s):\n\n- [SignUpGenius skill on ClawHub](https://clawhub.ai/chrischall/skills/signupgenius)\n- [SignUpGenius](https://www.signupgenius.com)\n- [signupgenius-mcp npm package](https://www.npmjs.com/package/signupgenius-mcp)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Guidance]\n\n**Output Format:** [Markdown]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include sign-up details, availability, group information, or a preview requiring approval before a change.]\n\n## Skill Version(s):\n\n2.1.9 (source: server-resolved release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks, carpools, classroom helpers, or PTA/HOA/Scout/team sign-ups. Works against your own signed-in account; supports Pro key for full slot reports. Skill: signupgenius Owner: chrischall Summary: Read sign-up sheets, slot reports, and groups on SignUpGenius — and add members to your groups. Triggers on phrases like \"check SignUpGenius\", \"what am I signed up for\", \"what slots are left for [event]\", \"available slots\", \"list my SignUpGenius groups\", \"add [person] to my [group] group\", or any request involving SignUpGenius sign-ups, RSVPs, volunteer slots, potlucks,","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1277,"uniquenessScore":46,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T06:17:01.339Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T06:17:01.339Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:52:13.870Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}