Skip to main content
Skip to main content

Install PodSaid with Claude Code

If your dev workflow includes Claude Code (or any Claude Agent SDK app), skip the hand-written install and let the agent do it. PodSaid ships an install skill that auto-detects your framework, edits the right file, wires TypeScript types, and verifies the widget renders.

One-line install

macOS / Linux / WSL

curl -sfL https://console.podsaid.com/install-skill.sh | bash

Windows PowerShell

iwr -useb https://console.podsaid.com/install-skill.ps1 | iex

Both scripts drop the skill into ~/.claude/skills/podsaid-embed (or $env:USERPROFILE\.claude\skills\podsaid-embed on Windows). No git dependency, no npm dependency — just curl + tar (both native on macOS, Linux, and Windows 10+).

Prefer to inspect before running? Download first, read, then execute:

curl -sfL https://console.podsaid.com/install-skill.sh > install-skill.sh
less install-skill.sh
bash install-skill.sh

What the skill does

Once installed, invoke with /podsaid-embed or by asking Claude Code in plain English (“add PodSaid to my site”). The agent:

  1. Detects your framework. Reads package.json, config files, and directory layout to identify Next.js / SvelteKit / Vue 3 / Angular / React 19 / React ≤ 18 / WordPress / Astro / Hugo / Jekyll / Nuxt / React Native / plain HTML.
  2. Confirms the placement intent. Asks whether to inject site-wide (shared layout), section (specific page/route), or inline (specific component).
  3. Edits the right file. For each framework, the skill knows the correct injection point — app/layout.tsx for Next.js App Router, src/routes/+layout.svelte for SvelteKit, functions.php or a block for WordPress, and so on.
  4. Wires framework-specific config. For Vue: adds compilerOptions.isCustomElement. For Angular: adds CUSTOM_ELEMENTS_SCHEMA. For React 18: uses the string-tag workaround. For React 19: relies on native Web Component support.
  5. Wires TypeScript types (if the project uses TS) so <ask-pod-widget> has attribute autocomplete and typed refs.
  6. Registers your local dev origin — walks you through the Console → Allowed Origins step so you don’t hit a CORS 403 on http://localhost:PORT.
  7. Verifies the widget renders — runs your dev server, opens the page, checks the DOM for <ask-pod-widget> with a #shadow-root (open) child.

Prefer to install by hand?

Every framework the skill supports has a hand-written install recipe under Embed. The skill just executes those recipes automatically — you can always read them and do the edits yourself if you prefer.

What it doesn’t do

  • Doesn’t set up your account or feed. You still create your feed and get your pk_live_ key via Console → Settings first.
  • Doesn’t touch production. The skill edits your local checkout and runs your local dev server. Deploying to prod is on you — same git-commit + push flow you’d use for any other change.
  • Doesn’t send your code anywhere. The skill is a set of markdown instructions that guide the local Claude Code agent. Your code stays in your project; only your prompts + selected file contents go through your Claude Code’s normal Claude API calls.

Updating

Re-run the same install command — it overwrites the existing skill with the current version.

Uninstalling

rm -rf ~/.claude/skills/podsaid-embed

On Windows:

Remove-Item -Recurse -Force "$env:USERPROFILE.claudeskillspodsaid-embed"

Troubleshooting

  • “Command not found: curl” / “tar” — macOS and every mainstream Linux distribution include these by default. On Windows 10+, tar is native. If your system lacks them, install via your package manager (brew install curl, apt install curl tar, etc.).
  • “podsaid-embed directory not found in archive” — the GitLab archive endpoint changed shape. Report this in the PodSaid ui repo issues.
  • Claude Code doesn’t see the skill after install — you must restart Claude Code; skills are loaded at startup.
  • /podsaid-embed command not showing — check the skill installed to the right directory (~/.claude/skills/podsaid-embed/SKILL.md must exist). If you use a custom CLAUDE_SKILL_DIR, pass it as the first argument to the installer.

Under the hood

The install script downloads a subset of the ui monorepo via GitLab’s archive endpoint (?path=packages/widget/skills/podsaid-embed), extracts it into a temp directory, then copies the podsaid-embed folder into your Claude Code skills directory. Nothing is compiled, nothing is executed except the copy — you can read the script before running (see the “prefer to inspect” note above).