Manage, version, and deploy SKILL.md files across all your AI coding tools.
Write once, synced everywhere.
Website · Documentation · Quick Start · Discussions · Contributing
52-second walk-through — browse the skill library, edit a skill in Monaco, search the community marketplace, and discover existing skills with the CLI. (Watch in higher quality (MP4, 2.9 MB))
📺 Individual demos (click to expand)
1. Browse and open the editor
Browse the skill library, click a skill, and the Monaco editor opens with the AI assistant, security scanner, and version history side-by-side.
2. Live edit and save
Live-edit a skill in Monaco. Changes save with one click — versioned, diffable, rollbackable.
3. Browse the marketplace
Search 13,700+ community skills from ClawHub. Filter, preview, install with one click.
4. CLI scan
praxl scan discovers all your existing SKILL.md files across Claude Code, Cursor, Codex, and 6 more tools — and scores each on quality + security in one pass.
# Discover the skills you already have (no signup, no install of the full app)
npx praxl-app scan
# Or self-host the full Praxl in 5 minutes (macOS / Linux)
git clone https://github.com/AdamBartkiewicz/praxl-oss.git
cd praxl-oss
cp .env.example .env
sed -i.bak "s|^AUTH_SECRET=.*|AUTH_SECRET=$(openssl rand -base64 32)|" .env && rm .env.bak
docker compose up -d --build
# Wait ~2 minutes for build + db init, then visit http://localhost:3000🪄 Or paste a single prompt into Claude Code / Cursor and have your AI agent deploy it for you. See SETUP-WITH-AI.md.
You write a great prompt for Claude Code. Next session — gone. You rewrite it in Cursor. Slightly different. Your teammate writes a third version. SKILL.md files fix this — but managing them across 9 AI tools is chaos.
graph LR
P((Praxl Dashboard))
P -->|edit & deploy| CC[Claude Code]
P -->|edit & deploy| Cu[Cursor]
P -->|edit & deploy| Co[Copilot]
P -->|edit & deploy| Cd[Codex CLI]
P -->|edit & deploy| Wi[Windsurf]
P -->|edit & deploy| Op[OpenCode]
P -->|edit & deploy| OC[OpenClaw]
P -->|edit & deploy| Ge[Gemini CLI]
P -->|edit & deploy| Cl[Claude.ai]
classDef praxl fill:#ea580c,stroke:#b45309,color:#fff,stroke-width:2px
class P praxl
One edit in Praxl deploys to 9 AI tools simultaneously. The CLI runs as a background daemon, syncing bidirectionally — edit in the browser or locally, both sides stay in sync.
| Skill Editor | Community Marketplace |
![]() |
![]() |
| Dashboard | AI Studio |
![]() |
![]() |
| Skill Library | Multi-Tool Sync |
![]() |
![]() |
|
|
|
|
|
|
Honest comparisons with the strongest open-source competitors. Full per-tool detail at praxl.app/compare.
| Tool | Where Praxl wins | Where they win |
|---|---|---|
| rulesync (994⭐) | Visual editor, team workspaces, AI quality review, hosted cloud | 27 supported tools (vs 9), zero-infrastructure CLI, daily releases |
| skillshare (1.4k⭐) | Bidirectional cloud sync, structural sandbox + opt-in trust paths, team layer | ~500-rule deterministic security audit (deepest in the category), 57 tools |
| Manual / git | Auto-deploy to 9 tools, AI scoring, version diffs in UI | Zero dependencies, no server |
| Skills Manager (500⭐) | 9 tools (vs 3 built-in), cloud sync, version history, AI review, teams | Native desktop app, no account needed, MIT license |
| .cursorrules | Beyond a single file per project; modular, reusable, multi-tool | Native Cursor integration, no setup |
The most defensible setup for many teams is running both Praxl and skillshare — Praxl for the lifecycle and team layer, skillshare's audit engine for content scanning. We're complementary.
git clone https://github.com/AdamBartkiewicz/praxl-oss.git
cd praxl-oss
cp .env.example .env
# Generate AUTH_SECRET — works on macOS AND Linux (sed -i.bak is portable)
sed -i.bak "s|^AUTH_SECRET=.*|AUTH_SECRET=$(openssl rand -base64 32)|" .env && rm .env.bak
# Build + start (~2 min first time)
docker compose up -d --buildWait for the migrate container to finish (docker compose ps should show migrate as exited (0)), then open http://localhost:3000 and create your account.
🪄 Using an AI agent? Copy SETUP-WITH-AI.md into Claude Code / Cursor — it handles every step including troubleshooting.
git clone https://github.com/AdamBartkiewicz/praxl-oss.git
cd praxl-oss && npm install
cp .env.example .env
# Set DATABASE_URL and AUTH_SECRET in .env
npx drizzle-kit push --force
npm run dev# Get your user ID after signing up
docker compose exec db psql -U praxl -d praxl -c "SELECT id, email FROM users;"
# Add to .env (one line — server-side check via /api/auth/me)
ADMIN_USER_IDS=your-user-id-here
# Recreate the container so the new env var loads.
# (NOT `restart` — restart keeps the old environment.)
docker compose up -d --force-recreate appnpm install -g praxl-app
# Connect to your instance (cloud or self-hosted)
praxl connect --url http://localhost:3000
# Or just scan local skills (no account needed)
praxl scanWhat the CLI does:
praxl scan— discovers SKILL.md files across 9 tool directories and scores each onepraxl connect— auth, import existing skills, sync bidirectionally, watch for changespraxl status— show your account and skill listpraxl trust-path <dir>— opt-in custom skill directories for power users
In the background it tracks usage from Claude Code session logs, detects local edits and submits them as change requests, and writes an audit log to ~/.praxl/audit.log.
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| API | tRPC 11 (type-safe, 100+ procedures) |
| Database | PostgreSQL 16 + Drizzle ORM |
| Auth | Built-in JWT + bcrypt (no external) |
| AI | Anthropic Claude (optional) |
| UI | Tailwind CSS 4 + shadcn/ui |
| Editor | Monaco (VS Code engine) |
For the full repository layout, database schema, and contribution patterns, see docs/ARCHITECTURE.md.
| Self-Hosted | Cloud (go.praxl.app) | |
|---|---|---|
| Price | Free forever | Free tier / $5/mo Pro |
| Features | All unlocked | Limits on Free, all on Pro |
| AI | BYO Anthropic key | Included (no key needed) |
| Auth | Email/password | Google, GitHub SSO |
| Hosting | You manage | Managed |
| Data | Your server | Our cloud |
| Updates | git pull |
Automatic |
| Variable | Required | Description |
|---|---|---|
AUTH_SECRET |
Yes | JWT secret. Generate: openssl rand -base64 32 |
DATABASE_URL |
Yes (manual) | PostgreSQL connection string. Docker auto-injects this. |
NEXT_PUBLIC_APP_URL |
No | Your URL (default: http://localhost:3000) |
ADMIN_USER_IDS |
No | Comma-separated admin user IDs |
ANTHROPIC_SERVER_KEY |
No | Anthropic key for server-side AI (Mode 2 below) |
ENCRYPTION_KEY |
No | Encrypt stored API keys. Generate: openssl rand -hex 32 |
GITHUB_TOKEN |
No | GitHub PAT for marketplace indexing |
CRON_SECRET |
No | Auth token for cron endpoints |
AI features (skill review, generation, chat) need an Anthropic API key. Two modes:
Mode 1 — Each user provides their own key
- Each user enters their key in Settings (encrypted at rest with
ENCRYPTION_KEY) - They pay Anthropic directly
- Simplest for self-hosters
Mode 2 — Server provides a shared key
- Set
ANTHROPIC_SERVER_KEYin.env - All users get AI without configuring anything
- You pay the Anthropic bill
Without any key, the app works fine — AI buttons just don't appear.
- GitHub Discussions — questions, ideas, show & tell
- GitHub Issues — bug reports & feature requests
- Help Wanted issues — good places to start contributing
- 🌐 praxl.app — landing, docs, blog
- ☁️ go.praxl.app — managed cloud edition
We welcome contributions! See CONTRIBUTING.md and docs/ARCHITECTURE.md.
git clone https://github.com/AdamBartkiewicz/praxl-oss.git
cd praxl-oss && npm install
cp .env.example .env # Configure DATABASE_URL + AUTH_SECRET
npm run dev- Auth adapters — NextAuth.js, Lucia, OAuth providers
- AI providers — OpenAI, Ollama, local LLM support
- Tool adapters — broaden the 9-tool list (Cline, Kilo, Roo, JetBrains Junie, etc.)
- Tests — unit and integration tests
- Documentation — guides, tutorials, translations
- UI/UX — accessibility, mobile, dark mode improvements
Do I need an Anthropic API key?
No. The app works without it — you just won't have AI features (review, generation, chat). Everything else works: editing, versioning, sync, teams, marketplace.
Can I use this with my team?
Yes. Create an organization, invite members by email, share skills to the org workspace. All unlocked on self-hosted — no plan limits.
How is this different from managing .md files in git?
Git manages files. Praxl manages skills — it knows SKILL.md structure, reviews quality with AI, deploys to the right directories for each tool, tracks which skills get used, and gives you a visual editor with version diffs.
What's a SKILL.md file?
A Markdown file with YAML frontmatter that AI tools load as persistent instructions. Claude Code reads from
~/.claude/skills/, Cursor from ~/.cursor/skills/, etc. Write once, loaded in every session.
Is my data safe?
On self-hosted: your data never leaves your server. API keys encrypted with AES-256-GCM. GDPR tools built in (data export, account deletion). No telemetry, no tracking, no data sent to third parties. Full security model: praxl.app/security
Can I deploy this for my company?
Yes. AGPL-3.0 allows commercial use and self-hosting. If you modify the code and offer it as a hosted service to others, you must open-source your changes. Internal company use with modifications is fine.
Why AGPL-3.0 instead of MIT?
The CLI (
praxl-app) is MIT — embed it freely. The server is AGPL-3.0 to protect against being taken and rehosted as a closed-source SaaS competitor without contributing back. If you only run it inside your own org, AGPL is no different from MIT for you.
AGPL-3.0 — Use, modify, self-host freely. Distribute as a service → open-source your changes.
The CLI (praxl-app on npm) is MIT — embed it anywhere.
⭐ Star this repo if you find it useful
Built by Adam Bartkiewicz · praxl.app










