← Back to Blog

How to Run an AI GitHub Productivity Agent with OE Runtime

Get a clear picture of your GitHub repository's health in seconds. OE Runtime fetches open issues and pull requests, triages by age and label, flags what is stale or unreviewed, and delivers a prioritised action list — no manual triage required.

🐙
Step 1
Fetch Repository Activity
Get up to 20 open issues and 10 open PRs sorted by last updated with title, author, labels, and age.
Step 2
Triage & Prioritise
Flag stale items, group issues by label, find unreviewed PRs, and identify bugs with no linked PR.
Step 3
Report
Produce a repository health summary with issue breakdown, PR status, urgent items, and recommended next actions.

What You Need


Create the Project Folder

Create a folder called productivity-crm/ and add these two files:

productivity-crm/
├── SKILL.md         # the portable skill (agentskills.io)
├── agent.yaml       # wires SKILL.md to your connector
└── oe-config.json  # LLM key + connector credentials

The Skill Files

Create SKILL.md inside a productivity-crm/ directory. This is the portable skill — it follows the agentskills.io format and runs unchanged on Claude, Cursor, Windsurf, or OE Runtime:

---
name: productivity-crm
description: Summarize open issues and PRs in a repository
license: Apache-2.0
metadata:
  author: Open Enthrium
  version: "1.0"
---

You are a GitHub assistant. Fetch repository activity, summarize open issues and pull requests,
and identify what needs immediate attention.
Complete all steps fully before writing your report.

## Step 1: Fetch Repository Activity
Using the GitHub connector, fetch:
- All open issues (up to 20), sorted by most recently updated
- All open pull requests (up to 10), sorted by most recently updated
For each, note: title, author, labels, created date, and days open.

## Step 2: Triage and Prioritize
From the fetched issues and PRs:
- Flag any issue or PR open for more than 14 days as stale
- Group issues by label (bug, enhancement, question, other)
- Identify PRs that have no reviewers assigned
- Find any issues marked as "bug" that have no assigned PR

## Step 3: Report
Produce a repository health summary:
- Open issues: total, breakdown by label, stale count
- Open PRs: total, unreviewed count, stale count
- Top 3 most urgent issues (bugs with no PR)
- Recommended next actions

Create agent.yaml in the same directory to wire the skill to your connector:

name: GitHub Assistant
description: Summarize open issues and PRs in a repository
connectors:
  - connection_name: GitHub
    connection_type: github
skills:
  - path: ./
    trigger_type: auto

The Config File

Create oe-config.json in the same directory:

{
  "llm": {
    "provider": "openai",
    "model": "gpt-4o",
    "apiKey": "YOUR_OPENAI_API_KEY"
  },
  "server": {
    "enabled": false,
    "port": 3333,
    "apiKey": "your-secret-api-key"
  },
  "connectors": [
    {
      "connection_name": "GitHub",
      "connection_type": "github",
      "token": "ghp_YOUR_GITHUB_PERSONAL_ACCESS_TOKEN",
      "owner": "your-org",
      "repo": "your-repo"
    }
  ]
}

Create a Personal Access Token at github.com/settings/tokens with repo scope. Replace your-org and your-repo with your organisation and repository names.

Download OE Runtime

OE Runtime — Direct Downloads

Run the Agent

From the parent folder containing your skill directory:

MethodBest forDownload
1 npx recommended No install needed — always runs the latest version —
2 Windows .exe Download once, run offline on Windows ⊞ Windows (.exe)
3 macOS binary Download once, run offline on Mac  macOS
4 Linux binary Server deployments, cron jobs, Docker 🐧 Linux
5 API Server integration Call from any app, webhook, or automation pipeline 📮 Postman Collection

1 npx recommended

npx -y @openenthrium/oe-runtime@latest ./productivity-crm

2 Windows

oe-runtime-win.exe ./productivity-crm

3 macOS

chmod +x oe-runtime-macos
./oe-runtime-macos ./productivity-crm

First run blocked? System Settings → Privacy & Security → Allow Anyway.

4 Linux

chmod +x oe-runtime-linux
./oe-runtime-linux ./productivity-crm

5 API Server integration

Add a "server" block to oe-config.json, then start with --serve:

{
  "llm": { ... },
  "server": { "enabled": true, "port": 3333, "apiKey": "your-secret-key" },
  "connectors": [ ... ]
}
npx -y @openenthrium/oe-runtime@latest --serve --config oe-config.json

Run with inline YAML:

curl -X POST http://localhost:3333/run \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your-secret-key" \
  -d '{"yaml": "...", "params": {}}'

Or run from a file on the server:

curl -X POST http://localhost:3333/run-file \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your-secret-key" \
  -d '{"file": "/path/to/agent.yaml", "params": {}}'

Use Cases

Build your own agents with OE Runtime

Download OE Runtime and run any AI agent locally or as a server — no cloud required.

Get OE Runtime →
Series OE Runtime Agent Guides — 21 Connectors
Series overview →