4c2ba2d161
The Channels onboarding workflow is served at https://copilotkit.ai/channels-guide.md, and every other entry point now copies one line that points there (#6357 for the docs surfaces). Coding agents invoked through a skill had no such pointer, so they fell back to setup-slack-channel, which is scoped to Slack, to the provider half, and to an OpenTag checkout. channels-setup is a pointer, not a copy. The workflow stays in one place and is corrected there instead of drifting against the CLI on its own schedule. Verifying the fetch is the substance of the file. The site answers unknown paths with a "Page not found" HTML page under HTTP 200, so a status check proves nothing: an agent that keys on the status code gets a marketing 404 and improvises the workflow from memory. The skill checks the body instead -- markdown, the guide's H1, five Phase headings -- and stops if any fail. Standalone skills are not generated from packages/*/skills, so the slug is registered in RESERVED_LIFECYCLE_SLUGS. Without that entry the sync treats the directory as an orphan and deletes it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>