bilt-builder — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited bilt-builder (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You can build and deploy production mobile applications autonomously using the Bilt MCP server. No local setup, no manual steps, no waiting on humans.
Bilt handles the entire lifecycle: project creation, code generation, building, and deployment. You talk to it through 8 MCP tools. It gives you back live URLs.
Add the Bilt MCP server to ~/.openclaw/openclaw.json:
{
"mcpServers": {
"bilt": {
"transport": {
"type": "sse",
"url": "https://mcp.bilt.me/mcp/sse",
"headers": {
"Authorization": "Bearer bilt_live_YOUR_TOKEN_HERE"
}
}
}
}
}Get your token at bilt.me/sign-up. Restart the gateway: openclaw gateway restart.
| Tool | What It Does |
|---|---|
bilt_create_project(name, description) | Create a new project. Returns a project ID. |
bilt_list_projects() | List all your projects. |
bilt_get_project(project_id) | Get details for a specific project (status, URLs, metadata). |
| Tool | What It Does |
|---|---|
bilt_get_session() | Get the current workflow session. You need this before sending messages. |
bilt_send_message(session_id, message) | Send a natural language instruction to build, modify, or deploy your app. |
bilt_get_messages(session_id) | Retrieve the message history for a session. |
| Tool | What It Does |
|---|---|
bilt_resume_workflow(session_id) | Resume a paused workflow. |
bilt_cancel_workflow(session_id) | Cancel a running workflow. |
Every app follows the same pattern:
1. Create project bilt_create_project("my-app", "A fitness tracker")
-> { id: "proj_abc123" }
2. Get session bilt_get_session()
-> { session_id: "sess_xyz789" }
3. Build bilt_send_message(sess_id, "Create a workout tracker with...")
-> Builds the app (takes 2-4 minutes)
4. Iterate bilt_send_message(sess_id, "Add a dark mode toggle")
-> Updates the app
5. Deploy bilt_send_message(sess_id, "Deploy to production")
-> { url: "https://my-app-abc123.bilt.app" }That's it. Five steps from nothing to a live app with a shareable URL.
These are prompts you can give directly to bilt_send_message:
Simple:
Medium:
Complex:
Always get a session before sending messages. Call bilt_get_session() after creating a project. You need the session_id for all subsequent calls.
Be specific in your messages. Instead of "make it look better", say "use a blue and white color scheme with rounded cards and subtle shadows". Bilt responds better to concrete instructions.
Iterate in small steps. Build the core features first, then add polish. Send separate messages for each feature rather than one giant prompt.
Check the build status. If a build seems stuck, use bilt_get_messages() to check progress. Use bilt_resume_workflow() if it's paused, or bilt_cancel_workflow() and start fresh if something went wrong.
Deploy when satisfied. You can deploy at any point. The URL is permanent and updates when you redeploy.
Don't create duplicate projects. Use bilt_list_projects() to check if the project already exists before creating a new one.
| Issue | Fix |
|---|---|
| "Authentication failed" | Check your API token. It should start with bilt_live_. |
| "Session not found" | Call bilt_get_session() again. Sessions can expire. |
| Build hangs | Use bilt_get_messages() to check status. Cancel and retry if needed. |
| "Rate limit exceeded" | Wait 60 seconds. The limit is 100 requests/minute. |
| MCP connection error | Verify the server URL: https://mcp.bilt.me/mcp/sse. Restart the gateway. |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.