Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ Third-party plugins built by the community. [PRs welcome](#contributing)!
- [Unity Agent Workflows](https://github.com/AUN-PN/unity-agent-workflows) - Codex plugin and skill for Unity 2D agents that enforces "No proof, no edit" workflows with runtime-owner proof, Teach structure maps, and validation gates.
- [Universal Design Principles](https://github.com/HDeibler/universal-design-principles) - Cross-agent UX and product-design marketplace with a root Codex collection plugin, five focused plugin bundles, and 137 Agent Skills for design review, accessibility, layout, interaction, cognition, and product polish.
- [VibePortrait](https://github.com/dadwadw233/VibePortrait) - Developer personality portrait generator — analyzes AI conversation history to produce MBTI type (16 color themes), capability radar, developer rating, 3-dimension famous match, and a persona skill that lets any AI "think like you".
- [workflow-kit](https://github.com/Le-Xuan-Thang/workflow-kit) - Full product lifecycle plugin for Claude Code, Codex CLI, and OpenCode: define Vision/Mission/Core → generate workplan → execute with mandatory cross-provider reviewer agents → synthesize deliverables → maintain, with parallel task execution, crash recovery, and AgentOps metrics.
- [Writer's Loop](https://github.com/xxsang/writers-loop) - Structured AI writing workflow for planning, critique, revision, translation, style distillation, and opt-in local preference learning.
- [Zagrosi Forge](https://github.com/zagrosi-code/zagrosi-forge) - Decompose broad project briefs into researched plans and implement sectioned work with TDD, quality gates, and traceability.

Expand Down
21 changes: 21 additions & 0 deletions plugins/Le-Xuan-Thang/workflow-kit/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "workflow-kit",
"version": "0.3.0",
"description": "Full product lifecycle plugin: define Vision/Mission/Core → generate workplan → execute with mandatory reviewer agents → synthesize deliverables → maintain. Supports parallel task execution, crash recovery, cross-provider reviewer, and AgentOps metrics.",
"repository": "https://github.com/Le-Xuan-Thang/workflow-kit",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WARNING: Missing required "skills" field in plugin.json

According to the plugin documentation, plugin.json must include a "skills" path pointing to the skills directory. Add a "skills" field (e.g., "./skills/") even if the directory is empty.

"license": "MIT",
"keywords": ["multi-agent", "product-lifecycle", "workflow", "reviewer", "automation"],
"author": {
"name": "Le Xuan Thang",
"email": "lexuanthang.official@gmail.com"
},
"skills": "./skills/",
"interface": {
"displayName": "workflow-kit",
"shortDescription": "AI product lifecycle: Vision → Plan → Execute → Synthesize → Maintain",
"composerIcon": "../assets/icon.svg",
"developerName": "Le Xuan Thang",
"category": "Coding",
"brandColor": "#6366F1"
}
}
29 changes: 29 additions & 0 deletions plugins/Le-Xuan-Thang/workflow-kit/assets/icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
101 changes: 101 additions & 0 deletions plugins/Le-Xuan-Thang/workflow-kit/skills/execute/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
name: execute
description: Use to start the dispatcher loop — every task is executed by a worker agent then validated by a domain-expert reviewer agent before being marked done. Requires at least one pending task. Also triggers when the user says "start building", "run the dispatcher", "execute the workplan", or "start the dev loop". Pass --stop to stop a running dispatcher.
argument-hint: "[--stop]"
allowed-tools: Read, Bash
---

# Workflow Execute

Start the dispatcher. For every task: worker builds → reviewer validates → PASS marks done, FAIL retries, max retries exceeded escalates to user.

## Reviewer gate

After each worker output passes syntax verification:
1. If `reviewers:` is configured in `workflow.yaml` (or per-task `reviewer:` field in the task JSON), a reviewer agent is called with a domain-appropriate system prompt
2. Domain is auto-detected from task description: `code-reviewer`, `editor`, `researcher`, `designer`, `data-scientist`, or `devops`
3. Reviewer responds with PASS or FAIL on the first line, followed by specific feedback
4. On FAIL: feedback is appended to the retry prompt — worker tries again (up to `max_retries`)
5. After `max_retries` FAILs: task is escalated — user sees reviewer's final feedback and chooses: skip / retry with guidance / redesign
6. On PASS (or no reviewer configured): task is marked completed and committed
7. If reviewer LLM is unreachable: treated as PASS to avoid blocking the pipeline

## Step 1: Check prerequisites

```bash
python3 -c "
from workflow_kit.runtime.state import load_state
from pathlib import Path
s = load_state(Path('.'))
print('phase:', s.phase)
" && \
ls workflow/tasks/pending/*.json 2>/dev/null | wc -l | xargs -I{} echo "pending tasks: {}"
```

- Phase not `plan` or `execute`: warn with correct next skill.
- 0 pending tasks: "Run /workflow-kit:plan first."

## Step 2: Handle --stop

If user passes `--stop` or says "stop":
```bash
python -m workflow_kit stop
```
Done.

## Step 3: Check if already running

```bash
cat workflow/dispatcher.pid 2>/dev/null | xargs -I{} kill -0 {} 2>/dev/null && echo "running" || echo "stopped"
```
If running: "Dispatcher already running. Use /workflow-kit:status."

## Step 4: Advance state to 'execute'

```python
from workflow_kit.runtime.state import load_state, save_state
from pathlib import Path
s = load_state(Path('.'))
if s.phase == "plan":
s.transition_to("execute")
save_state(s, Path('.'))
print("Phase: plan → execute")
```

## Step 5: Start dispatcher

```bash
python -m workflow_kit execute &
echo $! > workflow/dispatcher.pid
```

## Step 6: Report

```
✓ Dispatcher started (PID N)

Loop: worker builds → reviewer validates → PASS/FAIL
Max retries: <from workflow.yaml>

Monitor:
/workflow-kit:status — inline progress
/workflow-kit:monitor — live dashboard

When all tasks complete:
/workflow-kit:synthesize — package and review deliverables
```

## Reviewer escalation

When a task fails review max_retries times, the dispatcher pauses and prints:

```
⚠ Task <id> failed review N times
Reviewer (<domain>): <feedback summary>

A) Skip this task
B) Retry with your guidance (describe what to fix)
C) Redesign the task entirely
```

Respond inline — dispatcher waits before continuing.
Loading