{"id":50254051,"url":"https://github.com/zoom/slack-to-zoom","last_synced_at":"2026-05-27T03:39:41.882Z","repository":{"id":344886565,"uuid":"1162180970","full_name":"zoom/slack-to-zoom","owner":"zoom","description":"A Claude/Codex skill to Migrate Slack Apps to Zoom Team Chat Apps","archived":false,"fork":false,"pushed_at":"2026-04-28T19:49:37.000Z","size":150,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-27T03:39:38.312Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zoom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-20T00:34:17.000Z","updated_at":"2026-05-04T22:29:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zoom/slack-to-zoom","commit_stats":null,"previous_names":["zoom/app-migration-skills","zoom/slack-to-zoom"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zoom/slack-to-zoom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fslack-to-zoom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fslack-to-zoom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fslack-to-zoom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fslack-to-zoom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zoom","download_url":"https://codeload.github.com/zoom/slack-to-zoom/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fslack-to-zoom/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33549782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-27T03:39:41.191Z","updated_at":"2026-05-27T03:39:41.876Z","avatar_url":"https://github.com/zoom.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slack-to-Zoom Migration Skills\n\nThis repository now keeps the Slack-to-Zoom migration logic in one shared core and exposes it through two thin runtime wrappers:\n\n- `claude/skills/slack-to-zoom/` for Claude Code\n- `skills/` for Codex\n- `shared/slack-to-zoom/` for the reusable migration instructions, references, templates, and examples\n\n## Repository layout\n\n```text\n.\n|-- claude/\n|   `-- skills/slack-to-zoom/\n|-- skills/\n|   |-- stz-migrate/\n|   |-- stz-discover/\n|   |-- stz-map/\n|   |-- stz-generate/\n|   |-- stz-document/\n|   |-- stz-validate/\n|   `-- stz-handoff/\n`-- shared/\n    `-- slack-to-zoom/\n        |-- core/\n        |-- docs/\n        |-- examples/\n        |-- reference/\n        `-- templates/\n```\n\n## Development model\n\nUse the shared directory for anything that should stay consistent across runtimes:\n\n- migration workflow\n- API mapping guidance\n- templates\n- examples\n- validation notes\n\nOnly keep runtime-specific concerns in the runtime folders:\n\n- command wiring and marketplace metadata for Claude\n- skill trigger text and entrypoints for Codex\n\nThat split keeps the migration behavior in one place and reduces drift between skills.\n\nThe workflow is organized into a staged `stz` model:\n\n- `migrate`: run the full workflow end to end\n- `discover`: inspect the Slack app, inventory features, and identify blockers\n- `map`: map Slack behaviors to Zoom Team Chat equivalents and note gaps\n- `generate`: create the Zoom implementation from the chosen migration plan\n- `document`: write setup, migration, and handoff documentation\n- `validate`: run tests, startup checks, and optional live validation\n- `handoff`: summarize results, limitations, and next steps for the customer\n\nUse `migrate` as the default entrypoint. Use the other stages when you want to run or repeat one part of the workflow in isolation.\n\n## Claude Code\n\n### Install\n\n```bash\ngit clone git@github.com:zoom/slack-to-zoom.git\ncd slack-to-zoom\nnpx @zoom/slack-to-zoom@latest --claude --global\n```\n\nOr install into the current project:\n\n```bash\nnpx @zoom/slack-to-zoom@latest --claude --local\n```\n\nThat installs the suite directly into `~/.claude/slack-to-zoom` or `./.claude/slack-to-zoom`, adds the Claude skill under `skills/slack-to-zoom`, and adds slash commands under `commands/stz/`. No follow-up `/plugin` commands are required.\n\n### Commands\n\nClaude uses slash commands with the `stz:*` namespace:\n\n- `/stz:migrate`\n- `/stz:discover`\n- `/stz:map`\n- `/stz:generate`\n- `/stz:document`\n- `/stz:validate`\n- `/stz:handoff`\n\nExample:\n\n```text\n/stz:migrate https://github.com/example/slack-app\n```\n\n## Codex\n\n### Install\n\nInstall with `npx`. If you run the installer without flags, it will prompt for runtime and install scope:\n\n```bash\nnpx @zoom/slack-to-zoom@latest\n```\n\nFor a direct Codex install, use:\n\n```bash\nnpx @zoom/slack-to-zoom@latest --codex --global\n```\n\nFor a project-local install, use:\n\n```bash\nnpx @zoom/slack-to-zoom@latest --codex --local\n```\n\nThe installer copies the full suite into a stable root:\n\n- global: `~/.codex/slack-to-zoom`\n- local: `./.codex/slack-to-zoom`\n\nIt then links all packaged skills from that suite root into the active Codex skills directory. This is the canonical install path for the project and is the supported model for shared references across `stz-*` skills.\n\n### Skills\n\nCodex uses skills invoked with `$`, not Claude-style slash commands:\n\n- `$stz-migrate`\n- `$stz-discover`\n- `$stz-map`\n- `$stz-generate`\n- `$stz-document`\n- `$stz-validate`\n- `$stz-handoff`\n\nThe legacy `slack-to-zoom` skill remains as a compatibility alias.\n\nExample:\n\n```text\n$stz-migrate https://github.com/example/slack-app\n```\n\n## Updating the migration logic\n\n1. Edit shared content in `shared/slack-to-zoom/`.\n2. Update Claude-only or Codex-only wrapper text if runtime behavior changes.\n3. Verify path references still resolve from both wrappers.\n\nThe Codex suite is intentionally installed as one package root so thin `stz-*` skills can reference shared workflow content under `shared/slack-to-zoom/`.\n\n## Main entrypoints\n\n- Shared workflow: `shared/slack-to-zoom/core/executor.md`\n- Shared implementation guide: `shared/slack-to-zoom/core/instructions.md`\n- Claude entrypoint: `claude/skills/slack-to-zoom/SKILL.md`\n- Claude command: `claude/skills/slack-to-zoom/commands/stz-migrate.md`\n- Codex entrypoint: `skills/stz-migrate/SKILL.md`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzoom%2Fslack-to-zoom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzoom%2Fslack-to-zoom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzoom%2Fslack-to-zoom/lists"}