
Ijoka
- Updated December 16, 2025
- shakestzd/ijoka
ijoka is a Claude Code skill in the Automation & Workflows category. Long-running agent workflow with persistent task management and orchestration
Key points
- ijoka
- Automation & Workflows
- AI-coding skill
Ijoka by the numbers
- Data as of Jul 7, 2026 (Skillselion catalog sync)
/plugin marketplace add shakestzd/ijoka/plugin install ijoka@ijokaAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Last updated | December 16, 2025 |
|---|---|
| Repository | shakestzd/ijoka ↗ |
What it does
Long-running agent workflow with persistent task management and orchestration
README.md
Ijoka
Unified observability and orchestration for AI coding agents - yoking agents together.
Ijoka (Zulu for "yoke") provides a lightweight desktop application and Claude Code plugin that implements Anthropic's long-running agent pattern for coordinating work across multiple AI coding assistants.

Features
- Desktop App — Lightweight Tauri app with system tray, native notifications
- Kanban Board — Visual task management (To Do → In Progress → Done)
- Real-time Sync — Watch
feature_list.jsonand session transcripts - Multi-Agent Support — Claude Code, Codex CLI, Gemini CLI
- Claude Plugin — Hooks, commands, and agents for seamless integration
- Activity Timeline — Track what each agent is doing
- Notifications — Native OS alerts on feature completion
Architecture
┌─────────────────────────────────────────────────────────────┐
│ Ijoka Desktop (Tauri) │
│ - Kanban Board UI │
│ - Activity Timeline │
│ - Progress Stats │
└─────────────────────────────────────────────────────────────┘
▲
SQLite + File Watcher + HTTP Server
│
┌─────────────────────┼─────────────────────┐
│ │ │
┌───┴───┐ ┌────┴────┐ ┌────┴────┐
│ Claude │ │ Codex │ │ Gemini │
│ Code │ │ CLI │ │ CLI │
└────────┘ └─────────┘ └─────────┘
│ │ │
└─────────────────────┴─────────────────────┘
│
feature_list.json
Quick Start
Prerequisites
- Node.js 20+
- pnpm 9+
- Rust 1.75+
- Claude Code (for plugin)
Installation
# Clone the repository
git clone https://github.com/Shakes-tzd/ijoka.git
cd ijoka
# Install dependencies
pnpm install
# Run desktop app in development
pnpm dev
# Build for production
pnpm build
Install Claude Plugin
# From the repo root
pnpm plugin:install
# Or manually
cd packages/claude-plugin
claude /plugin install .
Project Structure
ijoka/
├── apps/
│ └── desktop/ # Tauri desktop application
│ ├── src-tauri/ # Rust backend
│ │ ├── src/
│ │ │ ├── main.rs
│ │ │ ├── db.rs # SQLite database
│ │ │ ├── watcher.rs # File watching
│ │ │ ├── server.rs # HTTP server for hooks
│ │ │ └── commands.rs # Tauri commands
│ │ └── Cargo.toml
│ └── src/ # Vue frontend
│ ├── App.vue
│ └── components/
├── packages/
│ └── claude-plugin/ # Claude Code plugin
│ ├── .claude-plugin/
│ │ └── plugin.json
│ ├── hooks/
│ │ ├── hooks.json
│ │ └── scripts/
│ ├── commands/
│ ├── agents/
│ └── skills/
├── shared/
│ └── types/ # Shared TypeScript types
└── docs/ # Documentation
The Long-Running Agent Pattern
Ijoka implements Anthropic's recommended pattern for multi-session development:
feature_list.json
A persistent task queue that survives across sessions:
[
{
"category": "functional",
"description": "User authentication with OAuth",
"steps": ["Create auth route", "Implement OAuth flow", "Add session management"],
"passes": false
}
]
Agent Workflow
- SessionStart: Agent reads
feature_list.json, picks ONE feature wherepasses: false - Implement: Agent works on the feature, commits incrementally
- Complete: Agent updates ONLY
passes: false → true - SessionEnd: Clean state, no broken code
Why JSON Not Markdown?
"We use strongly-worded instructions like 'It is unacceptable to remove or edit tests.' After experimentation, we landed on JSON as the model is less likely to inappropriately change or overwrite JSON files compared to Markdown." — Anthropic
Plugin Commands
| Command | Description |
|---|---|
/init-project |
Initialize feature_list.json in current project |
/feature-status |
Show completion percentage and next tasks |
/next-feature |
Pick and start the next incomplete feature |
Configuration
Desktop App
Settings are stored in:
- macOS:
~/Library/Application Support/com.ijoka.app/ - Windows:
%APPDATA%\com.ijoka.app\ - Linux:
~/.config/com.ijoka.app/
Database is stored at ~/.ijoka/ijoka.db
Plugin
Configure watched projects in .claude/settings.json:
{
"ijoka": {
"watchedProjects": [
"/path/to/project1",
"/path/to/project2"
],
"syncServerPort": 4000
}
}
Development
# Run desktop app in dev mode
pnpm desktop:dev
# Build desktop app
pnpm desktop:build
# Type check all packages
pnpm typecheck
Contributing
Contributions are welcome! Please read our Contributing Guide first.
License
MIT © Shakes