Update meetup-update skill with the real booking workflow - #48
Open
MasonEgger wants to merge 17 commits into
Open
Update meetup-update skill with the real booking workflow#48MasonEgger wants to merge 17 commits into
MasonEgger wants to merge 17 commits into
Conversation
Add the CFP responses spreadsheet as the primary input source. Require confirming the booked date from the email thread instead of assuming the next open month. Add steps for syncing with main, the July lightning talks tradition, and holding draft PRs on missing headshots or open months. Add the speaker outreach email template as a reference file.
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
Make the Google MCP pull the mandatory first step. Mirror the Todoist "Schedule Monthly Meetup" subtasks: website update, Canva card, social media email to Kassandra, and the manual event listings (Discord, Meetup.com, MKE). The Canva step targets the per-year "Meetup Banners" design with one page per month. Finish each run by reporting status against the Todoist checklist without auto-completing subtasks.
Add a template policy: every produced artifact fills a reference template verbatim. Add the Drive step: month folder (root/YYYY/YYYY-MM-DD), run of show copied from the Drive template, attendance form copied from the template form. Add exact fill-in templates for the run of show and the Kassandra social email (proposed, pending approval). Document the Canva season decks: September through August, named for the season's ending year, with deck history back to the September 2023 launch. Note the Meetup.com GraphQL API as the future path for automating network events.
Deck pages are not in chronological order; find the latest month by reading date text. Asset upload needs a direct 200 URL; resolve redirects like github.com avatars first. Document the card's fixed and fill-in slots.
…kflow Decks are newest first; the new card is inserted as page 1 via merge-designs sourcing the deck itself. Page 1 is then filled through an editing transaction scoped to that page. Note that scratch designs cannot be deleted through the MCP.
The duplicated page keeps the source page's title label. The skill now reminds Mason to rename it in the editor after every card.
…run of show research The social handoff is a webhook post to the marketing channel, with the URL read from PYTEXAS_MARKETING_WEBHOOK and never committed. The run of show now has a research procedure: local meetups table from docs/local-meetups.md plus each group's meetup.com page, recurring and time-sensitive announcements, next month teaser, and optional polls. Flag both flows as untested until their first live run.
… repo The encrypted secrets/meetup.sops.env is committable and holds a placeholder until Mason pastes the real webhook URL. Onboarding another organizer is adding their age key to .sops.yaml and running sops updatekeys. The skill posts through sops exec-env so the decrypted URL never lands in history.
Cover reading and changing secrets, onboarding an organizer, and why adding a key to .sops.yaml grants nothing without an existing key holder running updatekeys.
The encrypted secrets file now holds the real URL instead of the placeholder. A test message through sops exec-env returned 204 from Discord on 2026-07-30.
Back up the age key to the password manager; if lost, re-obtain secrets from their sources and re-encrypt to a fresh key.
secrets/meetup.sops.env now holds both webhook URLs; the organizers one was verified with a live 204 test. Marketing gets the asset handoff (card, run of show, forms, meetup.com placeholder, RSVP); organizers get the setup summary with remaining manual steps.
Marketing now carries a fresh card PNG export, speaker socials when available, and a Discord event placeholder. New discord-event.md documents the scheduled event endpoint, the guild ID from the bot repo, the stage payload, and what Mason must provide (bot token in secrets, stage channel ID). Step 10 reframes the event listings as pending credentials instead of permanently manual.
Stage-linked events have a bug with bad stage audio, so the meetup always creates the event as external with location text instead. External events need an end time and no channel id, which also drops the stage channel ID ask.
The skill keeps judgment and interactive-auth work; a short-lived dispatch workflow on the self-hosted cluster owns the webhook posts, Discord event, and eventually meetup.com. Inputs are links only (claim check via Drive) to stay under the 2MB payload cap. Home is the middleware repo, extended and renamed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Folds the lessons from the August/October booking mixup into the skill.
references/outreach-email.mdwith the standard date-offer email template and the Gmail draft URL-mangling caveat.