AI-Assisted Development
Use AI coding tools to build Bifrost workflows, forms, and apps
There are five ways to use AI tools with Bifrost. Pick whichever fits — they all talk to the same platform.
| Approach | Best for | Requirements |
|---|---|---|
| Claude Code + Bifrost plugin | Developers with local repos and git workflows | Claude Code, Bifrost SDK installed |
| Codex + Bifrost plugin | Codex users who want the same public Bifrost skills as Claude Code | Codex, Bifrost SDK installed |
| Other coding agents + Bifrost skills | Copilot CLI, Cursor, OpenCode, Gemini CLI, and other tools that read portable agent skills | Bifrost CLI, Python 3.11+ |
| Local SDK | Any AI tool (Copilot, Cursor, etc.) with local files | Bifrost SDK, Python 3.11+ |
| MCP (Remote) | Non-developers, quick edits, no local setup | MCP-compatible AI tool |
1. Claude Code with the Bifrost plugin
Section titled “1. Claude Code with the Bifrost plugin”The fastest path if you use Claude Code. The Bifrost plugin installs the public Bifrost skills:
/bifrost:build— create and debug workflows, forms, agents, and apps with the CLI and MCP./bifrost:setup— install the CLI, authenticate, and configure MCP on a fresh machine./bifrost:copilot-cowork-package— package a Bifrost agent as a Microsoft 365 Copilot Cowork plugin.
Install the plugin
Section titled “Install the plugin”The recommended path is the Claude Code plugin marketplace. It auto-updates when you refresh the marketplace, so you stay in lockstep with the latest skill content without re-running install commands.
Inside Claude Code, run:
/plugin marketplace add https://github.com/gobifrost/bifrost/plugin install bifrost@bifrostTo pull the latest content later, run /plugin marketplace update bifrost — or enable auto-update in /plugin → Marketplaces.
2. Codex with the Bifrost plugin
Section titled “2. Codex with the Bifrost plugin”Codex can install the same public Bifrost plugin from GitHub. This gives Codex the same public skill set as Claude Code: build, setup, and copilot-cowork-package.
Inside Codex, run:
codex plugin marketplace add gobifrost/bifrost --ref maincodex plugin add bifrost@bifrostTo refresh a Git-backed marketplace later:
codex plugin marketplace upgrade bifrostcodex plugin add bifrost@bifrost3. Other Coding Agents with bifrost skill
Section titled “3. Other Coding Agents with bifrost skill”For non-Claude-Code and non-Codex harnesses, install via the Bifrost CLI. It pulls the public skills from GitHub (no clone required) and writes them to both <cwd>/.claude/skills/ and <cwd>/.agents/skills/ — the cross-harness portable convention read by Copilot CLI, Cursor, OpenCode, Gemini CLI, and other tools:
bifrost skill list # show what's currently installedbifrost skill update # install or refresh all public skillsbifrost skill update --ref v1.4.2 # pin to a specific releasebifrost skill remove bifrost-build # uninstall a skill from both locationsbifrost skill update only installs the publicly-distributed skills (bifrost-build, bifrost-setup, bifrost-copilot-cowork-package) — internal maintainer skills stay in the repo. Re-run it whenever you want the latest content; there’s no auto-update, by design.
Migrating from a hand-copied skill
Section titled “Migrating from a hand-copied skill”Earlier versions of the bifrost:build skill were distributed by cloning the bifrost repo and copying .claude/skills/bifrost-build/ into your project. If you set things up that way, remove the local copy before installing via the plugin or bifrost skill update so the two don’t drift:
rm -rf .claude/skills/bifrost-build .claude/skills/bifrost-setup .claude/skills/bifrost-copilot-cowork-packagerm -rf .agents/skills/bifrost-build .agents/skills/bifrost-setup .agents/skills/bifrost-copilot-cowork-packageThen run the plugin install or bifrost skill update and you’re current.
Setup after installing a plugin or skill
Section titled “Setup after installing a plugin or skill”After the plugin or skill is installed, wire up the CLI and (optionally) the MCP server:
# Install the SDK from your instance and authenticatepipx install https://your-instance.gobifrost.com/api/cli/downloadbifrost login --url https://your-instance.gobifrost.com
# (Optional) Add the MCP server to Claude Code for chat-augmented exploration of platform stateclaude mcp add --transport http bifrost https://your-instance.gobifrost.com/mcpOr run the setup skill in your coding agent and it walks you through everything. In Claude Code, that is /bifrost:setup.
How it works
Section titled “How it works”The build skill gives coding agents two modes:
SDK-first (local development):
- Start
bifrost watchto auto-push file changes - Write workflow code locally in your git repo
- Files auto-push as you save — no manual sync needed
- Test with
bifrost run <file> -w <function> -p '{...}' - Use the entity CLI commands (
bifrost forms create,bifrost agents update,bifrost configs set, …) orbifrost apifor raw API calls - Commit and push to GitHub when ready
MCP-only (remote development):
- Write workflow files via MCP file tools, then
register_workflow - Test with
execute_workflow - Iterate with
patch_contentfor surgical edits
The skill checks integrations, reads SDK documentation, validates before declaring ready, and asks about org scoping.
CLI commands for platform operations
Section titled “CLI commands for platform operations”bifrost <entity> covers entity mutations (orgs, roles, workflows, forms, agents, apps, configs, integrations, events, tables). bifrost api is the escape hatch for any endpoint not yet wrapped by a typed command:
# Download SDK documentation (once per session, then grep locally)bifrost api GET /api/docs/sdk > /tmp/bifrost-docs/sdk.md
# Execute a workflow synchronouslybifrost api POST /api/workflows/{id}/execute '{"workflow_id":"...","input_data":{...},"sync":true}'
# Check an executionbifrost api GET /api/executions/{id}
# List platform state (debug sync divergence)bifrost workflows listbifrost api GET /api/workflowsFor the full CLI command index, see the CLI cheatsheet.
When to use which
Section titled “When to use which”| Surface | Use it for |
|---|---|
CLI (bifrost <entity> ..., bifrost run, bifrost watch) | All entity mutations and file sync. First choice for repeatable, scriptable work. |
MCP (list_workflows, register_workflow, execute_workflow, …) | Chat-augmented exploration of platform state, quick lookups, content-editing tools (patch_content, replace_content). |
bifrost api | Endpoints with no dedicated CLI command yet (e.g. arbitrary admin endpoints, debug routes, analytics queries). |
Forms, apps, and agents are first-class CLI citizens (bifrost forms create, bifrost apps create, bifrost agents create) — they no longer require MCP. Use whichever surface fits the task.
4. Local SDK Development
Section titled “4. Local SDK Development”Works with any AI tool that can edit local files (GitHub Copilot, Cursor, Windsurf, etc.).
pipx install https://your-instance.gobifrost.com/api/cli/downloadbifrost login --url https://your-instance.gobifrost.comThe login command opens your browser for authentication. Credentials are saved to ~/.bifrost/credentials.json and refresh automatically.
Workflow
Section titled “Workflow”- Write Python files with
@workflow,@tool, or@data_providerdecorators - Start
bifrost watchin your workspace to auto-push changes - Register newly-decorated functions with
bifrost workflows register --path <file> --function-name <name> - Test locally:
bifrost run my_workflow.py -w hello_world -p '{"name": "Alice"}' - All SDK modules (
ai,integrations,config,knowledge, etc.) work locally — they call the remote API - Commit and push to git when ready
What to tell your AI tool
Section titled “What to tell your AI tool”Give your AI assistant this context:
I'm building workflows for Bifrost, a Python automation platform.- Workflows use `@workflow`, `@tool`, or `@data_provider` decorators from the `bifrost` package- All functions must be async- SDK modules: bifrost.ai, bifrost.config, bifrost.integrations, bifrost.knowledge, bifrost.tables, bifrost.files, bifrost.users, bifrost.organizations, bifrost.roles, bifrost.executions, bifrost.forms, bifrost.workflows- Use `from bifrost import context` to access context.org_id, context.user_id, context.email- Use `logging.getLogger(__name__)` for execution logs- Return dicts or Pydantic models- Entity mutations (orgs, roles, forms, agents, apps, configs, integrations, events, tables) all have first-class CLI commands: `bifrost <entity> <verb>`. See https://docs.gobifrost.com/sdk-reference/cli/ for the full surface.5. MCP for External AI Tools
Section titled “5. MCP for External AI Tools”Connect Claude Desktop, ChatGPT, or any MCP-compatible tool directly to Bifrost. No local files needed.
Add the Bifrost MCP server to your AI tool’s configuration. For Claude Desktop, add to your config file:
{ "mcpServers": { "bifrost": { "type": "http", "url": "https://your-instance.gobifrost.com/mcp" } }}You can also enable MCP from within Bifrost at Settings > Platform > MCP Server.
What MCP gives you
Section titled “What MCP gives you”Your AI tool automatically discovers all available tools:
- Discovery:
list_workflows,list_integrations,list_forms,list_apps - Documentation:
get_workflow_schema,get_sdk_schema,get_form_schema,get_app_schema - Creation:
register_workflow,create_form,create_app - Editing:
search_content,patch_content,replace_content - Execution:
execute_workflow,list_executions,get_execution - Events:
create_event_source,create_event_subscription - Admin:
list_organizations,list_tables,search_knowledge
MCP system prompt
Section titled “MCP system prompt”Copy this into your AI tool’s system instructions for best results:
You help build automations on the Bifrost platform using MCP tools.
**Before writing any workflow that uses an integration, run `list_integrations` first.** If the integration isn't configured, guide the user to Settings > Integrations to set it up. Do not write untestable code.
**Before creating any resource, clarify scope:**1. Which organization? (use `list_organizations` to show options)2. Global or org-specific?
**Development flow:**1. Read docs: `get_workflow_schema`, `get_sdk_schema`2. Check integrations: `list_integrations`3. Write workflow file via file tools (`replace_content`)4. Register: `register_workflow` (validates and registers)5. Test: `execute_workflow`6. Check logs: `get_execution`7. Iterate: `patch_content` for edits
**Code standards:**- async/await for all functions- Type hints on all parameters- `logging.getLogger(__name__)` for logs- Return dicts or Pydantic models
**Forms** are created via `create_form`. Create the workflow first, verify with `list_workflows`, then create the form linked to the workflow ID.
**Apps** are built granularly: `create_app` > edit files with `replace_content` > preview > `publish_app` only when the user asks.Choosing an Approach
Section titled “Choosing an Approach”Use Claude Code or Codex + the Bifrost plugin for the best experience — the public skills handle mode switching, validation, setup, and testing automatically.
Use Other Coding Agents + bifrost skill update when your agent supports portable .agents/skills but not the Claude or Codex plugin marketplace.
Use Local SDK if you prefer a different AI tool or want full control over your git workflow.
Use MCP if you don’t want a local dev environment, or for quick one-off edits and chat-augmented exploration.
All five approaches can be combined. A common pattern is developing workflows locally with the SDK, mutating entities (forms, agents, configs) via CLI, and using MCP for exploration.