openwork-core

$npx mdskill add different-ai/openwork/openwork-core

Provides core context and guardrails for the OpenWork native app

  • Ensures alignment with OpenCode tooling and product principles
  • Leverages Tauri, SQLite, and OpenCode CLI for system integration
  • Enforces development workflows and UI performance standards
  • Delivers cross-platform desktop and mobile app capabilities

SKILL.md

.github/skills/openwork-coreView on GitHub ↗
---
name: openwork-core
description: Core context and guardrails for OpenWork native app
---

## Quick Usage (Already Configured)

### Orientation
- Read `AGENTS.md`, `VISION.md`, `PRINCIPLES.md`, `PRODUCT.md`, and `ARCHITECTURE.md` before changing behavior.
- Ensure `vendor/opencode` exists for self-reference.
- Use the `tauri-solidjs` skill for stack-specific guidance.

### Update the OpenCode mirror
```bash
git -C vendor/opencode pull --ff-only
```

### Development workflow
```bash
pnpm tauri dev          # Desktop development
pnpm tauri ios dev      # iOS development
pnpm tauri android dev  # Android development

# Or run directly in the desktop package:
pnpm -C packages/desktop tauri dev
```

## OpenCode Integration

### Spawn OpenCode CLI
```bash
opencode -p "your prompt" -f json -q
```

### Read OpenCode database
```
~/.opencode/opencode.db  # SQLite database
```

### Key tables
- `sessions` — Task runs
- `messages` — Chat messages and tool calls
- `history` — File change tracking

## Common Gotchas

- OpenWork must stay within OpenCode's tool surface; avoid inventing new capabilities.
- Always expose plans, permissions, and progress for non-technical users.
- Use Tauri commands for all system access (file, shell, database).
- Keep UI at 60fps; avoid blocking the main thread.
- Mobile builds require platform-specific setup (Xcode, Android Studio).

## UI Principles

- **Slick and fluid**: animations, transitions, micro-interactions.
- **Mobile-first**: touch targets, gestures, adaptive layouts.
- **Transparency**: show plans, steps, and tool calls.
- **Progressive disclosure**: hide advanced controls until needed.

## First-Time Setup (If Not Configured)

### Clone the OpenCode mirror
```bash
git clone https://github.com/anomalyco/opencode vendor/opencode
```

### Initialize Tauri project
```bash
pnpm create tauri-app . --template solid-ts
```

### Add mobile targets
```bash
pnpm tauri ios init
pnpm tauri android init
```

## Common Gotchas

- OpenWork must stay within OpenCode’s tool surface; avoid inventing new capabilities.
- Always expose plans, permissions, and progress for non-technical users.

## First-Time Setup (If Not Configured)

### Clone the OpenCode mirror
```bash
git clone https://github.com/anomalyco/opencode vendor/opencode
```

More from different-ai/openwork

SkillDescription
browser-setup-devtoolsGuide users through browser automation setup using Chrome DevTools MCP only. Use when the user asks to set up browser automation, Chrome DevTools MCP, browser MCP, or runs the browser-setup command.
daytona-electron-testTest the real Electron app on Daytona: create sandbox, start services, connect via CDP, create workspaces, drive sessions, and verify settings. Use when the user says 'test on Daytona', 'run the app on Daytona', 'Daytona dry run', 'test Electron remotely', or 'reproduce on Daytona'.
get-startedGuide users through the get started setup and Chrome DevTools demo.
opencode-bridgeBridge between OpenWork UI and OpenCode runtime
opencode-mirrorMaintain the local OpenCode mirror for self-reference
opencode-primitivesReference OpenCode docs when implementing skills, plugins, MCPs, or config-driven behavior.
openwork-debugDebug OpenWork sidecars, config, and audit trail
openwork-orchestrator-npm-publish|
run-evalsRun OpenWork UI evals on a Daytona sandbox or local Electron instance. Handles sandbox creation, service startup, and eval execution via CDP browser tools.
shadcnManages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for "shadcn init", "create an app with --preset", or "switch to --preset".