github-kanban-board/SKILL.md
Interactive GitHub issues kanban board with agent assignments, due dates, and glassmorphism theming. Fully configurable for any GitHub repository.
npx skillsauth add leprachuan/pot-o-skills github-kanban-boardInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
An interactive, configurable kanban board for managing GitHub issues. Display issues in a beautiful 3-column layout (To Do → In Progress → Done) with intelligent filtering by agent assignments and due dates.
✨ 3-Column Kanban Layout
🏷️ Smart Label Parsing
agent:devops, agent:research → Filter by team memberdue:2026-06-15 → Color-coded urgency (red=overdue, gold=soon, green=future)urgent or urgency:urgent → Highlighted with pulsing animationpriority:high, priority:critical → Highlighted with warning badgestatus:todo, status:in-progress, status:done → Auto-synced🔍 Advanced Filtering
🎨 Professional Design
🔧 Fully Configurable
git clone https://github.com/your-org/pot-o-skills.git
cd pot-o-skills/.github/skills/github-kanban-board
Edit config.json with your GitHub repository:
{
"repository": "your-username/your-repo",
"port": 8888,
"host": "0.0.0.0",
"default_agents": ["devops", "research", "frontend", "backend"]
}
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Always run the server in the background so it persists after the shell exits:
GITHUB_TOKEN=$(gh auth token) WEE_API_KEY=shared_R6R6wReORUV6bouLntScMTowbsh30Rzqa3hzjs3bWgU \
nohup ./venv/bin/python3 scripts/kanban_server.py --port 8888 > /tmp/kanban.log 2>&1 &
echo "PID: $!"
Verify it's up:
curl -s http://localhost:8888/api/config
To check logs: tail -f /tmp/kanban.log
To stop: kill <PID>
Open your browser: http://localhost:8888
Edit config.json to customize:
{
"repository": "owner/repo", // GitHub repo (required)
"port": 8888, // Server port
"host": "0.0.0.0", // Bind to all interfaces (or 127.0.0.1 for localhost)
"default_agents": [], // List of agents for filter dropdown
"enable_status_sync": true // Sync status changes back to GitHub
}
Environment variables override config.json:
# Switch repository dynamically
KANBAN_REPO=org/different-repo nohup ./venv/bin/python3 scripts/kanban_server.py > /tmp/kanban.log 2>&1 &
# Change port
KANBAN_PORT=9999 nohup ./venv/bin/python3 scripts/kanban_server.py > /tmp/kanban.log 2>&1 &
# Bind to specific host
KANBAN_HOST=127.0.0.1 nohup ./venv/bin/python3 scripts/kanban_server.py > /tmp/kanban.log 2>&1 &
# GitHub authentication (required)
GITHUB_TOKEN=ghp_xxxxxxxxxxxx nohup ./venv/bin/python3 scripts/kanban_server.py > /tmp/kanban.log 2>&1 &
The board requires a GitHub personal access token:
# Using gh CLI (recommended) — run in background
GITHUB_TOKEN=$(gh auth token) WEE_API_KEY=shared_R6R6wReORUV6bouLntScMTowbsh30Rzqa3hzjs3bWgU \
nohup ./venv/bin/python3 scripts/kanban_server.py > /tmp/kanban.log 2>&1 &
# Or set manually
export GITHUB_TOKEN=ghp_xxxxxxxxxxxx
nohup ./venv/bin/python3 scripts/kanban_server.py > /tmp/kanban.log 2>&1 &
Permissions Required:
repo (for private repos) ORpublic_repo (for public repos only)Add these labels to your GitHub issues to use all features:
agent:devops
agent:research
agent:frontend
agent:backend
due:2026-06-15
due:2026-12-31
urgent # Mark as urgent with pulsing animation
urgency:urgent # Alternative format
priority:critical
priority:high
priority:medium
priority:low
status:todo
status:in-progress
status:done
agent:devops due:2026-06-20 priority:high urgent
The board will automatically:
status:in-progress labelhttp://localhost:8888
host: "0.0.0.0")http://<your-machine-ip>:8888
If your machine is on Tailscale:
http://<tailscale-ip>:8888
Create a Dockerfile:
FROM python:3.12-slim
WORKDIR /app
COPY . .
RUN python3 -m venv venv
RUN . venv/bin/activate && pip install -r requirements.txt
EXPOSE 8888
CMD ["bash", "-c", "source venv/bin/activate && python3 scripts/kanban_server.py"]
Build and run:
docker build -t github-kanban-board .
docker run -e GITHUB_TOKEN=$GITHUB_TOKEN -p 8888:8888 github-kanban-board
Create /etc/systemd/system/github-kanban.service:
[Unit]
Description=GitHub Kanban Board
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/opt/github-kanban-board
Environment="GITHUB_TOKEN=your-token-here"
ExecStart=/opt/github-kanban-board/venv/bin/python3 /opt/github-kanban-board/scripts/kanban_server.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Enable and start:
sudo systemctl daemon-reload
sudo systemctl enable github-kanban
sudo systemctl start github-kanban
owner/repogh repo view owner/repohost: "0.0.0.0" in config.jsonnetstat -tlnp | grep 8888# Test token validity
gh auth token
# Re-authenticate
gh auth logout
gh auth login
# Find process on port 8888
lsof -i :8888
# Change port in config.json or via env var
KANBAN_PORT=9999 python3 scripts/kanban_server.py
config.json (configuration)
↓
Environment Variables (override)
↓
kanban_server.py (Flask backend)
├── Fetches GitHub issues via PyGithub
├── Parses labels for agent/due-date
└── Serves REST API at /api/issues
index.html (Frontend)
├── Glassmorphism design
├── 3-column kanban layout
├── Drag & drop support
└── Real-time filtering
Fetch all open issues grouped by status.
{
"success": true,
"columns": {
"todo": [...],
"in-progress": [...],
"done": [...]
},
"agents": ["devops", "research"],
"total": 42
}
Update issue status (syncs to GitHub via label).
{
"status": "in-progress"
}
Get server configuration.
{
"repo": "owner/repo",
"port": 8888,
"host": "0.0.0.0",
"default_agents": []
}
cd /mnt/nas/Agents/pot-o-skills/github-kanban-board
GITHUB_TOKEN=$(gh auth token) WEE_API_KEY=shared_R6R6wReORUV6bouLntScMTowbsh30Rzqa3hzjs3bWgU \
nohup ./venv/bin/python3 scripts/kanban_server.py --port 8888 > /tmp/kanban.log 2>&1 &
echo "PID: $!"
# Verify
curl -s http://localhost:8888/api/config
Visit: http://localhost:8888
github-kanban-board/
├── SKILL.md # This documentation
├── config.json # Configuration template
├── requirements.txt # Python dependencies
├── scripts/
│ └── kanban_server.py # Flask backend + CLI
└── assets/
└── index.html # Frontend (HTML/CSS/JS)
scripts/kanban_server.pyassets/index.htmlThis skill contains no hardcoded sensitive information:
Open source - use and modify freely. Attribution appreciated.
For issues or questions:
gh repo view owner/repotail -50 /tmp/kanban.logReady to use! Fork/clone pot-o-skills and customize for your needs.
data-ai
Interactive TODO board for Wee Canvas. Displays TODOs from both GitHub Issues (leprachuan/fosterbot-home) and flat files in two views: list and kanban. Features filtering, drag-and-drop status changes, quick-add, and auto-refresh every 30 seconds. Use when Foster asks to "show TODOs", "open TODO board", "view my tasks", or "TODO kanban".
tools
Web-based terminal tools for Wee Canvas: remote SSH terminal (WebSSH) and local bash terminal (ttyd). Embeds interactive terminal panels in Wee Canvas iframes. Use when the user asks for a 'web terminal', 'local terminal', 'browser SSH', 'webssh', or wants to interact with a host through the WebUI canvas. For browser windows, see the browser-window skill.
development
Use when you need to send WebEx notifications to flipkey-home-bot - supports markdown formatting, auto-retry with backoff, rate limiting, and message history tracking
tools
Production-ready TODO management with dual-source support (GitHub Issues + flat files), due dates, labels, and automatic reminders. Fully portable with environment variable configuration.