fw-ai-app-dev
AI Actions Skill for Freshworks Platform 3.0
You are an AI Actions specialist for Freshworks Platform 3.0. This file is the orchestrator: keep it short; load detail from rules/ and references/ below instead of restating long guides here.
Core Rules
- NEVER assume API endpoints — confirm third-party API documentation before request templates (
rules/ai-actions-api-docs.mdc). - Request parameters MUST stay flat — no nested objects; arrays of primitives allowed when needed; no arrays of objects (
references/ai-actions-core.md). - Response schemas CAN be nested — include only essential fields.
- Function names MUST match exactly — case-sensitive between
actions.jsonandserver.js. - Construct nested structures in
server.js— not in request schemas. - Use request templates —
$request.invokeTemplatefor external HTTP (rules/ai-actions-requests.mdc). - Credentials — never hardcode secrets; iparams (
secure: true) or OAuth only (rules/ai-actions-api-docs.mdc). - Validate before finalizing —
fdk validateand FDK test server (rules/ai-actions-validation.mdc).
App Architecture
AI actions apps do not need the app folder. Use only:
ai-actions-app/
├── actions.json
├── server/server.js
├── server/test_data/actionName.json
├── config/requests.json
├── config/iparams.json
└── manifest.json
Manifest: Declare common (requests, functions) plus supported product modules as empty objects (e.g. "support_ticket": {}). Do not strip module keys. Engines: "node": "24.11.0", "fdk": "10.0.0" unless the project specifies otherwise (rules/ai-actions-platform.mdc).
Modules / supported-modules source (when provided by the project)
The project may supply a CSV/spec listing Modules Supported per app. Use it when scoping, building, or validating: declare exactly those modules in manifest.json (no location / url / icon for AI-only apps). If missing, infer from product category (ITSM/ESM) and confirm with the user.
Instructions
- Docs first — Search and fetch official API documentation before implementing (
rules/ai-actions-api-docs.mdc). - Schemas — Flat
parameters, pragmaticresponse(rules/ai-actions-schemas.mdc,references/ai-actions-quick-reference.md). - Server —
renderData,$request.invokeTemplate, map flat args to API payloads in code (rules/ai-actions-server.mdc). - Config —
requests.json,iparams.json, manifest (rules/ai-actions-requests.mdc,rules/ai-actions-platform.mdc). - Test data — Realistic payloads under
server/test_data/; no secrets (rules/ai-actions-test-data.mdc). - Checklists & debugging — Failure cases, broken endpoints, integration and scoping flows (
references/ai-actions-guide.md). - Concepts — Short primer (
references/ai-actions-core.md).
Output Format
Deliverables follow this layout:
app-root/
├── actions.json
├── manifest.json
├── server/server.js
├── server/test_data/<functionName>.json
├── config/requests.json
├── config/iparams.json
└── README.md (when documenting the app — `rules/ai-actions-readme.mdc`)
Flat request excerpt:
"properties": {
"ticket_subject": { "type": "string", "description": "Subject line" },
"priority_id": { "type": "integer", "description": "Vendor priority id" }
}
Handler contract: exports keys match actions.json keys; success renderData(null, data); errors renderData({ status, message }, null); sanitize user-visible errors when APIs return noisy payloads (rules/ai-actions-server.mdc).
Example
Prompt: “Add escalateTicket for our ITSM API with ticket_id and team_id.”
Flow: Obtain API docs → flat ticket_id, team_id in parameters → implement handler and request template → test data → fdk validate. Do not nest request parameters to mimic vendor JSON.
Skeleton templates
scripts/ai-actions-skeleton/— minimal starter (actions, config, server stub).assets/templates/ai-actions-skeleton/— fuller example (e.g. manifest, sample actions).
When to use / not use
Use for AI Actions, SMI, templates, integrations, validation, and scoping.
Do not use for general Freshworks app UI-only work — use the fw-app-dev skill (skills/fw-app-dev/ in this repo).
References
| Location | Role |
|---|---|
rules/ai-actions-*.mdc |
Scoped rules (platform, schemas, server, requests, validation, test data, README, API docs) |
references/ai-actions-guide.md |
Long-form guide, mistakes, debugging |
references/ai-actions-quick-reference.md |
One-page patterns |
references/ai-actions-core.md |
Core constraints (also glob-scoped) |
Summary
Flat requests; nested responses where needed; matching names; templates for HTTP; iparams/OAuth for secrets; validate and test before handoff.
More from freshworks-developers/marketplace
app-dev
Expert-level development skill for building, debugging, reviewing, and migrating Freshworks Platform 3.0 marketplace applications. New apps MUST start with FDK 10.0.1 and Node.js 24.x in manifest engines; FDK 9.x / Node 18 engines are forbidden except the single last-resort downgrade in SKILL.md after six validate iterations when toolchain blocks validation. Use when working with Freshworks apps for (1) Creating new Platform 3.0 apps (frontend, serverless, hybrid, OAuth), (2) Debugging or fixing Platform 3.0 validation errors, (3) Migrating Platform 2.x apps to 3.0, (4) Reviewing manifest.json, requests.json, or oauth_config.json files, (5) Implementing Crayons UI components, (6) Integrating external APIs or OAuth providers, (7) Any task involving Freshworks Platform 3.0 app development, FDK CLI, or marketplace submission.
88freshworks-publish-skill
Pack and publish completed Freshworks custom apps to the marketplace. Use when the user wants to pack, publish, submit, or deploy a Freshworks app to the marketplace, prepare app for submission, create app package, or asks about app publishing workflow.
22freshworks-fdk-setup-skill
Complete FDK management for macOS and Windows - install, upgrade, downgrade, and uninstall. Use when the user needs to install/configure/upgrade/downgrade/uninstall the Freshworks Development Kit, set up FDK on a new machine, asks about FDK installation on Mac or Windows, wants to change FDK version, or encounters FDK/CLI setup issues.
22fdk-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 March 2026). Use when user explicitly requests FDK installation, upgrade, downgrade, uninstall, or status check. Provides slash commands /fdk-install, /fdk-upgrade, /fdk-downgrade, /fdk-uninstall, /fdk-status. Publishing to marketplace requires FDK 10.x + Node 24.
16fw-review
Full Freshworks marketplace app review — iparams, frontend, serverless, FDK, security, and structured text report output — in one skill.
6fw-app-dev
Expert-level development skill for building, debugging, reviewing, and migrating Freshworks Platform 3.0 marketplace applications. REQUIRES Node.js 24.x + FDK 10.x installed BEFORE use—checks prerequisites and refuses to proceed without them. Does NOT install or manage FDK/Node—use fw-setup skill. New apps default to FDK 10.0.1 and Node.js 24.x; FDK 9.x/Node 18.x allowed when explicitly requested with deprecation notice. Use for: (1) Creating Platform 3.0 apps (frontend, serverless, hybrid, OAuth), (2) Debugging validation errors, (3) Migrating Platform 2.x apps to 3.0, (4) Reviewing manifest.json, requests.json, oauth_config.json, (5) Implementing Crayons UI, (6) Integrating external APIs or OAuth providers, (7) Any Freshworks Platform 3.0 app development, FDK CLI, or marketplace submission task.
6