How patrickbrandao/purple-skills works
Purple Skills hosts reusable AI-agent skills and exposes them through a public catalog site, an administration panel, and public and administrative MCP servers. The main workflow is publishing or importing a skill, managing its access and catalog links, then letting visitors or agents discover and retrieve it. PostgreSQL stores catalog and account state; an optional RAG subsystem adds semantic search, with an indexer maintaining search data. The homepage is a separate static project overview. Relationships for unsampled services are limited to capabilities and wiring documented in the README; source excerpts provide more specific MCP dispatch and database/RAG evidence.
Main entry points: queries.ts Catalog queries · server.ts Admin MCP · api.ts Admin service · tools.ts Public MCP handlers
Components 20
Presentation
- Project homepage
apps/homepage/web/src/App.tsx
Catalog Experience
- Public catalog UI
apps/site/web/src/pages/SkillPage.tsx - Public site service
apps/site/src/index.ts
Administration
- Admin panel
apps/admin/web/src/App.tsx - Admin service
apps/admin/src/api.ts - Admin RAG controls
apps/admin/src/rag.ts
MCP Services
- Admin MCP
apps/mcp-admin/src/server.ts - Admin MCP handlers
apps/mcp-admin/src/tools.ts - Catalog handlers
apps/mcp-admin/src/catalogs.ts - Virtual MCP handlers
apps/mcp-admin/src/mcps.ts - Public MCP
apps/mcp-public/src/server.ts - Public MCP handlers
apps/mcp-public/src/tools.ts - Public MCP RAG adapter
apps/mcp-public/src/rag.ts
Data and Search
- Database connection
database/src/client.ts - Catalog queries
database/src/queries.ts - PostgreSQL schema
database/src/schema.ts - RAG search
packages/rag/src/search.ts - RAG drivers and settings
packages/rag/src/settings.ts - Search indexer
apps/indexer/src/indexer.ts
Other components
- Visitor or agent
Connections 23
- Visitor or agent → Project homepage: views overview
apps/homepage/web/src/App.tsx - Visitor or agent → Public catalog UI: browses skills
README.md - Public catalog UI → Public site service: requests catalog
README.md - Visitor or agent → Admin panel: manages catalog
README.md - Admin panel → Admin service: calls API
- Admin service → Catalog queries: reads and writes
README.md - Admin MCP → Admin MCP handlers: dispatches tools
apps/mcp-admin/src/server.ts - Admin MCP → Catalog handlers: dispatches catalog tools
apps/mcp-admin/src/server.ts - Admin MCP → Virtual MCP handlers: dispatches MCP tools
apps/mcp-admin/src/server.ts - Admin MCP handlers → Catalog queries: manages skills
README.md - Catalog handlers → Catalog queries: manages catalogs
README.md - Virtual MCP handlers → Catalog queries: manages virtual MCPs
README.md - Visitor or agent → Public MCP: uses MCP tools
README.md - Public MCP → Public MCP handlers: dispatches tools
apps/mcp-public/src/server.ts - Public MCP handlers → Catalog queries: discovers and reads
README.md - Database connection → PostgreSQL schema: binds schema
database/src/client.ts - Catalog queries → Database connection: uses connection
database/src/queries.ts - Admin service → Admin RAG controls: exposes search settings
README.md - Admin RAG controls → Catalog queries: stores RAG settings
apps/admin/src/rag.ts - Public MCP handlers → Public MCP RAG adapter: requests semantic search
apps/mcp-public/src/tools.ts - Public MCP RAG adapter → RAG search: configures search
apps/mcp-public/src/rag.ts - RAG search → RAG drivers and settings: resolves driver
packages/rag/src/search.ts - Search indexer → RAG drivers and settings: uses RAG drivers
apps/indexer/src/indexer.ts