From aaif-onboarding
Use this skill when the user asks about "AAIF member onboarding", "new member setup", "membership tier validation", "mailing list provisioning", "compliance screening", "silo health", "onboarding checklist", "D1-D5 deliverables", "member offboarding", "working group enrollment", "election management", "press release drafting", "logo validation", "renewal intelligence", "churn prediction", "engagement scoring", "contact role management", "calendar provisioning", "onboarding call scheduling", or any task related to managing Linux Foundation AAIF member organizations, contacts, and their access across Salesforce, Groups.io, Google Calendar, Discord, GitHub, LFX Platform, and HubSpot systems.
npx claudepluginhub linuxfoundation/aaif-onboarding-marketplace --plugin aaif-onboardingThis skill uses the workspace's default tool permissions.
Domain knowledge for the AI & Agentic Infrastructure Foundation member onboarding lifecycle.
Verifies tests pass on completed feature branch, presents options to merge locally, create GitHub PR, keep as-is or discard; executes choice and cleans up worktree.
Processes code review feedback technically: verify suggestions against codebase, clarify unclear items, push back if questionable, implement after evaluation—not blind agreement.
Executes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Domain knowledge for the AI & Agentic Infrastructure Foundation member onboarding lifecycle.
AAIF is a Linux Foundation project hosting MCP (Anthropic), Goose (Block), and AGENTS.md (OpenAI). Members are companies that pay annual dues and receive tiered benefits.
The AAIF PMO Agent runs on a single MCP server that powers multiple clients:
| Tier | GB Seats | Voting | TC Eligible | Max Contacts | Key Lists |
|---|---|---|---|---|---|
| Platinum | 2 | Yes | Yes | 10 | governing-board, technical-committee, members-all |
| Gold | 1 | Yes | Yes | 8 | governing-board, members-all |
| Silver | 0 | No | No | 5 | members-all |
Every new member goes through five deliverables:
Each member organization has contacts assigned to roles:
There are 49 tools across 12 domains (48 auto-registered via dynamic registry + 1 health check). Architecture review complete: 14/14 findings resolved. 123 tests passing. Always default to dry_run=True for any write operations and confirm with the user before setting dry_run=False.
provision_mailing_lists(org_id, contact_email, dry_run=True) — Add contact to tier-appropriate listsremove_from_mailing_lists(org_id, contact_email, dry_run=True) — Remove from all listscheck_mailing_list_membership(contact_email) — Check subscription status across all listsremediate_mailing_lists(dry_run=True) — Foundation-wide gap detection and remediationprovision_calendar_invites(org_id, contact_id, dry_run=True) — Send calendar invites based on tier/roleupdate_meeting_schedule(wg_id, new_time, new_link) — Update WG recurring meeting time/linkget_upcoming_meetings(contact_id) — Get upcoming meetings for a contactcheck_sanctions(org_name, country, org_id) — Look up Descartes screening status from SFDCcheck_tax_exempt_status(org_id) — Verify 501(c)(6) complianceget_compliance_report(org_id) — Full compliance summaryflag_compliance_issue(org_id, issue_type, details) — Create ticket for human reviewvalidate_membership_tier(org_id) — Look up org tier, entitlements, contract expiry, anomaliescheck_tier_entitlements(tier) — Return the entitlement matrix for platinum/gold/silverdetect_tier_anomalies() — Scan all members for access mismatcheslist_contacts(org_id) — List all contacts with roles and downstream accessadd_contact(org_id, name, email, role, dry_run=True) — Add contact, trigger downstream provisioningupdate_contact_role(org_id, contact_id, new_role, dry_run=True) — Change role, show downstream effectsremove_contact(org_id, contact_id, dry_run=True) — Remove contact, trigger offboardingtransfer_voting_rights(org_id, from_contact_id, to_contact_id) — Transfer voting rights between contactsenroll_in_working_group(contact_id, wg_id, dry_run=True) — Enroll across Groups.io + Discord + GitHub + Calendarleave_working_group(contact_id, wg_id, dry_run=True) — Remove from WG across all systemslist_available_working_groups(contact_id) — List WGs with enrollment statusget_wg_members(wg_id) — Get WG member rostercheck_wg_eligibility(contact_id, wg_id) — Check tier/role eligibility for a WGcreate_election(wg_id, election_type, nomination_start, nomination_end, voting_start, voting_end) — Create WG chair electionvalidate_candidate_eligibility(contact_id, election_id) — Check candidate prerequisitescheck_voter_eligibility(contact_id, election_id) — Check voting contact statusget_election_status(election_id) — Get election timeline, candidates, votesdiagnose_ballot_access(contact_id, election_id) — Diagnose all blockers for ballot accessdraft_press_release(org_id, template_id) — Generate press release from template + org dataget_press_release_status(pr_id) — Check approval workflow progresslist_press_release_templates() — List available PR templatesvalidate_logo(file_url) — Validate logo against brand guidelines (SVG, min 1000x1000)get_brand_guidelines() — Retrieve brand specs and requirementsrequest_logo_upload(org_id) — Generate secure upload URL for logo submissionschedule_onboarding_call(org_id, contact_ids, lf_staff_ids) — Schedule call with contacts and LF staffreschedule_onboarding_call(meeting_id, new_time) — Reschedule an existing callget_onboarding_call_status(org_id) — Check call status (scheduled/pending/done)get_renewal_status(org_id) — Contract renewal timeline and stageget_engagement_score(org_id) — Calculate engagement score (0-100) with breakdownpredict_churn_risk(org_id) — Predict churn risk (0-100) with contributing factorsget_renewal_dashboard() — Foundation-wide renewal pipeline viewtrigger_renewal_outreach(org_id, dry_run=True) — Generate outreach plan with email templaterun_onboarding_checklist(org_id, contact_id, dry_run=True) — Execute full D1-D5 flowget_onboarding_status(org_id, contact_id) — Check progress on each deliverable and stepreconcile_silos(org_id) — Compare SFDC vs Groups.io vs SSO for discrepanciesrun_offboarding_checklist(org_id, contact_email, reason, dry_run=True) — Remove access on departureget_silo_health() — Foundation-wide sync health scorevalidate_membership_tier → confirm tier and entitlementsget_compliance_report → verify sanctions and tax-exempt statuslist_contacts → review contact rolesprovision_mailing_lists (dry_run) → preview list additions, confirm, then executeprovision_calendar_invites (dry_run) → preview calendar invitesenroll_in_working_group → enroll in selected WGsschedule_onboarding_call → book orientation calldraft_press_release → generate announcementrequest_logo_upload → get logo upload URLrun_onboarding_checklist (dry_run) → preview full D1-D5, confirm, then executereconcile_silos → verify everything is in synclist_available_working_groups → show WGs with eligibilitycheck_wg_eligibility → verify contact can joinenroll_in_working_group (dry_run) → preview multi-system enrollmentdry_run=Falseget_upcoming_meetings → show next meetingscreate_election → set up WG chair electionvalidate_candidate_eligibility → check candidate prerequisitescheck_voter_eligibility → verify voter statusget_election_status → monitor election progressdiagnose_ballot_access → troubleshoot access issuesget_renewal_dashboard → foundation-wide pipeline viewpredict_churn_risk → identify at-risk membersget_engagement_score → understand engagement breakdownget_renewal_status → check specific org renewal timelinetrigger_renewal_outreach (dry_run) → preview outreach plandetect_tier_anomalies → find access mismatchesremediate_mailing_lists (dry_run) → preview fixesget_silo_health → overall sync scoreget_renewal_dashboard → renewal pipeline statuscheck_mailing_list_membership → see current subscriptionsrun_offboarding_checklist (dry_run) → preview removalsdry_run=FalseUse /silver-onboard for the full conversational flow. Phases:
validate_membership_tier → list_contacts → add_contactlist_available_working_groups (7 WGs) → check_wg_eligibility → enroll_in_working_groupadd_contact → provision_mailing_lists → enroll_in_working_groupprovision_calendar_invitesprovision_mailing_lists for Silver tier (members-all)get_upcoming_meetingsget_onboarding_status → check_mailing_list_membership → reconcile_silosFor detailed provisioning rules and working group definitions, see references/provisioning-rules.md.