https://github.com/skullzarmy/skillerizer
Feed a website, get a comprehensive skill on how to use it, or the information it contains.
https://github.com/skullzarmy/skillerizer
ai-agents copilot-sdk llm skills skills-md
Last synced: about 1 month ago
JSON representation
Feed a website, get a comprehensive skill on how to use it, or the information it contains.
- Host: GitHub
- URL: https://github.com/skullzarmy/skillerizer
- Owner: skullzarmy
- License: unlicense
- Created: 2026-03-24T17:18:11.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-03-24T21:23:39.000Z (4 months ago)
- Last Synced: 2026-03-25T22:56:06.177Z (4 months ago)
- Topics: ai-agents, copilot-sdk, llm, skills, skills-md
- Language: JavaScript
- Homepage:
- Size: 127 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🎯 Skillerizer
**Feed a website or any content source, get a comprehensive Claude-style `skills.md` document.**
Skillerizer is a locally-hosted web interface powered by the [**GitHub Copilot SDK**](https://github.com/github/copilot-sdk). It uses an agentic pipeline backed by Copilot's production-tested agent runtime. It has an upfront conversation to understand exactly what kind of skill you need — interactive guidance, knowledge extraction, or both — then coordinates multiple specialised AI agents to produce a high-quality `skills.md` document ready for use as AI agent context.

---
## Features
- 🗣️ **Upfront clarification conversation** — the AI asks focused questions to understand your intent before generating anything
- 🤖 **Agentic pipeline** powered by `@github/copilot-sdk`:
- **Clarifier** — captures skill purpose, consumer, and emphasis (persistent SDK session)
- **Analyzer** — classifies the source as `interaction`, `extraction`, or `hybrid` and extracts structured facts (ephemeral SDK session)
- **Writer** — streams a complete, well-formatted `skills.md` document (ephemeral SDK session with streaming)
- 🔗 **URL or paste** — fetch any public URL, or paste raw text/docs directly
- ⚡ **Real-time streaming** via SSE — watch the skill being written token by token
- 📋 **Copy / Download** the final `skills.md` with one click
- 🎨 **Modern dark-theme UI** — buttery-smooth, zero external framework dependencies
- 🔑 **BYOK support** — use your own OpenAI, Anthropic, or Ollama keys via the SDK's provider config
---
## Quickstart
### 1. Prerequisites
- **Node.js ≥ 18**
- **GitHub Copilot CLI** installed and in your PATH ([installation guide](https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli))
```bash
copilot --version # verify it's installed
```
- A **GitHub Copilot subscription** (free tier available), or BYOK API keys
### 2. Install & configure
```bash
git clone https://github.com/skullzarmy/skillerizer
cd skillerizer
npm install
# Optional — only needed for BYOK providers (OpenAI, Anthropic, Ollama)
cp .env.example .env
```
### 3. Run
```bash
npm start
# → http://localhost:3000
```
Or for development with auto-reload:
```bash
npm run dev
```
---
## Configuration (`.env`)
> **If you're using the default GitHub Copilot provider**, you don't need to configure any environment variables. The GitHub Copilot CLI handles authentication automatically once installed and logged in (`copilot auth login`). The `.env` file is only needed for **BYOK (Bring Your Own Key)** setups when using a non-GitHub provider like OpenAI, Anthropic, or Ollama.
| Variable | Default | Description |
| ------------------- | --------------------------- | ------------------------------------------------------------- |
| `GITHUB_TOKEN` | — | GitHub token (only needed if not using Copilot CLI auth) |
| `LLM_PROVIDER` | `github` | `github` \| `openai` \| `ollama` \| `anthropic` |
| `OPENAI_API_KEY` | — | Required if `LLM_PROVIDER=openai` |
| `OLLAMA_BASE_URL` | `http://localhost:11434/v1` | Override if `LLM_PROVIDER=ollama` |
| `ANTHROPIC_API_KEY` | — | Required if `LLM_PROVIDER=anthropic` |
| `LLM_MODEL` | `gpt-4o-mini` | Override model (e.g. `gpt-4o`, `claude-sonnet-4.5`, `llama3`) |
| `PORT` | `3000` | HTTP server port |
---
## How It Works
```
User provides URL / pasted text
│
▼
┌─────────────┐
│ Clarifier │ ← Persistent SDK session; asks 1-2 questions per turn
└─────────────┘ until intent is fully understood
│
▼
┌─────────────┐
│ Analyzer │ ← Ephemeral SDK session; classifies & extracts JSON
└─────────────┘
│
▼
┌─────────────┐
│ Writer │ ← Ephemeral SDK session w/ streaming; writes skills.md
└─────────────┘
│
▼
Final skills.md → Copy / Download
```
Each agent is a **Copilot SDK session** with a specialised system prompt. The SDK manages conversation history, model interaction, and the underlying Copilot CLI process.
---
## API
| Method | Path | Description |
| ------ | -------------------------------- | ------------------------------ |
| `POST` | `/api/session` | Create new session → `{id}` |
| `POST` | `/api/session/:id/source` | Attach URL or text |
| `POST` | `/api/session/:id/clarify/start` | Trigger first AI question |
| `POST` | `/api/session/:id/message` | Send a chat reply |
| `GET` | `/api/session/:id/generate` | SSE stream — run full pipeline |
| `GET` | `/api/session/:id` | Session state |
---
## Project Structure
```
skillerizer/
├── server.js # Express entry point + Copilot SDK lifecycle
├── src/
│ ├── config.js # CopilotClient singleton + session factory + BYOK
│ ├── agents/
│ │ ├── clarifier.js # Clarification agent (persistent SDK session)
│ │ ├── analyzer.js # Content analysis agent (ephemeral SDK session)
│ │ ├── writer.js # skills.md generation agent (streaming SDK session)
│ │ └── orchestrator.js# Pipeline coordinator
│ ├── tools/
│ │ └── fetcher.js # URL → clean text extractor
│ └── routes/
│ └── api.js # REST + SSE routes + SDK session management
└── public/
├── index.html
├── css/main.css
└── js/app.js
```