Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 730115b418 |
@@ -0,0 +1,76 @@
|
||||
---
|
||||
name: code-review-agent
|
||||
version: 1.0.0
|
||||
description: Automate code review process using a multi-step workflow with human-in-the-loop
|
||||
approval.
|
||||
inputs:
|
||||
- Repository diff or code changeset (string)
|
||||
- User ID (string)
|
||||
steps:
|
||||
- 'Step 1: Build the code review graph using `build_graph()` from `agentkit.workflow.code_review.graph`'
|
||||
- 'Step 2: Invoke the graph with initial parameters including the repository diff
|
||||
and user ID, and set thread_id as a configurable parameter'
|
||||
- 'Step 3: The graph processes the input through various steps until completion or
|
||||
human approval is needed'
|
||||
outputs:
|
||||
- Review result (dictionary containing messages, issues, etc.)
|
||||
tags: []
|
||||
metadata:
|
||||
source_repo: https://github.com/itszhaoziyan-n/AgentKit.git
|
||||
extracted_at: ''
|
||||
confidence: 0.95
|
||||
---
|
||||
|
||||
# code-review-agent
|
||||
|
||||
Automate code review process using a multi-step workflow with human-in-the-loop approval.
|
||||
|
||||
## Setup
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
```text
|
||||
pip install langgraph>=0.3 langchain-core>=0.3 langchain-anthropic>=0.3 langfuse>=2.0 mcp[server]>=1.24,<2.0 langchain-mcp-adapters>=0.1 tenacity>=9.0
|
||||
```
|
||||
|
||||
**Setup steps:**
|
||||
|
||||
1. cp .env.example .env
|
||||
1. docker compose up -d
|
||||
1. pip install -e '.[dev]'
|
||||
|
||||
## Key Files
|
||||
|
||||
- `agentkit/workflow/code_review/graph.py - Defines the code review graph and its invocation method.`
|
||||
|
||||
## Steps
|
||||
|
||||
1. Step 1: Build the code review graph using `build_graph()` from `agentkit.workflow.code_review.graph`
|
||||
2. Step 2: Invoke the graph with initial parameters including the repository diff and user ID, and set thread_id as a configurable parameter
|
||||
3. Step 3: The graph processes the input through various steps until completion or human approval is needed
|
||||
|
||||
## Implementation Details
|
||||
|
||||
```python
|
||||
graph = build_graph()
|
||||
thread_id = str(uuid.uuid4())
|
||||
result = graph.invoke(...)
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
- Repository diff or code changeset (string)
|
||||
- User ID (string)
|
||||
|
||||
## Outputs
|
||||
|
||||
- Review result (dictionary containing messages, issues, etc.)
|
||||
|
||||
## Failure Modes
|
||||
|
||||
- Specific failure scenario with mitigation: If the graph invocation fails due to an unexpected state, it will halt and require manual intervention.
|
||||
|
||||
## Source
|
||||
|
||||
Extracted from: [https://github.com/itszhaoziyan-n/AgentKit.git](https://github.com/itszhaoziyan-n/AgentKit.git)
|
||||
Confidence: 0.95
|
||||
@@ -0,0 +1,6 @@
|
||||
# Commands: code-review-agent
|
||||
|
||||
## Available Commands
|
||||
|
||||
- `/skill code-review-agent` — Load this skill
|
||||
- `/run code-review-agent` — Execute workflow
|
||||
@@ -0,0 +1,10 @@
|
||||
# Examples: code-review-agent
|
||||
|
||||
## Usage Example
|
||||
|
||||
```python
|
||||
# How to use this skill
|
||||
# Inputs: Repository diff or code changeset (string), User ID (string)
|
||||
# Process: Step 1: Build the code review graph using `build_graph()` from `agentkit.workflow.code_review.graph` → Step 2: Invoke the graph with initial parameters including the repository diff and user ID, and set thread_id as a configurable parameter → Step 3: The graph processes the input through various steps until completion or human approval is needed
|
||||
# Outputs: Review result (dictionary containing messages, issues, etc.)
|
||||
```
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "code-review-agent",
|
||||
"version": "1.0.0",
|
||||
"goal": "Automate code review process using a multi-step workflow with human-in-the-loop approval.",
|
||||
"inputs": [
|
||||
"Repository diff or code changeset (string)",
|
||||
"User ID (string)"
|
||||
],
|
||||
"steps": [
|
||||
"Step 1: Build the code review graph using `build_graph()` from `agentkit.workflow.code_review.graph`",
|
||||
"Step 2: Invoke the graph with initial parameters including the repository diff and user ID, and set thread_id as a configurable parameter",
|
||||
"Step 3: The graph processes the input through various steps until completion or human approval is needed"
|
||||
],
|
||||
"outputs": [
|
||||
"Review result (dictionary containing messages, issues, etc.)"
|
||||
],
|
||||
"failure_modes": [
|
||||
"Specific failure scenario with mitigation: If the graph invocation fails due to an unexpected state, it will halt and require manual intervention."
|
||||
],
|
||||
"confidence": 0.95,
|
||||
"explanation": "This workflow is reusable for any code review process that requires a multi-step analysis with human-in-the-loop approval.",
|
||||
"source_repo": "https://github.com/itszhaoziyan-n/AgentKit.git",
|
||||
"score": 1.0
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
# Tests: code-review-agent
|
||||
|
||||
## Test Checklist
|
||||
|
||||
- [ ] Workflow has at least 3 steps
|
||||
- [ ] All inputs are defined
|
||||
- [ ] All outputs are defined
|
||||
- [ ] Failure modes are documented
|
||||
- [ ] Skill can be loaded without errors
|
||||
@@ -1,62 +1,96 @@
|
||||
---
|
||||
name: unifai-workflow-execution
|
||||
version: 1.0.0
|
||||
description: Execute a multi-agent AI workflow defined in YAML or through the UI's
|
||||
drag-and-drop editor.
|
||||
description: Execute a multi-agent workflow on the UnifAI platform using a specified
|
||||
blueprint and user prompt.
|
||||
inputs:
|
||||
- name: blueprint_path
|
||||
description: Path to the blueprint file (YAML) defining the multi-agent workflow.
|
||||
- name: execution_mode
|
||||
description: 'Execution mode: ''local'' or ''distributed''.'
|
||||
- blueprint_id or blueprint_name
|
||||
- user_shortcut
|
||||
- user_question
|
||||
steps:
|
||||
- step_name: Load Blueprint
|
||||
description: Parse and validate the blueprint file to ensure it conforms to expected
|
||||
structure.
|
||||
- step_name: Initialize Execution Engine
|
||||
description: Set up the execution engine based on the selected mode ('local' or
|
||||
'distributed').
|
||||
- step_name: Execute Workflow
|
||||
description: Run the multi-agent workflow, streaming node-by-node output as NDJSON
|
||||
over HTTP.
|
||||
- step_name: Stream Results
|
||||
description: Render and stream results in real time to clients subscribing to the
|
||||
event stream.
|
||||
- 'Step 1: Resolve the blueprint ID from either direct ID or name lookup (resolve_blueprint_id
|
||||
method)'
|
||||
- 'Step 2: Create a new session from the blueprint (create_session method)'
|
||||
- 'Step 3: Submit the session for background execution with the user prompt (submit_session
|
||||
method)'
|
||||
- 'Step 4: Poll session status until execution completes (poll_session_status method)'
|
||||
outputs:
|
||||
- name: execution_results
|
||||
description: The output of the executed workflow, streamed as NDJSON over HTTP.
|
||||
- session_id
|
||||
- workflow_id
|
||||
tags: []
|
||||
metadata:
|
||||
source_repo: https://github.com/redhat-community-ai-tools/UnifAI.git
|
||||
extracted_at: ''
|
||||
confidence: 0.9
|
||||
confidence: 0.95
|
||||
---
|
||||
|
||||
# unifai-workflow-execution
|
||||
|
||||
Execute a multi-agent AI workflow defined in YAML or through the UI's drag-and-drop editor.
|
||||
Execute a multi-agent workflow on the UnifAI platform using a specified blueprint and user prompt.
|
||||
|
||||
## Setup
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
```text
|
||||
pip install requests urllib3
|
||||
```
|
||||
|
||||
**Setup steps:**
|
||||
|
||||
1. Install required dependencies using pip install requests urllib3
|
||||
1. Ensure the environment variables are set correctly (BLUEPRINT_ID, BLUEPRINT_NAME, USER_SHORTCUT, POLLING_INTERVAL, UNIFAI_BASE_URL)
|
||||
|
||||
## Key Files
|
||||
|
||||
- `scripts/execution_workflow.py - Main script for workflow execution`
|
||||
|
||||
## Steps
|
||||
|
||||
1. {'step_name': 'Load Blueprint', 'description': 'Parse and validate the blueprint file to ensure it conforms to expected structure.'}
|
||||
2. {'step_name': 'Initialize Execution Engine', 'description': "Set up the execution engine based on the selected mode ('local' or 'distributed')."}
|
||||
3. {'step_name': 'Execute Workflow', 'description': 'Run the multi-agent workflow, streaming node-by-node output as NDJSON over HTTP.'}
|
||||
4. {'step_name': 'Stream Results', 'description': 'Render and stream results in real time to clients subscribing to the event stream.'}
|
||||
1. Step 1: Resolve the blueprint ID from either direct ID or name lookup (resolve_blueprint_id method)
|
||||
2. Step 2: Create a new session from the blueprint (create_session method)
|
||||
3. Step 3: Submit the session for background execution with the user prompt (submit_session method)
|
||||
4. Step 4: Poll session status until execution completes (poll_session_status method)
|
||||
|
||||
## Implementation Details
|
||||
|
||||
```python
|
||||
resolve_blueprint_id(client: UnifAIClient) -> str
|
||||
{...}
|
||||
# Resolve the blueprint ID from either direct ID or name lookup.
|
||||
```
|
||||
|
||||
```python
|
||||
create_session(client: UnifAIClient, blueprint_id: str) -> str
|
||||
{...}
|
||||
# Create a new session from the blueprint.
|
||||
```
|
||||
|
||||
```python
|
||||
submit_session(client: UnifAIClient, session_id: str) -> dict
|
||||
{...}
|
||||
# Submit the session for background execution with the user prompt.
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
- {'name': 'blueprint_path', 'description': 'Path to the blueprint file (YAML) defining the multi-agent workflow.'}
|
||||
- {'name': 'execution_mode', 'description': "Execution mode: 'local' or 'distributed'."}
|
||||
- blueprint_id or blueprint_name
|
||||
- user_shortcut
|
||||
- user_question
|
||||
|
||||
## Outputs
|
||||
|
||||
- {'name': 'execution_results', 'description': 'The output of the executed workflow, streamed as NDJSON over HTTP.'}
|
||||
- session_id
|
||||
- workflow_id
|
||||
|
||||
## Failure Modes
|
||||
|
||||
- {'mode_name': 'Invalid Blueprint', 'description': 'Blueprint file is not valid YAML or does not conform to expected structure.'}
|
||||
- {'mode_name': 'Execution Engine Initialization Failure', 'description': 'Failed to initialize the execution engine due to configuration issues or missing dependencies.'}
|
||||
- Blueprint name not found or not unique - error during blueprint resolution
|
||||
- Session creation fails - error from API response
|
||||
- Session submission fails - error from API response
|
||||
- Polling session status fails - error from API response
|
||||
|
||||
## Source
|
||||
|
||||
Extracted from: [https://github.com/redhat-community-ai-tools/UnifAI.git](https://github.com/redhat-community-ai-tools/UnifAI.git)
|
||||
Confidence: 0.9
|
||||
Confidence: 0.95
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
```python
|
||||
# How to use this skill
|
||||
# Inputs: {'name': 'blueprint_path', 'description': 'Path to the blueprint file (YAML) defining the multi-agent workflow.'}, {'name': 'execution_mode', 'description': "Execution mode: 'local' or 'distributed'."}
|
||||
# Process: {'step_name': 'Load Blueprint', 'description': 'Parse and validate the blueprint file to ensure it conforms to expected structure.'} → {'step_name': 'Initialize Execution Engine', 'description': "Set up the execution engine based on the selected mode ('local' or 'distributed')."} → {'step_name': 'Execute Workflow', 'description': 'Run the multi-agent workflow, streaming node-by-node output as NDJSON over HTTP.'}
|
||||
# Outputs: {'name': 'execution_results', 'description': 'The output of the executed workflow, streamed as NDJSON over HTTP.'}
|
||||
# Inputs: blueprint_id or blueprint_name, user_shortcut, user_question
|
||||
# Process: Step 1: Resolve the blueprint ID from either direct ID or name lookup (resolve_blueprint_id method) → Step 2: Create a new session from the blueprint (create_session method) → Step 3: Submit the session for background execution with the user prompt (submit_session method)
|
||||
# Outputs: session_id, workflow_id
|
||||
```
|
||||
|
||||
@@ -1,53 +1,30 @@
|
||||
{
|
||||
"name": "unifai-workflow-execution",
|
||||
"version": "1.0.0",
|
||||
"goal": "Execute a multi-agent AI workflow defined in YAML or through the UI's drag-and-drop editor.",
|
||||
"goal": "Execute a multi-agent workflow on the UnifAI platform using a specified blueprint and user prompt.",
|
||||
"inputs": [
|
||||
{
|
||||
"name": "blueprint_path",
|
||||
"description": "Path to the blueprint file (YAML) defining the multi-agent workflow."
|
||||
},
|
||||
{
|
||||
"name": "execution_mode",
|
||||
"description": "Execution mode: 'local' or 'distributed'."
|
||||
}
|
||||
"blueprint_id or blueprint_name",
|
||||
"user_shortcut",
|
||||
"user_question"
|
||||
],
|
||||
"steps": [
|
||||
{
|
||||
"step_name": "Load Blueprint",
|
||||
"description": "Parse and validate the blueprint file to ensure it conforms to expected structure."
|
||||
},
|
||||
{
|
||||
"step_name": "Initialize Execution Engine",
|
||||
"description": "Set up the execution engine based on the selected mode ('local' or 'distributed')."
|
||||
},
|
||||
{
|
||||
"step_name": "Execute Workflow",
|
||||
"description": "Run the multi-agent workflow, streaming node-by-node output as NDJSON over HTTP."
|
||||
},
|
||||
{
|
||||
"step_name": "Stream Results",
|
||||
"description": "Render and stream results in real time to clients subscribing to the event stream."
|
||||
}
|
||||
"Step 1: Resolve the blueprint ID from either direct ID or name lookup (resolve_blueprint_id method)",
|
||||
"Step 2: Create a new session from the blueprint (create_session method)",
|
||||
"Step 3: Submit the session for background execution with the user prompt (submit_session method)",
|
||||
"Step 4: Poll session status until execution completes (poll_session_status method)"
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "execution_results",
|
||||
"description": "The output of the executed workflow, streamed as NDJSON over HTTP."
|
||||
}
|
||||
"session_id",
|
||||
"workflow_id"
|
||||
],
|
||||
"failure_modes": [
|
||||
{
|
||||
"mode_name": "Invalid Blueprint",
|
||||
"description": "Blueprint file is not valid YAML or does not conform to expected structure."
|
||||
},
|
||||
{
|
||||
"mode_name": "Execution Engine Initialization Failure",
|
||||
"description": "Failed to initialize the execution engine due to configuration issues or missing dependencies."
|
||||
}
|
||||
"Blueprint name not found or not unique - error during blueprint resolution",
|
||||
"Session creation fails - error from API response",
|
||||
"Session submission fails - error from API response",
|
||||
"Polling session status fails - error from API response"
|
||||
],
|
||||
"confidence": 0.9,
|
||||
"explanation": "This workflow is designed to execute multi-agent AI workflows defined in YAML blueprints or through the UI's drag-and-drop editor, providing real-time streaming of results.",
|
||||
"confidence": 0.95,
|
||||
"explanation": "This workflow is specific to the UnifAI platform and its multi-agent system, but can be adapted for similar systems with a similar architecture.",
|
||||
"source_repo": "https://github.com/redhat-community-ai-tools/UnifAI.git",
|
||||
"score": 1.0
|
||||
}
|
||||
Reference in New Issue
Block a user