loonghao/agentverse/workflow-ci-review-pipeline

Claude Code and agent skill by loonghao/agentverse

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

An agent-driven PR review workflow that constrains step-by-step execution: the agent triages PR scope, branches by review depth, invokes code-reviewer skills, and terminates with approve or request-changes — all guided by a declarative state machine.

Install

npx vskill@latest install loonghao/agentverse/workflow-ci-review-pipeline

SKILL.md

Workflow: CI Review Pipeline

A workflow artifact defines the step-by-step orchestration logic that constrains how an Agent executes. It is a declarative state machine: each step tells the agent what to do, what to write into the shared context, and which condition determines the next step. The agent is the executor — the workflow is the script it must follow.

Core Concepts

ConceptDescription
entryThe first step the agent executes
contextTyped shared state — agents read from and write to it across all steps
decisionA step where the agent reasons and sets context keys (no external skill)
skillA step that invokes an AgentVerse skill and writes outputs to context
transitionsConditional routing rules — evaluated in order after each step
writesDeclares which context keys a step is allowed to modify
__end__Special goto target that terminates the workflow

Workflow Manifest (workflow.toml)

toml
[package]
kind = "workflow"
namespace = "agentverse"
name = "ci-review-pipeline"
description = "Agent-driven PR review: triage → branch by depth → approve or request-changes"
# ── Entry & global settings ───────────────────────────────────────────────────
[workflow]
entry = "triage"
timeout = "30m"
# ── Shared context (typed state the agent reads/writes) ───────────────────────
[workflow.context]
pr_url = { type = "string", required = true }
depth = { type = "string", default = "shallow", enum = ["shallow", "deep"] }
score = { type = "integer", default = 0 }
issues = { type = "array", default = [] }
approved = { type = "boolean", default = false }
# ── Step 1: Triage — agent DECIDES review depth ───────────────────────────────
[[workflow.steps]]
id = "triage"
name = "Triage PR scope"
kind = "decision"
instruction = """
Fetch the PR at {{context.pr_url}} and count the total changed lines.
If > 500 lines or security-sensitive paths are touched, set depth = "deep".
Otherwise set depth = "shallow".
"""
writes = ["depth"]
[[workflow.steps.transitions]]
when = "context.depth == 'deep'"
goto = "full-review"
[[workflow.steps.transitions]]
when = "context.depth == 'shallow'"
goto = "quick-check"
# ── Step 2a: Full review (deep path) ─────────────────────────────────────────
[[workflow.steps]]
id = "full-review"
name = "Full code review"
kind = "skill"
use = "agentverse-ci/code-reviewer@>=0.1.0"
inputs = { diff = "{{context.pr_url}}", rules = ["security", "correctness", "performance", "style"] }
writes = ["score", "issues"]
on_error = "retry"
retry = { max_attempts = 2, backoff = "30s" }
[[workflow.steps.transitions]]
when = "context.score >= 80"
goto = "approve"
[[workflow.steps.transitions]]
when = "context.score < 80"
goto = "request-changes"
# ── Step 2b: Quick check (shallow path) ──────────────────────────────────────
[[workflow.steps]]
id = "quick-check"
name = "Style-only check"
kind = "skill"
use = "agentverse-ci/code-reviewer@>=0.1.0"
inputs = { diff = "{{context.pr_url}}", rules = ["style"] }
writes = ["score", "issues"]
[[workflow.steps.transitions]]
goto = "approve"
# ── Step 3a: Approve ─────────────────────────────────────────────────────────
[[workflow.steps]]
id = "approve"
name = "Post approval comment"
kind = "skill"
use = "agentverse-ci/pr-commenter@>=0.1.0"
inputs = { message = "✅ Review passed (score: {{context.score}})", approve = true }
writes = ["approved"]
[[workflow.steps.transitions]]
goto = "__end__"
# ── Step 3b: Request changes ──────────────────────────────────────────────────
[[workflow.steps]]
id = "request-changes"
name = "Post change requests"
kind = "skill"
use = "agentverse-ci/pr-commenter@>=0.1.0"
inputs = { issues = "{{context.issues}}", score = "{{context.score}}", approve = false }
[[workflow.steps.transitions]]
goto = "__end__"
[metadata]
tags = ["workflow", "agent", "state-machine", "branching", "code-review"]
homepage = "https://github.com/loonghao/agentverse"
license = "MIT"

State Machine Diagram

┌──────────┐ depth='deep' ┌─────────────┐ score>=80 ┌─────────┐
│ triage │────────────────▶│ full-review │────────────▶│ approve │──▶ __end__
│(decision)│ │ (skill) │ score<80 └─────────┘
│ │ └─────────────┘────────────▶┌──────────────────┐
│ │ depth='shallow' ┌─────────────┐ │ request-changes │──▶ __end__
│ │────────────────▶│ quick-check │────────────▶└──────────────────┘
└──────────┘ │ (skill) │ (unconditional)
└─────────────┘

The agent follows this state machine step by step:

  1. `triage` — agent reasons about PR size and writes depth to context
  2. Transitions route to `full-review` or `quick-check` based on depth
  3. Each review step writes score and issues to context
  4. Transitions route to `approve` or `request-changes` based on score
  5. Terminal steps go to `__end__`

AgentVerse Content (content.json)

json
{
"schema_version": "1.0",
"kind": "workflow",
"entry": "triage",
"context": {
"pr_url": { "type": "string", "required": true },
"depth": { "type": "string", "default": "shallow", "enum": ["shallow","deep"] },
"score": { "type": "integer", "default": 0 },
"issues": { "type": "array", "default": [] },
"approved": { "type": "boolean", "default": false }
},
"steps": [
{
"id": "triage", "kind": "decision",
"instruction": "Count changed lines in {{context.pr_url}}. Set depth='deep' if >500.",
"writes": ["depth"],
"transitions": [
{ "when": "context.depth == 'deep'", "goto": "full-review" },
{ "when": "context.depth == 'shallow'", "goto": "quick-check" }
]
},
{
"id": "full-review", "kind": "skill",
"use": "agentverse-ci/code-reviewer@>=0.1.0",
"inputs": { "diff": "{{context.pr_url}}", "rules": ["security","correctness","performance","style"] },
"writes": ["score","issues"],
"on_error": "retry", "retry": { "max_attempts": 2, "backoff": "30s" },
"transitions": [
{ "when": "context.score >= 80", "goto": "approve" },
{ "when": "context.score < 80", "goto": "request-changes" }
]
},
{
"id": "quick-check", "kind": "skill",
"use": "agentverse-ci/code-reviewer@>=0.1.0",
"inputs": { "diff": "{{context.pr_url}}", "rules": ["style"] },
"writes": ["score","issues"],
"transitions": [{ "goto": "approve" }]
},
{
"id": "approve", "kind": "skill",
"use": "agentverse-ci/pr-commenter@>=0.1.0",
"inputs": { "message": "✅ Review passed (score: {{context.score}})", "approve": true },
"writes": ["approved"],
"transitions": [{ "goto": "__end__" }]
},
{
"id": "request-changes", "kind": "skill",
"use": "agentverse-ci/pr-commenter@>=0.1.0",
"inputs": { "issues": "{{context.issues}}", "score": "{{context.score}}", "approve": false },
"transitions": [{ "goto": "__end__" }]
}
]
}

Publish and Run

bash
# Publish the workflow
agentverse publish --file workflow.toml
# → Published workflow agentverse/ci-review-pipeline@0.1.0
# Run with initial context (agent executes step by step)
agentverse run --kind workflow --namespace agentverse --name ci-review-pipeline \
--context pr_url=https://github.com/org/repo/pull/42

Framework Compatibility

FrameworkMapping
LangGraphSteps → nodes; transitions → conditional edges; context → state
CrewAI FlowsSteps → @listen/@router; context → self.state
OpenAI SwarmSteps → routines; agent steps → handoffs
PrefectSteps → tasks; parallel → asyncio.gather; loop → retry

Notes

  • Context is the single source of truth — all steps read from and write to it.
  • `writes` is enforced — a step cannot touch context keys it hasn't declared.
  • `decision` steps require no external tool — the agent itself reasons and writes.
  • Transitions are ordered — the first matching when wins; omit when for a catch-all.
  • Combine with a soul artifact to give the agent a consistent persona across all steps.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
5

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/loonghao/agentverse/workflow-ci-review-pipeline/badge)](https://verified-skill.com/skills/loonghao/agentverse/workflow-ci-review-pipeline)

Something wrong with this skill or its page? Tell us.