| name | open-codesign-ai-design |
| description | Use Open CoDesign to generate prototypes, slides, and PDFs from prompts with Claude, GPT, Gemini, or local models |
| triggers | ["create a design prototype with Open CoDesign","generate slides using Open CoDesign","set up Open CoDesign with my API key","export a design to HTML or PDF","configure multi-model support in Open CoDesign","use Open CoDesign locally with Ollama","integrate Open CoDesign into my design workflow","troubleshoot Open CoDesign provider settings"] |
Open CoDesign AI Design Skill
Skill by ara.so — Design Skills collection.
Open CoDesign is an MIT-licensed, local-first desktop application that transforms prompts into polished prototypes, slide decks, and marketing assets. It's the open-source alternative to Claude Design, v0, Lovable, and Bolt.new — letting you bring your own API key (BYOK) for Claude, GPT, Gemini, DeepSeek, Ollama, or any OpenAI-compatible endpoint.
Key capabilities:
- Prompt → prototype/slides/PDF generation
- Multi-model support (20+ providers)
- Desktop-native Electron app (macOS 12+, Windows 10+, Linux)
- Local-first with workspace-backed sessions
- Version history and iteration tracking
- Comment mode for targeted edits
- AI-generated tweaks panels (color pickers, sliders)
- Export to HTML, PDF, PPTX, ZIP, Markdown
Installation
Package Managers (Recommended)
macOS:
brew install --cask opencoworkai/tap/open-codesign
Windows (Scoop):
scoop bucket add opencoworkai https://github.com/OpenCoworkAI/scoop-bucket
scoop install opencoworkai/open-codesign
Windows (winget - pending approval):
winget install OpenCoworkAI.OpenCoDesign
Direct Downloads
Download from GitHub Releases:
- macOS (Apple Silicon):
open-codesign-*-arm64.dmg
- macOS (Intel):
open-codesign-*-x64.dmg
- Windows (x64):
open-codesign-*-x64-setup.exe
- Windows (ARM64):
open-codesign-*-arm64-setup.exe
- Linux (AppImage):
open-codesign-*-x64.AppImage
- Linux (Debian/Ubuntu):
open-codesign-*-x64.deb
- Linux (Fedora/RHEL):
open-codesign-*-x64.rpm
macOS Security Workaround
Installers are not yet notarized. On macOS Sequoia 15+:
xattr -cr "/Applications/Open CoDesign.app"
Then launch normally. On Windows, click "More info" → "Run anyway" when SmartScreen appears.
Configuration
First Launch Setup
Open CoDesign opens Settings automatically on first run. Choose one of three provider paths:
1. ChatGPT Subscription (No API Key)
For ChatGPT Plus/Pro/Team subscribers using Codex models:
- Click "Sign in with ChatGPT"
- Authenticate via browser
- Select Codex models from the dropdown
2. API Key Provider
Set up any supported provider with an API key:
interface ProviderConfig {
type: 'anthropic' | 'openai' | 'google' | 'openrouter' |
'deepseek' | 'kimi' | 'glm' | 'siliconflow' |
'openai-compatible';
apiKey: string;
baseURL?: string;
model?: string;
}
Environment variable pattern:
export ANTHROPIC_API_KEY=sk-ant-...
export OPENAI_API_KEY=sk-...
export GOOGLE_API_KEY=...
export OPENROUTER_API_KEY=...
export DEEPSEEK_API_KEY=...
In-app configuration:
- Open Settings (gear icon or
Cmd+, / Ctrl+,)
- Navigate to Providers tab
- Click Add Provider
- Select provider type
- Paste API key from environment variable
- (Optional) Set base URL for custom endpoints
- Click Save
3. Local/Keyless (Ollama)
For local models without API keys:
curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.1
In Open CoDesign:
- Settings → Providers → Add Provider
- Select OpenAI-compatible
- Base URL:
http://localhost:11434/v1
- Leave API key empty
- Model name:
llama3.1 (or your pulled model)
One-Click Import
Import existing configurations:
- Claude Code config: Settings → Import → Browse to
~/.claude/config.json
- Codex API config: Settings → Import → CLIProxyAPI auto-detect
Core Workflows
Generate a Design from Scratch
Basic prompt pattern:
const prompt = `
Create a landing page for a SaaS product called "TaskFlow"
with a hero section, feature cards, pricing table, and footer.
Use a blue and white color scheme.
`;
In the app:
- Open Open CoDesign
- Click New Design (or
Cmd+N / Ctrl+N)
- Enter prompt in left panel
- Select model from dropdown (e.g.,
claude-3-5-sonnet-20241022)
- Click Generate or press
Enter
- Watch agent panel for live progress (todos, tool calls)
Expected output: Full HTML artifact with CSS, interactive elements, hover states
Iterate with Comment Mode
Target specific regions without rewriting entire prompt:
1. Click "Comment" button in toolbar (or `C` key)
2. Click element in preview pane
3. Drop pin with feedback: "Make this heading larger and bold"
4. Agent rewrites only that region
Use cases:
- Adjust typography: "Increase line height in this paragraph"
- Refine colors: "Make this button background darker"
- Add elements: "Insert a contact form below this section"
Use AI-Generated Tweaks
The model emits a tweaks panel with adjustable parameters:
{
"primaryColor": { type: "color", value: "#3B82F6" },
"headingSize": { type: "range", value: 32, min: 16, max: 64 },
"spacing": { type: "range", value: 16, min: 8, max: 48 }
}
In the app:
- Generate a design
- Open Tweaks panel (right sidebar)
- Adjust sliders, color pickers, or dropdowns
- Preview updates live
- Click Apply to commit changes
Export Artifacts
Export formats:
- HTML: Single-file with embedded CSS/JS
- PDF: Print-ready document
- PPTX: PowerPoint presentation
- ZIP: Multi-file project archive
- Markdown: Source code with annotations
import { exportArtifact } from './export';
await exportArtifact({
sessionId: 'abc123',
format: 'html',
outputPath: './exports/my-design.html'
});
In the app:
- Open a completed design
- Click Export button (top-right)
- Select format
- Choose save location
- Optionally include version history
Work with Design Systems
Use DESIGN.md files to enforce consistent styling:
<!-- DESIGN.md in your workspace -->
# TaskFlow Design System
## Colors
- Primary: #3B82F6
- Secondary: #10B981
- Neutral: #6B7280
## Typography
- Heading: Inter, 32px, bold
- Body: Inter, 16px, regular
## Spacing
- Base unit: 8px
- Section padding: 64px vertical
## Components
- Button: 12px padding, 4px border-radius, primary background
How to use:
- Create
DESIGN.md in workspace directory (Settings → Workspace → Set Path)
- In prompt, reference: "Follow the design system in DESIGN.md"
- Agent reads file via permissioned local tools
Version History
All iterations are saved locally:
~/.open-codesign/sessions/
abc123/
design-v1.html
design-v2.html
design-v3.html
metadata.json
chat-history.json
In the app:
- Open Your Designs hub (
Cmd+Shift+D / Ctrl+Shift+D)
- Select a design
- Click Versions in right sidebar
- Preview past iterations
- Restore or fork from any version
Multi-Model Configuration
Switch Models Mid-Session
1. Start design with claude-3-5-sonnet-20241022
2. Click model dropdown in top bar
3. Switch to gpt-4o for next iteration
4. Conversation context carries over
Recommended models by use case:
- Prototypes:
claude-3-5-sonnet-20241022 (best design sense)
- Slides:
gpt-4o (structured layouts)
- Code-heavy:
deepseek-chat (technical accuracy)
- Local/offline:
llama3.1 via Ollama (privacy)
Configure Multiple Providers
[
{
name: "Anthropic",
type: "anthropic",
apiKey: process.env.ANTHROPIC_API_KEY,
models: ["claude-3-5-sonnet-20241022"]
},
{
name: "OpenAI",
type: "openai",
apiKey: process.env.OPENAI_API_KEY,
models: ["gpt-4o", "gpt-4o-mini"]
},
{
name: "Ollama Local",
type: "openai-compatible",
baseURL: "http://localhost:11434/v1",
models: ["llama3.1", "codellama"]
}
]
TypeScript Integration Patterns
Extend with Custom Tools
Open CoDesign uses permissioned local tools in workspace mode:
import { Tool } from '@open-codesign/types';
export const fetchDataTool: Tool = {
name: 'fetch_marketing_data',
description: 'Fetch product metrics from local JSON file',
parameters: {
type: 'object',
properties: {
filePath: { type: 'string' }
},
required: ['filePath']
},
handler: async ({ filePath }) => {
const data = await fs.readFile(filePath, 'utf-8');
return JSON.parse(data);
}
};
React Component Generation
Prompts targeting React components:
const reactPrompt = `
Create a reusable TaskCard component in React + TypeScript.
Props: title (string), description (string), status (enum: pending | done).
Use Tailwind CSS for styling.
`;
Common Patterns
Prompt Engineering for Designs
Effective prompt structure:
const goodPrompt = `
[Type]: Landing page
[Purpose]: SaaS product launch
[Sections]: Hero with CTA, 3 feature cards, pricing table, footer
[Style]: Modern, minimal, blue/white palette
[Technical]: Responsive, mobile-first, use CSS Grid
[Extras]: Include hover effects on cards
`;
const badPrompt = "Make a nice website";
Iteration tips:
- Start broad, refine with comments
- Reference existing designs: "Like Stripe's homepage but for education"
- Specify frameworks: "Use Tailwind utilities, avoid custom CSS"
Slide Deck Generation
const slideDeckPrompt = `
Create a 5-slide pitch deck for TaskFlow:
1. Title slide with logo placeholder
2. Problem statement with bullet points
3. Solution overview with 3 features
4. Market opportunity (include a bar chart placeholder)
5. Call to action with contact info
Use a professional blue gradient background.
Export as PPTX.
`;
PDF Report Generation
const pdfPrompt = `
Generate a quarterly business review report:
- Cover page with Q1 2026 title
- Executive summary (1 page)
- Key metrics table (revenue, users, churn)
- 3 charts: line graph (revenue), pie chart (user segments), bar chart (MRR)
- Conclusion with 3 action items
Use corporate colors: #1E40AF (blue), #064E3B (green).
Export as PDF with page numbers.
`;
Local-First Workflow
~/projects/my-designs/.open-codesign/
sessions/
cache/
exports/
cd ~/projects/my-designs
git add .open-codesign/sessions/
git commit -m "Save design iterations"
Troubleshooting
Provider Connection Issues
Symptom: "Failed to connect to provider" error
Solutions:
curl https:
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-3-5-sonnet-20241022","max_tokens":10,"messages":[{"role":"user","content":"Hi"}]}'
Gemini Model Not Found
Symptom: Error with gemini-* models
Fix: Prefix with models/:
model: "gemini-1.5-pro"
model: "models/gemini-1.5-pro"
OpenAI-Compatible Relay Issues
Symptom: "Instructions required" error with third-party relays
Cause: Some relays incorrectly enforce system messages
Workaround:
{
"forceSystemMessage": true,
"defaultInstructions": "You are a helpful assistant."
}
macOS Sequoia Gatekeeper Block
Symptom: Cannot open app, "Open Anyway" fails
xattr -cr "/Applications/Open CoDesign.app"
xattr -l "/Applications/Open CoDesign.app"
Electron IPC Errors
Symptom: "IPC handler not found" in console
Solution:
rm -rf ~/.open-codesign/cache
rmdir /s %APPDATA%\open-codesign\cache
Export Failures
Symptom: PDF/PPTX export hangs or produces empty file
Debug steps:
df -h # macOS/Linux
wmic logicaldisk get size,freespace,caption # Windows
ChatGPT Subscription Sign-In Fails
Symptom: OAuth redirect loop or "Session expired"
Fix:
Advanced Configuration
Custom Model Definitions
Add unsupported models via config file:
{
"customModels": [
{
"id": "my-custom-model",
"provider": "openai-compatible",
"baseURL": "https://my-llm-api.com/v1",
"apiKey": "ENV:MY_LLM_KEY",
"contextWindow": 128000,
"maxOutput": 4096
}
]
}
Workspace Permissions
Control what the agent can access:
{
"allowedPaths": [
"./design-system",
"./assets",
"./data"
],
"deniedPaths": [
"./secrets",
"./.env"
],
"allowNetworkAccess": false,
"allowedTools": [
"read_file",
"search_files",
"list_directory"
]
}
Keyboard Shortcuts
- New Design:
Cmd+N / Ctrl+N
- Save:
Cmd+S / Ctrl+S (auto-saves enabled by default)
- Export:
Cmd+E / Ctrl+E
- Comment Mode:
C
- Tweaks Panel:
T
- Your Designs Hub:
Cmd+Shift+D / Ctrl+Shift+D
- Settings:
Cmd+, / Ctrl+,
- DevTools:
Cmd+Opt+I / Ctrl+Shift+I
Security Best Practices
-
Never commit API keys: Use environment variables
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
-
Verify downloads: Check SHA256SUMS.txt from releases
shasum -a 256 -c SHA256SUMS.txt
-
Workspace isolation: Keep sensitive files outside workspace paths
-
Review tool calls: Agent panel shows every file access
-
Update regularly: Security patches ship with minor versions
Resources