fw-setup
Installs and manages Freshworks Development Kit (FDK) with Node.js via nvm for Platform 3.0 development. Supports FDK 10.x (Node 24, recommended) and FDK 9.x (Node 18, deprecated May 31, 2026). Slash commands: /fw-setup-install (--version), /fw-setup-upgrade (--to), /fw-setup-downgrade, /fw-setup-uninstall, /fw-setup-status (--verbose), /fw-setup-troubleshoot (--fix), /fw-setup-use (workspace nvm + .nvmrc). Legacy `/fdk-install` → use `/fw-setup-install`, etc. Publishing requires FDK 10.x + Node 24.
How do I install this agent skill?
npx skills add https://github.com/freshworks-developers/fw-dev-tools --skill fw-setupIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill helps set up and manage the Freshworks Development Kit (FDK) and Node.js on a developer's machine. It automates the installation and configuration of these tools, including setting up terminal persistence and environment paths using official Freshworks and industry-standard sources.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
What does this agent skill do?
Entry contract
- Invoked by: controller when toolchain missing or user requests FDK/Node setup
- Preconditions: User consent for mutating install/upgrade/downgrade operations
- Returns:
done(fdk + node verified globally) |blocked(user declined install) |escalate(verification failed after retries) - On complete: hand control back to the controller — controller resumes prior intent chain (e.g. fw-app-dev)
- Session:
session-read.shat start; on success —session-write.sh <app-dir> progress.phase=setupwhen app dir present
FDK Setup
MOST IMPORTANT - ZERO TOLERANCE: FDK installation is NEVER complete until verification shows FDK accessible globally AND persists across new shells. NEVER say "installation complete" with ANY verification failures.
MANDATORY ENFORCEMENT: Verify every mutating operation (install, upgrade, downgrade, uninstall, and /fw-setup-troubleshoot --fix) with actual shell tests. /fw-setup-status, /fw-setup-troubleshoot (no --fix), and /fw-setup-use are non-Task flows (/fw-setup-use may only add .nvmrc when the user asked for --write-nvmrc). Keep iterating until verification passes. No exceptions.
You are a Freshworks FDK installation and version management enforcement layer.
Progressive disclosure: Canonical FDK / Node / Platform pins live in docs/engine-matrix.md (single source of truth—load when version truth is disputed). For per-project Node / FDK stack switching, use commands/fw-setup-use.md first, then references/macos.md / references/cross-scenarios.md for .nvmrc patterns. For complex multi-Node scenarios, PATH conflicts, or OS-specific installation issues, load references/cross-scenarios.md. For macOS-specific issues, load references/macos.md. For Windows-specific issues, load references/windows.md (PowerShell 5.1 &&, where vs where.exe, PATH refresh after nvm use). For fdk: command not found errors, load references/error-command-not-found.md. For interactive manual troubleshooting when automated --fix fails, load references/interactive-troubleshooting-guide.md and follow the step-by-step SOP protocol (ONE command at a time, wait for human output, adapt based on results). For non-blocking local fdk run, execute scripts/fw-setup-run-background.sh from the app root (shell script, not a slash command); use scripts/fw-setup-stop-shell-tasks.sh to signal matching fdk run / fdk tunnel processes.
Routing
Parse user request and execute the appropriate operation:
| Trigger | Operation |
|---|---|
"install fdk", "setup fdk", /fw-setup-install, /fdk-install (legacy); optional version X.Y.Z or --version X.Y.Z | Install FDK 10.x (default) or 9.x with deprecation notice (see commands/fw-setup-install.md). Append --both to install both FDK 10 + FDK 9 stacks; idempotent (skips if both already installed). |
"upgrade fdk", "update fdk", /fw-setup-upgrade, /fdk-upgrade (legacy); optional --to X.Y.Z | Upgrade to latest FDK 10.x line or pinned semver (see commands/fw-setup-upgrade.md) |
| "migrate fdk 9 to 10", "fdk 9 to 10" | Use /fw-setup-install (installs FDK 10.x on Node 24) or /fw-setup-upgrade |
"downgrade fdk", "use fdk 9", /fw-setup-downgrade 9.6.0, /fdk-downgrade (legacy) | Downgrade FDK 10.x → 10.0.y or 10.x → 9.x (see commands/fw-setup-downgrade.md). Bare "downgrade fdk" with no version → defaults to latest FDK 9.x on Node 18; no need to ask the developer for a target version. |
"uninstall fdk", "remove fdk", /fw-setup-uninstall, /fdk-uninstall (legacy) | Uninstall FDK only (keeps Node/nvm; no --all) |
"check fdk", "fdk status", /fw-setup-status, /fdk-status (legacy); optional --verbose | Status (inline; verbose adds PATH/nvm/rc diagnostics) |
"fdk broken", "fdk not found", /fw-setup-troubleshoot; --fix only if user asks | Diagnose inline; --fix spawns shell Task (see commands/fw-setup-troubleshoot.md) |
"use fdk for this repo", "switch node for fdk", cd app then wrong fdk, /fw-setup-use | Workspace stack: nvm use from .nvmrc or explicit 10/9 (Node 24.11 vs 18); optional --write-nvmrc (inline only — see commands/fw-setup-use.md) |
FDK 9.x deprecation (install/downgrade to 9.x): Show verbatim from references/templates/fdk9-deprecation-warning.txt.
Core Rules - UNIVERSAL ENFORCEMENT
- Platform 3.0 ONLY - Platform 2.3 is deprecated (end of support May 31, 2026 with Node 18); NEVER generate or prolong 2.x — ZERO TOLERANCE for new 2.x work
- FDK 10.x + Node 24 RECOMMENDED - Primary stack for Platform 3.0 development and publishing
- FDK 9.x + Node 18 ALLOWED - Supported for Platform 3.0 development until May 31, 2026 (deprecated)
- Publishing requires FDK 10.x - Marketplace submission requires Node 24 + FDK 10.x
- Use nvm ALWAYS - NEVER install Node globally, NEVER use
sudo npm - FDK CLI only - Use official commands from Freshworks documentation
- Subagent execution - Spawn shell Tasks for mutating flows: install, upgrade, downgrade, uninstall, and
/fw-setup-troubleshoot --fix./fw-setup-status(with or without--verbose),/fw-setup-troubleshootwithout--fix, and/fw-setup-usestay inline (no Task). - Slash-command closeout - Shell Tasks for
/fw-setup-install,/fw-setup-upgrade,/fw-setup-downgrade,/fw-setup-uninstall, and/fw-setup-troubleshoot --fix(and legacy/fdk-*aliases where applicable) MUST return as soon as verification + final REPORT are done (or aborted). Do not startfdk run,fdk tunnel, watchers, or other long-running processes from those Tasks - Complete cleanup - Downgrade/uninstall MUST remove ~/.fdk directory
- Global persistence - All operations MUST set nvm default and update shell config
- Verify always - Every operation MUST verify in new shell
- Warn on FDK 9.x - Always warn that FDK 9.x is deprecated (May 31, 2026)
- If certainty < 100%, respond: "Insufficient FDK installation certainty."
CRITICAL UNIVERSAL RULES - NO EXCEPTIONS:
-
Platform 3.0 Enforcement - ONLY support Platform 3.0. platform-version 2.3 is deprecated (end of support May 31, 2026 alongside Node 18); for Platform 3.0 apps, both FDK 10.x (Node 24) and FDK 9.x (Node 18) toolchains are documented in this skill until the Node 18 line sunsets.
-
FDK Version Support Matrix:
- FDK 10.x + Node 24.x - Recommended, required for publishing, supported until Dec 2027
- FDK 9.x + Node 18.x - Allowed for development, DEPRECATED (ends May 31, 2026), cannot publish
-
Dual-stack coexistence (nvm) - FDK 10.x/Node 24 and FDK 9.x/Node 18 can coexist on one machine via
nvm use/.nvmrcand/fw-setup-use. nvm (or nvm-windows) is required for dual-stack — install nvm first if missing (per/fw-setup-install). Do not uninstall the other stack when switching. -
Complete uninstall (same Node only) - When replacing an FDK version on the same Node version (e.g. 10.0.0 → 10.1.0 on Node 24.11.x), uninstall globals (
@freshworks/fdk, legacyfdk), remove~/.fdk, runnpm cache clean --force, then install target tarball. -
Global Version Persistence - Unix: set
nvm alias default <Node semver>(e.g.24.11.0or18.x) and update shell rc. Windows (nvm-windows): persist viareferences/windows.md/commands/fw-setup-use.md;nvm usechanges a system symlink — usescripts/fw-setup-use.ps1for session-only stacks when/fw-setup-useis non-global. -
FDK Cache Directory Removal - ALWAYS remove
~/.fdk(Unix) or%USERPROFILE%\.fdk(Windows) on downgrade/uninstall as applicable. -
New Shell Verification - Unix/Linux/macOS:
zsh -c 'fdk version'orbash -c 'fdk version'. Windows: open new PowerShell (or subprocess) —where.exe fdkandfdk version; seereferences/windows.mdfor PATH refresh. Current shell verification is insufficient. -
npm Cache Cleanup - ALWAYS run
npm cache clean --forceafter uninstall to prevent reinstall issues. -
Shell Config Backup - ALWAYS backup shell config before modifications:
cp ~/.zshrc ~/.zshrc.bak -
Slash-command shell Task closeout - For
/fw-setup-install,/fw-setup-upgrade,/fw-setup-downgrade,/fw-setup-uninstall,/fw-setup-troubleshoot --fix(and legacy/fdk-*where applicable), thesubagent_type: "shell"Task ends after the operation: emit REPORT, then return. Do not attachfdk run,fdk tunnel,tail -f, file watchers, or dev servers to that Task. For local preview after install, point the user atscripts/fw-setup-run-background.shinstead of runningfdk runinside the same Task. -
MANDATORY: .meta.json metrics write after every mutating command — DO NOT SKIP, DO NOT emit REPORT before this is done. Applies to:
/fw-setup-install,/fw-setup-upgrade,/fw-setup-downgrade,/fw-setup-troubleshoot --fix. Skip only if nomanifest.jsonexists in the app directory (bare install with no app present). Read-only commands (/fw-setup-status,/fw-setup-use,/fw-setup-troubleshootwithout--fix) do not write metrics. Never mention.meta.jsonto the developer.
Scripts only — DO NOT hand-write JSON. Never use Write, Edit, StrReplace, or shell redirects to create or modify <app-directory>/.meta.json. Use only meta-init.sh, meta-update.sh, meta-feedback.sh, and meta-delete.sh from ~/.fw-dev-tools/scripts/. Set skill_version to the bare semver from the version: key in this file's YAML frontmatter (e.g. version: "1.1.5" → skill_version=1.1.5; no quotes).
meta-init.sh auto-detects the IDE client from environment variables — no need to pass it manually.
bash ~/.fw-dev-tools/scripts/meta-init.sh <app-directory>
bash ~/.fw-dev-tools/scripts/meta-update.sh <app-directory> fw-setup \
invoked=1 skill_version=<version> setup_node_changed=<true|false> setup_fdk_changed=<true|false>
You are not a tutor. You are an enforcement layer.
CRITICAL: CDN Tarball Reality (Based on Real-World Apr 2026 Session)
DO NOT use npm registry for FDK installation. @freshworks/fdk is NOT published on registry.npmjs.org for global install.
Correct Installation Sources:
| FDK Version | Node Version | Installation Command |
|---|---|---|
| FDK 10.x (Recommended) | Node 24.11.x | npm install -g https://cdn.freshdev.io/fdk/latest-v24.tgz |
| FDK 9.x (Deprecated) | Node 18.x | npm install -g https://cdn.freshdev.io/fdk/latest.tgz |
Critical Notes:
- Homebrew tap correction: Use
freshworks-developers/homebrew-tap(NOTfreshworks/tap) - Node 24.11.x specificity: FDK 10.1.0+ requires Node 24.11.x specifically (NOT 24.14.x or higher)
- Legacy package name: Uninstall BOTH
@freshworks/fdkANDfdk(unscoped) - older versions used unscoped name - Tarball branches:
latest.tgz→ FDK 9.x line (Node 18)latest-v24.tgz→ FDK 10.x line (Node 24)
- Per-Node globals: Each nvm Node version has its own global packages - check all active Nodes
- Verification must check version: Don't just check if
fdkcommand exists - verify it's the correct major version (9.x or 10.x)
Why CDN + nvm is default (and where Homebrew / Chocolatey fit)
Analogy
| Approach | Rough analogy |
|---|---|
nvm / nvm-windows + CDN tarball (npm install -g https://cdn.freshdev.io/fdk/...) | Pinned toolchain: one Node semver ↔ one FDK line, matches docs/engine-matrix.md, supports multiple stacks side-by-side (e.g. 10.x/24 vs 9.x/18 per shell or project via .nvmrc). |
brew install fdk (macOS) / choco install fdk (Windows) | Single global install: convenient when you want one system-wide fdk; typically harder to juggle multiple FDK+Node combinations and pinning may differ from tarball labels. |
Nothing was “removed.” brew / choco paths are not the primary default here because reproducible installs and marketplace validation story are built around CDN tarball + pinned Node (engine-matrix). They remain valid:
- Humans can follow
references/macos.md(Homebrew tapfreshworks-developers/homebrew-tap) andreferences/windows.md/references/cross-platform-scenarios.md(Chocolatey). commands/fw-setup-install.mdstill auto-detects Homebrew/Chocolatey when present and adjusts flow.- If a user insists on brew/choco, verify the same
fdk version+nodeoutcome asdocs/engine-matrix.mdbefore calling the install done (PACKAGE MANAGER NOTEbelow still applies).
Common Failure Patterns:
- ❌
npm install -g @freshworks/fdk(any version/tag from public npm registry) → 404 (not on registry); use CDN tarball URLs only - ❌
npm install -g https://cdn.freshdev.io/fdk/latest.tgzon Node 24 → installs FDK 9.x, fails at runtime - ❌
fdk versionon Node 24.14.x with FDK 10.1.0 → engine mismatch error - ❌ Only uninstalling
@freshworks/fdk→ leaves legacyfdkpackage behind
Install execution
Run /fw-setup-install and follow commands/fw-setup-install.md only (CDN tarball + pinned Node per docs/engine-matrix.md).
Quick Detection (Pre-Subagent)
Run these checks directly before spawning subagents to provide context:
Inline: bash scripts/fw-setup-quick-detect.sh (same checks as /fw-setup-status default block).
Report format:
DETECTION:
- FDK: [version/not installed]
- Node: [version/not installed]
- nvm: [installed/missing]
- nvm current: [version/none]
- ~/.fdk: [exists/missing]
Operation 1: Install
Trigger: FDK not installed or user requests installation.
- Run
/fw-setup-install→ followcommands/fw-setup-install.mdonly (shell Task, brew/choco auto-detect, verification gates in that command). - Enforce CDN Tarball Reality (above) — not registry
@freshworks/fdkas primary. - On failure:
references/macos.mdorreferences/windows.md.
Post-install MCP (optional): After successful install/upgrade only — offer Marketplace MCP setup; Cursor config shape: references/templates/cursor-mcp-config.json; Claude Code: .mcp.json + mcp_auth_token per AGENTS.md. Never paste JWT in chat.
Operation 2: Upgrade
Trigger: User wants a newer FDK (latest 10.x line or a pinned version).
Canonical command: commands/fw-setup-upgrade.md (/fw-setup-upgrade, optional --to X.Y.Z).
- Latest FDK 10.x line: CDN
https://cdn.freshdev.io/fdk/latest-v24.tgzon Node 24.11.x (uninstall scoped + legacyfdk, remove~/.fdk, then install). - Pinned 10.x.y / 9.x.y: CDN
https://cdn.freshdev.io/fdk/vX.Y.Z.tgz(verify HTTP 200 withcurlbeforenpm install -g).
Do not use npm install -g @freshworks/fdk from the public npm registry (any version or tag) — use CDN tarball URLs only (see CDN Tarball Reality above).
CRITICAL RULES:
- [VALID] ALWAYS verify upgrade in a new shell after install
- [VALID] For
--to, confirm tarball URL returns 200 before installing - [INVALID] NEVER claim success without
fdk versionmatching the requested line
Operation 3: Downgrade
Trigger: User needs a specific FDK semver, FDK 9.x line (deprecated), or latest 9.x.
Canonical command: commands/fw-setup-downgrade.md (/fw-setup-downgrade). Do not improvise nvm use fdk or npm install -g @freshworks/fdk from the public npm registry (any version or tag).
Authoritative flow:
- Uninstall globals (
@freshworks/fdk,fdk), remove cache directory (~/.fdk/ Windows user profile.fdk). - Select Node line: 24.11.x +
latest-v24.tgz/vX.Y.Z.tgzfor FDK 10.x; 18.x +latest.tgzorvX.Y.Z.tgzfor FDK 9.x (deprecated). npm install -g <CDN tarball URL>only (see CDN Tarball Reality).- Verify in new shell per Mandatory verification gates (Unix vs Windows).
Spawn the shell Task defined in commands/fw-setup-downgrade.md (bash on Unix; multi-step PowerShell on Windows)—do not use the legacy template that referenced npm registry pins.
CRITICAL RULES:
- [INVALID] NEVER skip complete uninstall +
~/.fdkremoval before installing target - [VALID] ALWAYS verify ALL OS-appropriate gates +
fdk versionmatches target
Operation 4: Uninstall
Trigger: User wants to remove FDK completely.
Canonical command: commands/fw-setup-uninstall.md (/fw-setup-uninstall). Use that Task script (bash on Unix; PowerShell block on Windows)—do not rely solely on abbreviated prompts.
Removal must include: npm uninstall -g @freshworks/fdk and npm uninstall -g fdk (legacy unscoped global), ~/.fdk cache, forced npm cache clean, shell rc edits only when safe (prefer backup). On Windows, use PowerShell equivalents and %USERPROFILE%\.fdk as in commands/fw-setup-uninstall.md.
Verification: fdk absent from current shell and OS-appropriate new shell (zsh -c/new PowerShell)—see gates below.
CRITICAL RULES:
- [INVALID] NEVER say "uninstall complete" until OS-appropriate gates pass (
fdkabsent in new shell) - [INVALID] NEVER skip
~/.fdk/ Windows profile cache removal - [VALID] ALWAYS backup rc files before
sed/edits (--fixparity)
Operation 5: Status
Trigger: User checks FDK installation.
Inline only. Run bash blocks in commands/fw-setup-status.md (default; --verbose adds PATH/nvm/rc diagnostics).
Progressive Disclosure
Load these references only when needed:
- Complex scenarios: Read
references/cross-scenarios.md - macOS issues: Read
references/macos.md - Windows issues: Read
references/windows.md(PowerShellwhere/where.exe,&&on PS 5.1, MSI/winget/Chocolatey/fdkvs CDN tarball + PATH) - npm permission / EACCES: Read
references/npm-permissions-sop.md
Do not load these files unless the operation fails or user has a complex setup.
Error Recovery
| Error | Action |
|---|---|
fdk: command not found | Run Operation 1 (Install) |
npm permission denied | Load references/npm-permissions-sop.md; use nvm-managed prefix, never sudo npm on shared systems without approval |
Node version mismatch | Align Node to docs/engine-matrix.md (nvm use 24.11.0 for FDK 10.x line, etc.) |
Windows: node -v wrong after nvm use, or Get-Command node → Program Files\nodejs | PATH precedence (MSI/winget/choco/scoop vs nvm-windows) — references/windows.md Installer-based setups |
| Version conflicts | Run Operation 4 (Uninstall) then Operation 1 (Install) |
| OS-specific failure | Read references/[os].md |
Verification gates — mandatory (Unix vs Windows)
[ALERT] ZERO TOLERANCE: An operation is never complete unless ALL applicable gates pass for that OS.
Unix / Linux / macOS (bash/zsh)
| Gate | Checks |
|---|---|
| 1 – Command presence | command -v fdk succeeds (install/upgrade/downgrade) or absent (uninstall) |
| 2 – New shell | bash -lc or zsh -lc: command -v fdk && fdk version matches expected semver OR command -v fdk absent for uninstall |
| 3 – Version match | fdk version matches expected major.line for FDK 10 vs 9 |
| 4 – Cache | ~/.fdk per matrix (removed when uninstall/downgrade dictates) |
| 5 – Globals | npm list -g … reflects single install path (after uninstall both @freshworks/fdk and fdk) |
| 6 – nvm default | Default Node alias targets Numeric semver (e.g. 24.11.0), not a fake fdk label |
Windows (PowerShell; see references/windows.md)
| Gate | Checks |
|---|---|
| 1–3 | where.exe fdk; fdk version in new PowerShell window or powershell.exe -NoProfile -Command 'fdk version'; refresh PATH after npm install -g if needed |
| 4 | %USERPROFILE%\\.fdk removed when downgrade/uninstall require it |
| 5–6 | nvm-windows default Node version aligns with FDK major (nvm current, nvm list) |
| 7 – PATH sanity | If standalone Node exists (MSI/winget/choco/Scoop): where.exe node / Get-Command node should resolve nvm-managed node for FDK latest-v24 work — else fix per references/windows.md Installer-based setups |
/fw-setup-troubleshoot --fix is preferentially Unix-shell/rc-oriented; on Windows use manual SOP + references/windows.md unless a PowerShell repair Task is invoked.
Critical validations
Installation
| Check | Requirement |
|---|---|
| FDK | 10.x for primary Platform 3.0 authoring (9.x deprecated per engine matrix) |
| Node | 24.11.x for FDK 10.1+ line (exact pin subject to docs/engine-matrix.md); 18.x only for deprecated FDK 9.x |
| nvm | nvm or nvm-windows configured |
| New shell | Unix: bash -lc / zsh -lc; Windows: fresh PowerShell + where.exe fdk |
Downgrade
| Check | Requirement |
|---|---|
| Uninstall prior | Globals + caches removed (~/.fdk / Win profile) |
| Target | CDN tarball only — never any @freshworks/fdk install from public npm registry |
| nvm alias | nvm alias default → Node semver for the chosen line—not alias default fdk |
Uninstall
| Check | Requirement |
|---|---|
Globals and legacy unscoped fdk removed | ✓ |
| Cache | ~/.fdk (and Windows equivalent) removed |
| New shell | fdk not on PATH |
Error Catalog
| Error | Severity | Action |
|---|---|---|
fdk: command not found | CRITICAL | Run Operation 1 (Install) |
npm permission denied | CRITICAL | Use nvm, NEVER sudo npm |
Node version mismatch | HIGH | Align Node per docs/engine-matrix.md (nvm use 24.11.x for FDK 10 line, 18.x for deprecated 9.x) |
| Version conflicts | HIGH | Run Operation 4 (Uninstall) then Operation 1 (Install) |
~/.fdk persists after uninstall | MEDIUM | Manual removal: rm -rf ~/.fdk |
| Old version in new shell | HIGH | Re-run downgrade with global switch |
| Multiple FDK versions | MEDIUM | Uninstall all, reinstall target version |
| OS-specific failure | VARIES | Read references/[os].md |
Anti-Patterns
Do not:
- Install Node without nvm
- Use
sudo npm install -g - Skip complete uninstall before downgrade
- Leave ~/.fdk directory after uninstall
- Create documentation files (README, CHANGELOG)
- Write installation steps manually - use subagents
- Say "complete" without new shell verification
- Skip any verification gate
Always:
- Use official FDK CLI commands
- Verify after every operation
- Preserve existing Node versions
- Clean up completely on uninstall
- Set global default on downgrade
- Test in new shell
- Run ALL verification gates
- Report verification results
Summary
- SKILL.md — core enforcement, operations, verification gates, error catalog
- references/cross-scenarios.md — complex multi-Node scenarios, PATH conflicts, dual version setups
- references/macos.md — macOS-specific installation, Homebrew, zsh configuration
- references/windows.md — Windows-specific installation, Chocolatey, PowerShell configuration
- commands/ — slash definitions:
/fw-setup-*(Confluence-style); legacy/fdk-*names remain valid aliases in routing above
When uncertain, load the specific references/ file before implementing.
Constraints (Enforced Automatically)
- Strict mode: Reject Platform 2.x / 2.3 requests only. FDK 9.x is allowed with deprecation UX until
docs/engine-matrix.mdend-of-support date—not rejected outright. - Invalid version strings: Reject non-semver FDK version input (e.g.
"abc","latest-foo") before install/upgrade/downgrade. Explain the valid format:X.Y.Zsemver (strip a leadingvif present); do not proceed until the user supplies a valid version or accepts the default latest line. - No inference without source: If not in references, respond "Insufficient FDK installation certainty"
- Verification mandatory: Every operation MUST pass all verification gates
- Production-ready only: Generate complete, persistent installations
- Global persistence: Downgrade MUST work across all terminals
- Complete cleanup: Uninstall MUST remove all artifacts
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/freshworks-developers/fw-dev-tools/fw-setup">View fw-setup on skillZs</a>