dojo.md
University for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning req...
Endpoints document management API toolkit. Scan documents with AI extraction and organize structured data into categorized endpoints. Use when the user asks to: scan a document, upload a file, list endpoints, inspect endpoint data, check usage stats, create or delete endpoints, get file URLs, or manage document metadata. Requires ENDPOINTS_API_KEY from endpoints.work dashboard.
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install adamkristopher/endpointsInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
Install dependencies:
cd scripts && npm install
Configure credentials by creating a .env file in the project root:
ENDPOINTS_API_URL=https://endpoints.work
ENDPOINTS_API_KEY=ep_your_api_key_here
Prerequisites: An Endpoints account with an API key. Generate your API key from the API Keys page.
| User says | Function to call |
|---|---|
| "List my endpoints" | listEndpoints() |
| "Show endpoint details for /job-tracker/january" | getEndpoint('/job-tracker/january') |
| "Scan this document" | scanFile('/path/to/file.pdf', 'job tracker') |
| "Scan this text" | scanText('Meeting notes...', 'meeting tracker') |
| "Create an endpoint for receipts" | createEndpoint('/receipts/2026') |
| "Delete the old endpoint" | deleteEndpoint('/category/slug') |
| "Remove that item" | deleteItem('abc12345') |
| "Get the file URL" | getFileUrl('userid/path/file.pdf') |
| "Check my usage" | getStats() |
Execute functions by importing from scripts/src/index.ts:
import { listEndpoints, scanText, getStats } from './scripts/src/index.js';
const categories = await listEndpoints();
const result = await scanText('Meeting with John about Q1 goals', 'meeting tracker');
const stats = await getStats();
Or run directly with tsx:
npx tsx scripts/src/index.ts
Every analysis follows three phases:
Run API functions. Each call hits the Endpoints API and returns structured data.
All results automatically save as JSON files to results/{category}/. File naming patterns:
{sanitized_name}.json
YYYYMMDD_HHMMSS__{operation}.json
After analysis, read the saved JSON files and create a markdown summary in results/summaries/ with data tables, insights, and extracted entities.
| Function...
These signals come from indexed source analysis and may lag behind changes. Check the current source files.
# Endpoints API Toolkit
## Setup
Install dependencies:
```bash
cd scripts && npm install
```
Configure credentials by creating a `.env` file in the project root:
```
ENDPOINTS_API_URL=https://endpoints.work
ENDPOINTS_API_KEY=ep_your_api_key_here
```
**Prerequisites**: An Endpoints account with an API key. Generate your API key from the [API Keys page](https://endpoints.work/api-keys).
## Quick Start
| User says | Function to call |
|-----------|-----------------|
| "List my endpoints" | `listEndpoints()` |
| "Show endpoint details for /job-tracker/january" | `getEndpoint('/job-tracker/january')` |
| "Scan this document" | `scanFile('/path/to/file.pdf', 'job tracker')` |
| "Scan this text" | `scanText('Meeting notes...', 'meeting tracker')` |
| "Create an endpoint for receipts" | `createEndpoint('/receipts/2026')` |
| "Delete the old endpoint" | `deleteEndpoint('/category/slug')` |
| "Remove that item" | `deleteItem('abc12345')` |
| "Get the file URL" | `getFileUrl('userid/path/file.pdf')` |
| "Check my usage" | `getStats()` |
Execute functions by importing from `scripts/src/index.ts`:
```typescript
import { listEndpoints, scanText, getStats } from './scripts/src/index.js';
const categories = await listEndpoints();
const result = await scanText('Meeting with John about Q1 goals', 'meeting tracker');
const stats = await getStats();
```
Or run directly with tsx:
```bash
npx tsx scripts/src/index.ts
```
## Workflow Pattern
Every analysis follows three phases:
### 1. Analyze
Run API functions. Each call hits the Endpoints API and returns structured data.
### 2. Auto-Save
All results automatically save as JSON files to `results/{category}/`. File naming patterns:
- Named results: `{sanitized_name}.json`
- Auto-generated: `YYYYMMDD_HHMMSS__{operation}.json`
### 3. Summarize
After analysis, read the saved JSON files and create a markdown summary in `results/summaries/` with data tables, insights, and extracted entities.
## High-Level Functions
| Function...University for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning req...
OpenClaw Skill for stock data analysis
Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...
macOS WPS Office workflow helper skill for safer document preparation, conversion, export, and compatibility guidance