Repository navigation
docs: Slack Q&A bot blog post + custom model catalog changelog - #2746
Conversation
Engineering walkthrough of the new open-source Slack Q&A bot template (Chat SDK + AI SDK + LLM Gateway + Hono), with an on-brand hero image. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add the Custom Model Catalog changelog entry and its gpt-image-2 OpenGraph image (1536x1024). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Images automagically compressed by Calibre's image-actions ✨ Compression reduced images by 75.5%, saving 2.5 MB.
|
|
Images automagically compressed by Calibre's image-actions ✨ Compression reduced images by 13.4%, saving 53.6 KB.
1 image did not require optimisation. |
|
Images automagically compressed by Calibre's image-actions ✨ Compression reduced images by 8.5%, saving 29.5 KB.
1 image did not require optimisation. |
|
Images automagically compressed by Calibre's image-actions ✨ Compression reduced images by 6.2%, saving 19.9 KB.
1 image did not require optimisation. |
|
Images automagically compressed by Calibre's image-actions ✨ Compression reduced images by 7.3%, saving 21.8 KB.
1 image did not require optimisation. |
|
Images automagically compressed by Calibre's image-actions ✨ Compression reduced images by 6.4%, saving 17.8 KB.
1 image did not require optimisation. |
WalkthroughThree new documentation additions expand content and tooling: a blog post (249 lines) describing a Slack Q&A bot template using Chat SDK, AI SDK, LLM Gateway, Hono, and Redis; a changelog entry (54 lines) documenting the Custom Model Catalog Enterprise feature; and an agent skill (113 lines) for automated changelog generation with Claude Code integration and documentation. ChangesSlack Q&A Bot Blog Post
Custom Model Catalog Changelog Entry
Agent Skill for Changelog Writer
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (2)
apps/ui/src/content/blog/2026-06-18-slack-qa-bot-with-llm-gateway.md (2)
186-186: ⚡ Quick winCapitalize "Markdown" as a proper noun.
Line 186 references "markdown" in a technical context; the correct spelling is "Markdown" (with capital M) when referring to the markup language.
🔧 Proposed fix
-> When you rely on web results, cite your sources inline as markdown links, e.g. `[Anthropic](https://anthropic.com)`. +> When you rely on web results, cite your sources inline as Markdown links, e.g. `[Anthropic](https://anthropic.com)`.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@apps/ui/src/content/blog/2026-06-18-slack-qa-bot-with-llm-gateway.md` at line 186, In the blog post file, locate the text on line 186 that contains "markdown links" and capitalize the "m" to "Markdown links". The word "Markdown" should always be capitalized when referring to the markup language by its proper name, even when used as a compound noun like "Markdown links".Source: Linters/SAST tools
29-29: ⚡ Quick winAdd language identifier to code block.
The file-tree code block should specify a language to ensure proper syntax highlighting and rendering in markdown parsers.
🔧 Proposed fix
The whole bot is about 200 lines of TypeScript across four files: -``` +```text src/🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@apps/ui/src/content/blog/2026-06-18-slack-qa-bot-with-llm-gateway.md` at line 29, The code block in the markdown file starting with the file-tree content (src/) is missing a language identifier after the opening triple backticks. Add the language identifier `text` to the opening code fence markers (change ``` to ```text) on the line before the src/ content to ensure proper syntax highlighting and markdown rendering.Source: Linters/SAST tools
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@apps/ui/src/content/changelog/2026-06-18-custom-model-catalog.md`:
- Line 54: The link anchor `#custom-model-catalog` in the Custom providers
documentation link does not exist on the target page at
docs.llmgateway.io/features/custom-providers. Either remove the
`#custom-model-catalog` anchor entirely from the URL so it points to the base
custom-providers page, or replace it with a valid anchor that exists on that
documentation page such as `#supported-features` or another appropriate section
heading.
---
Nitpick comments:
In `@apps/ui/src/content/blog/2026-06-18-slack-qa-bot-with-llm-gateway.md`:
- Line 186: In the blog post file, locate the text on line 186 that contains
"markdown links" and capitalize the "m" to "Markdown links". The word "Markdown"
should always be capitalized when referring to the markup language by its proper
name, even when used as a compound noun like "Markdown links".
- Line 29: The code block in the markdown file starting with the file-tree
content (src/) is missing a language identifier after the opening triple
backticks. Add the language identifier `text` to the opening code fence markers
(change ``` to ```text) on the line before the src/ content to ensure proper
syntax highlighting and markdown rendering.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: db5b62e6-89c1-4a89-8d48-316a53af1826
⛔ Files ignored due to path filters (2)
apps/ui/public/blog/slack-qa-bot-with-llm-gateway.pngis excluded by!**/*.pngapps/ui/public/changelog/custom-model-catalog.pngis excluded by!**/*.png
📒 Files selected for processing (2)
apps/ui/src/content/blog/2026-06-18-slack-qa-bot-with-llm-gateway.mdapps/ui/src/content/changelog/2026-06-18-custom-model-catalog.md
Add the changelog agent skill (.agents/skills/changelog + .claude symlink) and the related agent-skills guide update. Lockfile drift intentionally excluded — it does not match theopenco/main and would break the install. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
🧹 Nitpick comments (2)
.agents/skills/changelog/SKILL.md (2)
91-91: ⚡ Quick winAdd language identifier to outer fenced code block for markdown linting compliance.
The 4-backtick fence at line 91 demonstrates markdown output; markdownlint prefers a language tag. Change the opening fence from ``````` to `````markdown
(or ````text) to match the format being demonstrated and suppress the linter warning.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.agents/skills/changelog/SKILL.md at line 91, The fenced code block using 4 backticks at line 91 is missing a language identifier, which causes markdownlint to raise a warning. Add a language identifier to the opening fence by appending either "markdown" or "text" after the opening backticks (e.g., ````markdown or ````text) to clearly indicate the code block language and comply with markdown linting standards.
69-69: 💤 Low valueMinor style note: Consider varying sentence openers in the list.
Line 69 has three successive sentences starting with "No"; a parallel structure like this is clear but reads repetitively. Consider rewording one or two items as guidance (e.g., "Avoid exclamation points; skip 'very/really/simply'; no buzzwords") if you'd like to reduce the repetition.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.agents/skills/changelog/SKILL.md at line 69, The bullet point starting with "Confident and plain" contains three successive sentences that begin with "No", creating repetitive sentence structure. Vary the sentence openers by rewording one or two of these items to use alternative phrasings (such as "Avoid" or "Skip" instead of "No") while preserving the same guidance content. For example, rephrase items like "No exclamation points" and "No very/really/simply" into varied constructions such as "Avoid exclamation points" or "Skip buzzwords like streamline and seamless" to improve readability and reduce the repetitive pattern.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In @.agents/skills/changelog/SKILL.md:
- Line 91: The fenced code block using 4 backticks at line 91 is missing a
language identifier, which causes markdownlint to raise a warning. Add a
language identifier to the opening fence by appending either "markdown" or
"text" after the opening backticks (e.g., ````markdown or ````text) to clearly
indicate the code block language and comply with markdown linting standards.
- Line 69: The bullet point starting with "Confident and plain" contains three
successive sentences that begin with "No", creating repetitive sentence
structure. Vary the sentence openers by rewording one or two of these items to
use alternative phrasings (such as "Avoid" or "Skip" instead of "No") while
preserving the same guidance content. For example, rephrase items like "No
exclamation points" and "No very/really/simply" into varied constructions such
as "Avoid exclamation points" or "Skip buzzwords like streamline and seamless"
to improve readability and reduce the repetitive pattern.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 41b275d6-e298-42c5-999c-90de61280023
📒 Files selected for processing (3)
.agents/skills/changelog/SKILL.md.claude/skills/changelogapps/docs/content/guides/agent-skills.mdx
✅ Files skipped from review due to trivial changes (2)
- .claude/skills/changelog
- apps/docs/content/guides/agent-skills.mdx
What
Content + tooling additions for the LLM Gateway site:
Blog — "Building a Slack Q&A Bot with LLM Gateway and Chat SDK"
An engineering walkthrough of the new open-source
slack-qa-bottemplate (Chat SDK + AI SDK + LLM Gateway + Hono + Redis): the single-route webhook, the four event handlers,fullStreamvstextStream, server-side web search and the empty-sourcescaveat, Redis subscriptions + locking, and gateway-driven model swapping. Every code sample is grounded in the actual template.apps/ui/src/content/blog/2026-06-18-slack-qa-bot-with-llm-gateway.mdapps/ui/public/blog/slack-qa-bot-with-llm-gateway.png(on-brand hero, no text)Changelog — "Custom Model Catalog for Custom Providers"
The changelog entry (
id: 59, next after 58) plus its previously-missing OpenGraph image, generated with gpt-image-2 per the house changelog skill (clean abstract, no text, 1536×1024).apps/ui/src/content/changelog/2026-06-18-custom-model-catalog.mdapps/ui/public/changelog/custom-model-catalog.pngTooling — changelog agent skill
The
changelogagent skill and its guide update..agents/skills/changelog/SKILL.md(+.claude/skills/changelogsymlink)apps/docs/content/guides/agent-skills.mdxNotes
apps/ui/content-collections.ts; markdown run through the repo's prettier.pnpm-lock.yamlchange existed locally but was intentionally excluded — it was diffed against a stale base, adds no dependencies for these changes, and would break the frozen-lockfile install onmain.turbo run build --filter=uilocally; schema checked manually. (PNGs were auto-optimized by the repo's image-actions bot.)🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes
Documentation
New Features