Refly

Build deterministic, versioned agent skills from natural language—run them anywhere from Claude Code to Slack.

7.4Kstars
718forks
Custom / Unknown
TypeScript

Refly is the first open-source agent skills builder that lets you define reusable AI capabilities using natural language and a visual workflow canvas, then export them as production-ready tools for Claude Code, Cursor, Lovable APIs, Slack bots, and more. Unlike fragile one-off scripts or black-box automation workflows, Refly compiles your business logic into stable, version-controlled skills that any agent framework can invoke reliably.

At its core, Refly addresses a fundamental gap in the agentic ecosystem: the lack of standardized, reusable action layers. Its intervenable runtime lets you pause, audit, and re-steer workflows mid-execution—enforcing business rules and recovering from failures without restarting from scratch. Skills are composable infrastructure, not disposable prompts.

Refly connects to over 3,000 native tools including Stripe, Salesforce, GitHub, and Notion, and supports full MCP (Model Context Protocol) compatibility for connecting databases, scripts, and internal systems. A built-in CLI lets you create, run, and export skills directly from the terminal using natural language commands.

The platform offers both a hosted cloud workspace at refly.ai and a self-hostable Docker deployment. A community skill registry allows developers to publish, fork, and monetize their automations—turning personal workflows into shareable infrastructure with a creator credit rewards system.

What You Get

  • Vibe Workflow Builder - A copilot-led visual editor where you describe your intent in plain language and Refly’s Model-Native DSL compiles it into a deterministic, composable agent skill in under 3 minutes.
  • Intervenable Runtime - A stateful execution engine that lets you pause, audit, and hot-fix agent workflows mid-run, enforcing business rules and recovering from failures without restarting from scratch.
  • CLI Skill Management - A fully-featured command-line interface for creating, running, exporting, and sharing skills using natural language commands—including file upload support and complex variable handling.
  • Skill Registry & Versioning - A centralized, version-controlled registry where teams can publish, fork, and audit reusable agent capabilities across projects, with audit logs and team workspace collaboration.
  • Universal Export - Deploy skills as stateful APIs for Lovable, webhooks for Slack/Lark/Feishu/Microsoft Teams, native tools for Claude Code and Cursor, or compatible SDKs for LangChain, AutoGen, and Manus.
  • 3,000+ Native Tool Integrations - Pre-built connectors for Stripe, Salesforce, GitHub, Notion, and more via a unified provider catalog, plus full MCP server compatibility for private data sources.
  • Multimodal Workflow Engine - Generate and process images, video, audio, and voice natively within workflows, with media outputs passable as structured variables to downstream nodes.
  • Creator Rewards System - Publish skills to the community registry and earn credits when others run them, turning personal automation into a monetizable shared asset.

Common Use Cases

  • Exporting AI capabilities to Claude Code - A developer builds a data-extraction skill in Refly’s visual canvas, then exports it as a native tool for Claude Code, enabling their agent to pull real-time sales data without manual API scaffolding.
  • Building a Slack bot for internal SOPs - A startup ops team describes their HR policy Q&A process in natural language; Refly compiles it into a webhook-triggered Slack bot that answers employee questions from company docs, reducing ticket volume significantly.
  • Automating e-commerce marketing workflows - An e-commerce team uses Refly to chain Shopify data retrieval, CRM sync, email generation, and social scheduling into a single versioned skill that runs on a daily schedule.
  • Connecting Lark/Feishu to internal tools - An enterprise team wires internal databases and approval workflows to Lark/Feishu via Refly webhooks, turning their messaging platform into an automated action surface without writing backend code.
  • Background agent task execution - A researcher sets up a long-running data collection and summarization skill that continues running server-side even after closing the browser, with results available on return.
  • Publishing skills to the community registry - An automation specialist packages a competitive intelligence workflow, publishes it to the Refly Skills registry, and earns credits each time other users execute it.

Under The Hood

Architecture Refly is structured as a Turborepo monorepo with clear domain boundaries between a NestJS backend API and a React/Next.js frontend, communicating through a typed OpenAPI schema package shared across workspaces. The backend follows classic NestJS layering—controllers, services, and Prisma-backed data access—with dependency injection throughout, making components independently testable. Cross-cutting concerns like rate limiting, authentication guards, and OpenTelemetry tracing are encapsulated behind well-defined interfaces rather than scattered across business logic. The skill execution engine is built on LangChain’s StateGraph abstraction, treating each skill as a typed, configurable runnable that processes structured context through a defined state machine. BullMQ handles background job scheduling and distributed task execution, enabling the agent background mode where skill runs survive browser disconnects.

Tech Stack The backend runs on NestJS with TypeScript on Node.js 24+, using Prisma for type-safe PostgreSQL access and BullMQ for job queues. The frontend is built with React and Rsbuild, styled with Ant Design and Tailwind CSS, with real-time collaboration powered by HocusPocus and Yjs over Redis. The data layer combines PostgreSQL for structured data, Redis for caching and real-time state, MinIO for object storage, LanceDB for vector embeddings, and Elasticsearch for full-text search. AI execution runs through LangChain/LangGraph with support for Azure, Bedrock, and dozens of third-party model providers via a unified provider catalog. Observability integrates OpenTelemetry with Langfuse and Grafana Tempo. The full stack deploys via Docker Compose with optional Helm charts for Kubernetes.

Code Quality The codebase uses Biome for unified linting and formatting with strict unused-import and unused-variable rules enforced as errors. The backend has Jest-based unit tests with type-aware mocks; a representative test suite covers LLM utility functions, service layer logic, and schedule rate limiting with explicit assertions. Prisma-generated types propagate through service boundaries, minimizing runtime type mismatches. Error handling is explicit with typed error codes in the skill package module, centralized error classes, and structured logging via Pino. The Cypress test suite covers end-to-end flows. Coverage is meaningful but concentrated in backend services, with the large frontend canvas codebase having limited unit test coverage.

What Makes It Unique Refly’s core innovation is treating AI workflows not as execution pipelines but as versioned, installable skill packages with dependency resolution—closer to npm packages than n8n flows. The skill package service implements distributed Redis-based locking for atomic multi-user installations, a capability absent from comparable platforms. The intervenable runtime—the ability to pause and hot-fix a live agent execution without restart—distinguishes it from both trigger-based workflow builders and code-first frameworks. The MCP-native architecture means skills can be exposed directly as MCP servers, making them natively consumable by any MCP-compatible agent runtime without an adapter layer.

Self-Hosting

Refly is licensed under a custom Apache 2.0 derivative called the ReflyAI License. Personal use, including individual commercial activities, is free with no restrictions. However, corporate and organizational commercial use—deploying Refly within a business environment, integrating it into commercial products, or operating it as a service for others—requires obtaining a commercial license from Refly’s team (contact: support@refly.ai). Additionally, self-hosters using the frontend source must preserve the Refly logo and copyright notices in the canvas and application interfaces, regardless of any other modifications they make to the codebase.

Running Refly yourself is a substantive infrastructure commitment. The full stack requires PostgreSQL, Redis, MinIO (or S3-compatible storage), and optionally Elasticsearch for full-text search and LanceDB for vector indexing. A complete Docker Compose deployment provisions all these services alongside the API and web containers, which makes initial setup manageable but means you are responsible for database backups, Redis persistence, storage replication, and application upgrades on your own schedule. The platform’s background task execution and real-time collaboration features depend on Redis reliability, so production deployments need Redis with persistence configured.

The hosted cloud workspace at refly.ai provides a credit-based model where all model usage—text, image, audio, video—is metered transparently without requiring you to configure your own API keys. The cloud tier adds managed uptime, automatic model upgrades as new providers are added to the catalog, and enterprise controls like custom credit expiration and multi-model routing for scheduled tasks. Self-hosters must source and manage their own API keys for every model provider they want to use, configure provider credentials in Refly’s settings, and handle any provider-side quota management themselves. The community skill registry is cloud-hosted, so self-hosted instances do not automatically participate in or benefit from the shared skill ecosystem without additional integration.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack

No spam. Unsubscribe anytime.

Join 750+ subscribers
No spam. Unsubscribe anytime.

Search