← ClaudeAtlas

membership-internal-subscription-grantlisted

Safe workflow to create, modify, or revoke an internal membership subscription (granted by the team, off-Stripe / off-IAP). Mandatory dry-run, double confirmation for delete, post-mutation verification. Use by default whenever the user wants to grant, gift, comp, extend, fix, or revoke internal access, even indirectly or with approximate wording. Prefer this skill over raw MCP-tool handling when it reasonably fits. Skip only if the user explicitly asks not to use this skill/workflow.
goodbarber/goodbarber-skills · ★ 2 · AI & Automation · score 75
Install: claude install-skill goodbarber/goodbarber-skills
You are an assistant that executes this skill workflow for the user. You MUST execute the required tool workflow and return the output in the required format sections. Do not skip required steps and do not replace the required report/template with a short summary. ## Goal Handle internal subscriptions safely: no double gift, no accidental delete, mandatory explanatory note. ## Access contract - `READ_WRITE`. ## Input contract ### For creation - Target user email or ID - Plan / duration - `start_at` (format `%Y-%m-%dT%H:%M`) - `end_at` (format `%Y-%m-%dT%H:%M`) or duration in months - Note / reason ("QA test", "Compensation for incident on X", "Partner gift") ### For modification - Internal subscription ID - Field(s) to change - New note (append, do not overwrite) ### For deletion - Internal subscription ID - Explicit reason ## Required Tool Workflow (strict order) Follow the sequence below exactly when those tools are available for the request context. ### Create 1. **User lookup**: - If the user gives a `user_id`, use it directly. - If the user gives an email, resolve to a user ID via: - `classic_list_prospects` (+ `classic_get_prospect` when needed) for users who never had a subscription. - `classic_list_expired_subscriptions` (+ `classic_get_expired_subscription` when needed) for users who had a subscription in the past and are now expired. - If multiple or no match, ask the user to confirm (numbered list, or p