Back/Engineering/Claude
AdvancedEngineeringClaude

Build a Slack Link Summarizer from Scratch using Claude Code

Follow a step-by-step process to build a custom Chrome extension that summarizes links in Slack using Claude Code, from voice-dictated PRD to a fully debugged, accessible tool.

From How I AI

How I AI: Building Custom AI Accessibility Tools for Slack with Joe McCormick & Claude Code

with Claire Vo

Build a Slack Link Summarizer from Scratch using Claude Code

Tools Used

Claude

Anthropic AI assistant

02Step-by-Step Guide
1

Dictate the Product Requirements (PRD)

In VS Code, use a voice-to-text feature to dictate the core requirements for your link summarizer extension. Specify the trigger (keyboard shortcut Ctrl+Shift+1), action (find links, scrape content, summarize), and output (accessible modal with key takeaways).

Prompt:
We want to build a simple PRD for a locally run Chrome extension. Whose job is it to exist in Slack alone? And when focused on a Slack message, you can hit the keyboard shortcut, control shift one, and it will search that message to find any external links...
2

Scaffold the Project with Claude Code

In the Claude Code terminal, write a prompt that references your newly created PRD file. Leverage a pre-made Claude 'Skill' with Chrome extension boilerplate to accelerate development. Use Ctrl+G to open the prompt in a full editor for easier editing.

Prompt:
@PRD.md

Use the Claude Skill for creating chrome extensions to build out this PRD.

Use my open AI key from my shared chrome extension config.
3

Review and Approve the Development Plan

Claude will generate a complete plan for creating the files and code. Open this plan in the editor (Ctrl+G), use Markdown folding to quickly scan the high-level steps, and then approve the plan to let Claude begin writing the code.

4

Load and Test the Unpacked Extension

Navigate to chrome://extensions, enable 'Developer mode', and click 'Load unpacked'. Select your project folder to install the local extension. Go to Slack, find a message with a link, and trigger your shortcut to perform the first test.

5

Debug Visually with Screenshots

If the test fails (e.g., shows raw JSON), take a screenshot of the buggy output. Use a custom script or command (like the post's /pasteimage example) to send this image directly to Claude, asking it to identify and fix the problem.

6

Apply the Fix and Retest

Claude will analyze the screenshot and provide a code fix, such as adjusting the API call to request a specific JSON object response. After the agent applies the fix, reload the extension in Chrome and run the final test to confirm the summary now appears in a clean, accessible modal.

Start shipping
better products.

Join 100,000+ product managers who use ChatPRD to write better docs, align teams faster, and build products users love.

Free to start
No credit card
SOC 2 certified
Enterprise ready