Code Review Checklist
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
Analyzes watsonx Orchestrate (wxO) projects and generates a 3-report documentation set covering the overall solution, agents, and tools/connections/other components with Mermaid diagrams.
$ npx skills add IBM/ibm-watsonx-orchestrate-adk --skill wxo-analyzer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install IBM/ibm-watsonx-orchestrate-adk wxo-analyzer --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/IBM/ibm-watsonx-orchestrate-adk.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/wxo-analyzer .claude/skills/wxo-analyzer && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "wxo-analyzer" agent skill from https://github.com/IBM/ibm-watsonx-orchestrate-adk/tree/main/skills/wxo-analyzer into .claude/skills/wxo-analyzer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wxo-analyzer", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/IBM/ibm-watsonx-orchestrate-adk/tree/main/skills/wxo-analyzerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add IBM/ibm-watsonx-orchestrate-adk --skill wxo-analyzer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install IBM/ibm-watsonx-orchestrate-adk wxo-analyzer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/IBM/ibm-watsonx-orchestrate-adk.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/wxo-analyzer .agents/skills/wxo-analyzer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wxo-analyzer" agent skill from https://github.com/IBM/ibm-watsonx-orchestrate-adk/tree/main/skills/wxo-analyzer into .agents/skills/wxo-analyzer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wxo-analyzer", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add IBM/ibm-watsonx-orchestrate-adk --skill wxo-analyzer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install IBM/ibm-watsonx-orchestrate-adk wxo-analyzer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/IBM/ibm-watsonx-orchestrate-adk.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/wxo-analyzer .cursor/skills/wxo-analyzer && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "wxo-analyzer" agent skill from https://github.com/IBM/ibm-watsonx-orchestrate-adk/tree/main/skills/wxo-analyzer into .cursor/skills/wxo-analyzer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wxo-analyzer", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/IBM/ibm-watsonx-orchestrate-adk.git --path skills/wxo-analyzer--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add IBM/ibm-watsonx-orchestrate-adk --skill wxo-analyzer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install IBM/ibm-watsonx-orchestrate-adk wxo-analyzer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/IBM/ibm-watsonx-orchestrate-adk.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/wxo-analyzer .gemini/skills/wxo-analyzer && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "wxo-analyzer" agent skill from https://github.com/IBM/ibm-watsonx-orchestrate-adk/tree/main/skills/wxo-analyzer into .gemini/skills/wxo-analyzer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wxo-analyzer", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install IBM/ibm-watsonx-orchestrate-adk wxo-analyzerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add IBM/ibm-watsonx-orchestrate-adk --skill wxo-analyzer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/IBM/ibm-watsonx-orchestrate-adk.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/wxo-analyzer .github/skills/wxo-analyzer && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "wxo-analyzer" agent skill from https://github.com/IBM/ibm-watsonx-orchestrate-adk/tree/main/skills/wxo-analyzer into .github/skills/wxo-analyzer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wxo-analyzer", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add IBM/ibm-watsonx-orchestrate-adk --skill wxo-analyzer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install IBM/ibm-watsonx-orchestrate-adk wxo-analyzer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/IBM/ibm-watsonx-orchestrate-adk.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/wxo-analyzer .opencode/skills/wxo-analyzer && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "wxo-analyzer" agent skill from https://github.com/IBM/ibm-watsonx-orchestrate-adk/tree/main/skills/wxo-analyzer into .opencode/skills/wxo-analyzer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wxo-analyzer", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
wxo-analyzerAnalyzes watsonx Orchestrate (wxO) projects and generates a 3-report documentation set covering the overall solution, agents, and tools/connections/other components with Mermaid diagrams.
Wxo Analyzer is an agent skill from IBM/ibm-watsonx-orchestrate-adk, published by the product's own GitHub organization. Analyzes watsonx Orchestrate (wxO) projects and generates a 3-report documentation set covering the overall solution, agents, and tools/connections/other components with Mermaid diagrams.
Its SKILL.md is about 9.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development. It works with Python. The repository describes itself as: The command line client for watsonx Orchestrate's agent builder experience. The licence is MIT.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 15d588c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown, yaml, python, json and bash).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.salesforce.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Wxo Analyzer loads about 9.6k tokens when it runs. Until then it costs about 50 tokens; SKILL.md has 3,144 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from IBM/ibm-watsonx-orchestrate-adk at commit 15d588c, republished under its MIT licence (© IBM). 3,144 words, ~9,570 tokens.
.claude/skills/wxo-analyzer/SKILL.md (or your agent's skills folder).This skill analyzes watsonx Orchestrate projects to generate a 3-file documentation set that includes:
Transform a watsonx Orchestrate project directory into a clear 3-report documentation set that helps stakeholders understand:
This analyzer works with watsonx Orchestrate projects that follow the standard ADK structure:
project_directory/
├── agents/ # Agent YAML configurations
│ ├── agent1.yaml
│ └── agent2.yaml
├── tools/ # Python tools and flows
│ ├── tool1.py
│ ├── flow1.py
│ └── langflow_tool.json
├── connections/ # Connection configurations (optional)
│ └── connection1.yaml
├── knowledge_bases/ # Knowledge base configs (optional)
│ └── kb1.yaml
├── main_flow.py # Main flow orchestration (optional)
├── import-all.sh # Import script
└── README.md # Project documentationWhen the user provides a directory path, analyze the structure:
Identify Project Type:
agents/ directory (agent-based project)tools/ directory (tool-based project)main_flow.py (flow-based project)connections/ directory (connection configurations)Scan for Components:
agents/tools/tools/ (Langflow)connections/knowledge_bases/main_flow.py, import-all.sh, README.md, and other implementation-relevant files present in the project rootFor each component type, extract detailed information:
Extract from each agent YAML file:
Example Agent YAML Structure:
spec_version: v1
kind: native
name: customer_service_agent
description: Handles customer inquiries and support requests
instructions: |
You are a customer service agent...
llm: groq/openai/gpt-oss-120b
tools:
- order_lookup_tool
- refund_processor
collaborators:
- escalation_agent
knowledge_base:
- customer_kb
config:
hidden: false
enable_cot: trueExtract from each Python tool file:
@tool decoratorexpect_credentials)Example Python Tool Pattern:
from ibm_watsonx_orchestrate.flow_builder import tool
@tool
def order_lookup_tool(order_id: str) -> dict:
"""
Looks up order details by order ID.
Args:
order_id: The unique order identifier
Returns:
Order details including status, items, and shipping info
"""
# Implementation
passPriority Rule: Analyze Python (.py) files with @flow decorator first. Only analyze JSON format flows if there is no equivalent Python implementation with the same name.
From Python Flow Files (.py with @flow decorator):
@flow decoratorExample Python Flow Pattern:
from ibm_watsonx_orchestrate.flow_builder import flow, Node
@flow
def document_processing_flow(document: str) -> dict:
"""
Processes documents through extraction and validation.
"""
# Flow implementation with nodes
passFrom JSON Flow Files (.json agentic workflow format):
Example JSON Flow Pattern:
{
"name": "Book_a_flight_flow",
"description": "Orchestrates flight booking process",
"nodes": [
{
"id": "search_flights",
"type": "tool",
"tool": "flight_search_tool"
},
{
"id": "book_flight",
"type": "tool",
"tool": "flight_booking_tool"
}
],
"edges": [
{
"source": "search_flights",
"target": "book_flight"
}
]
}Analysis Priority:
IMPORTANT DISTINCTION: Langflow and Agentic Workflow are different:
spec.kind: "flow" in JSONFor Langflow JSON files (if present): Extract from Langflow JSON files:
For Agentic Workflow JSON files (watsonx Orchestrate native):
spec.kind: "flow" in JSON structureExtract from connection YAML files:
Example Connection YAML Structure:
spec_version: v1
app_id: salesforce_connection
kind: oauth_auth_client_credentials_flow
description: Connection to Salesforce API
environments:
draft:
type: team
server_url: https://api.salesforce.comBuild a relationship graph showing:
The primary output of this skill is a 3-file documentation set:
Solution Overview Report
Agent Analysis Report
Tools and Components Report
In the solution overview report, keep the architecture intentionally high level:
Use cross-references between the three reports when helpful so readers can move from high-level architecture to agent details and then to tool/component implementation details.
Generate three markdown reports instead of one combined report.
This file should give readers the fastest possible understanding of the overall solution before they read the deeper reports.
# watsonx Orchestrate Solution Overview
**Project Directory**: [path]
**Analysis Date**: [date]
**Generated By**: wxo-analyzer skill
## Summary Statistics
- **Total Agents**: [count]
- **Total Tools**: [count]
- Python Tools: [count]
- Flow Tools: [count]
- Langflow Tools: [count]
- **Total Connections**: [count]
- **Total Knowledge Bases**: [count]
- **Other Key Files**: [count]
- **Total Counted Project Files in Scope**: [count]
Ensure these counts are based on actual discovered files and remain consistent across all three reports.
## Solution Purpose
[Brief description of what this project does based on agent descriptions and project assets]
## What This Solution Contains
- [Short summary of the major agents]
- [Short summary of the primary tools and flows]
- [Short summary of key external integrations]Create a Mermaid diagram showing the overall architecture.
For the solution overview report, this diagram should stay high level:
## Architecture Overview
```mermaid
graph TB
subgraph Agents
A1[Agent 1]
A2[Agent 2]
A3[Agent 3]
end
Systems[Shared Tools and Platform Components]
Integrations[External Systems and Knowledge Sources]
A1 -->|hands off to| A2
A2 -->|collaborates with| A3
A1 -->|uses shared capabilities| Systems
A2 -->|uses shared capabilities| Systems
A3 -->|accesses business knowledge| Integrations
style A1 fill:#e1f5ff
style A2 fill:#e1f5ff
style A3 fill:#e1f5ff
style Systems fill:#fff4e1
style Integrations fill:#e8f5e9Legend:
#### 3. High-Level Agent Relationship Summary
```markdown
## Agent Relationship Summary
- **Primary orchestrator or entry agent**: [agent name]
- **Supporting agents**: [agent names]
- **Escalation or specialist agents**: [agent names if applicable]
- **High-level collaboration pattern**: [brief summary of how work moves between agents]
- **Shared dependencies**: [shared tools, knowledge bases, or external platforms at a high level]Keep this section concise. Do not repeat the detailed per-agent analysis here.
## Project Structure
[project_name]/
├── agents/ # [count] agents
│ ├── agent1.yaml # [Agent 1 Name]
│ └── agent2.yaml # [Agent 2 Name]
├── tools/ # [count] tools
│ ├── tool1.py # [Tool 1 Name]
│ ├── flow1.py # [Flow 1 Name]
│ └── langflow_tool.json # [Langflow Tool Name]
├── connections/ # [count] connections
│ └── connection1.yaml # [Connection 1 Name]
├── knowledge_bases/ # [count] knowledge bases
│ └── kb1.yaml # [KB 1 Name]
+├── main_flow.py # Main orchestration flow
+├── import-all.sh # Import script
+└── README.md # Project documentation
+ + +**File Descriptions**: +- **agents/**: Contains [count] agent configurations defining AI assistants +- **tools/**: Contains [count] tools including Python tools, flows, and Langflow integrations +- **connections/**: Contains [count] connection configurations for external systems +- **knowledge_bases/**: Contains [count] knowledge base configurations +- **main_flow.py**: [Description if present] +- **import-all.sh**: Script to import all components into watsonx Orchestrate + +**Counting Rules**: +- Count every in-scope file that is analyzed or referenced in the report +- Use the same totals consistently in the summary, project structure, and detailed sections +- If a file is present but not analyzed in detail, still account for it in the file inventory when it is relevant to the solution +- Clearly separate totals for agents, tools, connections, knowledge bases, and other key files +
+
+#### 4. Relationship Diagram
Create a detailed Mermaid diagram showing all relationships:
## Component Relationships
```mermaid
graph LR
subgraph "Agents"
A1[Customer Service Agent]
A2[Escalation Agent]
A3[Analytics Agent]
end
subgraph "Tools"
T1[order_lookup_tool]
T2[refund_processor]
T3[analytics_flow]
end
subgraph "Connections"
C1[salesforce_conn]
C2[payment_gateway]
end
subgraph "Knowledge Bases"
KB1[customer_kb]
KB2[product_kb]
end
A1 -->|uses| T1
A1 -->|uses| T2
A1 -->|collaborates with| A2
A1 -->|accesses| KB1
A2 -->|uses| T3
A3 -->|accesses| KB2
T1 -->|requires| C1
T2 -->|requires| C2
style A1 fill:#4a90e2,color:#fff
style A2 fill:#4a90e2,color:#fff
style A3 fill:#4a90e2,color:#fff
style T1 fill:#f5a623
style T2 fill:#f5a623
style T3 fill:#f5a623
style C1 fill:#d0d0d0
style C2 fill:#d0d0d0
style KB1 fill:#7ed321
style KB2 fill:#7ed321Relationship Summary:
#### 5. Deployment Information
```markdown
## Deployment Information
**Import Script**: `import-all.sh`
**Import Command**:
```bash
cd [project_directory]
chmod +x import-all.sh
./import-all.shPrerequisites:
Post-Import Steps:
#### 6. Recommendations
```markdown
## Analysis Insights and Recommendations
### Strengths
- [Identified strengths based on analysis]
### Anti-Pattern Findings
**Architectural Issues**:
- [List any detected anti-patterns from Part 1: Mega-prompts, Agent-as-Business-Process, Invisible State, Autonomy issues, As-Is content, Research-paper chasing]
**Scale and Tooling Issues**:
- [List any detected anti-patterns from Part 2: Tool Soup, Tool Data Overload, Agent-Washing, Trust Before Verify, Happy Path Engineering, Multi-Agent Chaos, Responsiveness, Cost, Demo-Grade]
**Severity Assessment**:
- 🔴 **Critical**: [Issues that will cause production failures]
- 🟡 **Warning**: [Issues that may cause problems at scale]
- 🟢 **Advisory**: [Best practice recommendations]
### Potential Improvements
- [Suggestions for improvement based on anti-pattern detection]
- [Architectural refactoring recommendations]
- [Tool optimization opportunities]
### Dependencies to Monitor
- [Critical dependencies identified]
### Documentation Gaps
- [Missing or incomplete documentation]
---This file should provide a dedicated agent-by-agent analysis.
For each agent, provide:
# watsonx Orchestrate Agent Analysis
**Project Name**: [Project Name]
**Project Directory**: [Path]
**Analysis Date**: [Date]
**Generated By**: wxo-analyzer skill
## Agents
### Agent: [Agent Name]
**Type**: [native/external/assistant]
**Description**: [Agent description]
**Purpose**:
[Detailed explanation of what this agent does]
**Configuration**:
- **LLM Model**: [model name]
- **Hidden**: [true/false]
- **Chain of Thought**: [enabled/disabled]
**Capabilities**:
- **Tools Used**:
- [tool1] - [brief description]
- [tool2] - [brief description]
- **Collaborators**:
- [agent1] - [when/why it collaborates]
- **Knowledge Bases**:
- [kb1] - [what information it accesses]
**Instructions Summary**:
[Key points from the agent's instructions]
**Anti-Pattern Check**:
- ✅ **Passed**: [List anti-patterns this agent avoids]
- ⚠️ **Warnings**: [List potential anti-pattern concerns]
- ❌ **Issues**: [List detected anti-patterns with severity]
**Specific Checks**:
- **Instruction Length**: [line count] - [Pass/Warning/Fail based on <100/100-200/>200 lines]
- **Tool Count**: [count] - [Pass/Warning/Fail based on <10/10-20/>20 tools]
- **State Management**: [Explicit/Implicit/None]
- **Autonomy Controls**: [Present/Partial/Missing]
- **Business Process Logic**: [None/Some/Extensive - flag if extensive]
- **Verbatim Content**: [None/Present - flag if present]
- **Failure Handling**: [Comprehensive/Basic/Missing]
**Relationships**:
- **Invokes**: [tools and collaborators]
- **Depends On**: [knowledge bases, connections via tools]
- **Referenced In**: [main flow or other orchestration assets if applicable]
---Include an optional Mermaid diagram in this file focused only on agent collaboration and agent-to-tool/knowledge-base relationships when that helps readability.
This file should focus on implementation-facing components beyond the high-level solution and agent narratives.
For each tool and supporting component, provide:
# watsonx Orchestrate Tools and Components Analysis
**Project Name**: [Project Name]
**Project Directory**: [Path]
**Analysis Date**: [Date]
**Generated By**: wxo-analyzer skill
## Tools
### Python Tool: [Tool Name]
**Purpose**: [What this tool does]
**Type**: [Python Tool/Flow Tool/Langflow Tool]
**Description**:
[Detailed description from docstring]
**Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| param1 | str | Yes | Description |
| param2 | int | No | Description |
**Returns**: [Return type and description]
**Dependencies**:
- External APIs: [list if any]
- Python Libraries: [list if any]
- Connections Required: [list connections]
**Used By**:
- [agent1]
- [agent2]
**Anti-Pattern Check**:
- **Data Volume**: [Estimated output size - flag if >10K tokens]
- **Idempotency**: [Yes/No/Unknown - flag if No or Unknown]
- **Destructiveness**: [None/Low/High - flag if High without approval gates]
- **Error Handling**: [Comprehensive/Basic/Missing]
- **Filtering**: [At source/Post-processing/None - flag if None for large datasets]
- **Binary Data**: [None/Extracted/Raw - flag if Raw]
**Example Usage**:
```python
result = tool_name(param1="value", param2=123)Type: [basic/bearer/api_key/oauth/key_value]
Purpose: [What system this connects to]
Configuration:
Used By:
Authentication: [Description of auth method]
Purpose: [What information this KB contains]
Provider: [Built-in Milvus/AstraDB/Elasticsearch/etc.]
Configuration: [Key configuration details]
Used By:
Content Type: [Type of documents/data stored]
Include a Mermaid diagram in this file focused on tools, connections, knowledge bases, and dependency chains.
Also include counts and inventories for all in-scope component files covered by this report so the totals align with the overall solution overview.
---
## Usage Instructions
### To Use This Skill:
1. **Provide the Project Directory**:Please analyze the watsonx Orchestrate project in: /path/to/project
2. **Specify Analysis Depth** (optional):
- **Quick**: Summary and architecture diagram only
- **Standard**: Full analysis with all sections (default)
- **Deep**: Include code snippets and detailed logic analysis
3. **Request Specific Focus** (optional):
- Focus on agents only
- Focus on tool dependencies
- Focus on connection usage
- Focus on agent collaboration patterns
### Example Request:
Please analyze the watsonx Orchestrate project in the examples/customer_service directory and generate the 3 analysis reports:
Include architecture diagrams showing agent, tool, connection, and knowledge base relationships.
### Example Request with Focus:
Analyze the meeting_deck_generator project and focus on:
---
## Output Format
### Required 3-File Output Naming Convention
1. `[project-name]-solution-overview.md`
2. `[project-name]-agent-analysis.md`
3. `[project-name]-tools-and-components-analysis.md`
Example output set:
- `customer-service-solution-overview.md`
- `customer-service-agent-analysis.md`
- `customer-service-tools-and-components-analysis.md`
### Document Headers
Use an appropriate title for each of the three reports and include consistent counts derived from the same file discovery pass.
```markdown
**Project Name**: [Project Name]
**Project Directory**: [Path]
**Analysis Date**: [Date]
**Analyzed By**: wxo-analyzer skill
**Analysis Depth**: [Quick/Standard/Deep]
---Identify common patterns in the project:
Analyze dependencies:
Identify security considerations:
Check agents and architecture against known anti-patterns from enterprise AI deployments:
Important Note on Anti-Hallucination Instructions: When agents include anti-hallucination instructions (e.g., "never make up information," "always cite sources," "verify before responding"), acknowledge these as good practices but clarify that agents adhere to such instructions on a best-effort basis only. LLMs cannot guarantee perfect compliance with anti-hallucination rules—they are probabilistic systems that may still hallucinate despite explicit instructions. Anti-hallucination frameworks in instructions are valuable for improving behavior but should not be treated as deterministic guarantees.
The Monolithic Mega-Prompt
instructions: block, NOT the entire YAML fileALWAYS create a script to count instruction lines accurately:
# Create a script to count instruction lines for all agents
cat > count_instructions.sh << 'EOF'
#!/bin/bash
echo "Agent Instruction Line Counts"
echo "=============================="
for file in agents/native/*.yaml; do
if [ -f "$file" ]; then
agent_name=$(basename "$file" .yaml)
line_count=$(awk '/^instructions: \|/{flag=1; next} /^[a-z_]+:/{flag=0} flag' "$file" | wc -l)
echo "$agent_name: $line_count lines"
fi
done
EOF
chmod +x count_instructions.sh
./count_instructions.shThis script:
instructions: blockThe Agent-as-Business-Process Fallacy
Invisible State
All-or-Nothing Autonomy
Passing "As-Is" Information Through the Model
Chasing the Latest Research Paper
Tool Soup
Tool Data Overload
Agent-Washing
Trust Before Verify
Happy Path Engineering
Multi-Agent Chaos
Responsiveness Afterthought
Unbounded Execution Cost
Demo-Grade Agent in Production
Issue: Cannot find agents directory Solution: Verify the project follows standard ADK structure
Issue: YAML parsing errors Solution: Check YAML syntax in agent/connection files
Issue: Missing tool descriptions Solution: Ensure Python tools have proper docstrings
Issue: Incomplete relationship mapping Solution: Verify all tool names match between agents and tool files
See the 3-file report structure above for the complete format this skill should generate.
This skill works well with:
This skill incorporates anti-pattern detection based on:
Part 1: Architectural Pitfalls (6 anti-patterns)
Part 2: Tooling, Observability, and Scale Traps (9 anti-patterns)
IMPORTANT: Comprehensive project analysis often requires multiple passes to capture all components and details.
After generating the initial 3-report documentation set:
This iterative approach ensures comprehensive coverage of all project components and their relationships.
Project Directory:
/path/to/your/watsonx-orchestrate-projectAnalysis Options (optional):
- Depth: [Quick/Standard/Deep]
- Focus: [Specific areas to emphasize]
- Output Format: [Markdown (default)/JSON/HTML]© IBM, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/wxo-analyzer of IBM/ibm-watsonx-orchestrate-adk.
Open the folder on GitHubat commit 15d588c
Wxo Analyzer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Wxo Analyzer this skillIBM/ibm-watsonx-orchestrate-adk | 178 | — | ~9.6k | Automated safety check: Pass | MIT | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Minimizing Ty Ecosystem Changesastral-sh/ruff | 50k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Merge Dependabot PRsonyx-dot-app/onyx | 32k | 1 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Summarise Ecosystem Resultsastral-sh/ruff | 50k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Senior Architect Toolkitmaslennikov-ig/claude-code-orchestrator-kit | 260 | 8 repos | ~1.2k | Automated safety check: Notes | Custom licence |
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
astral-sh/ruff
A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…
onyx-dot-app/onyx
Triages and lands a batch of open Dependabot PRs in the Onyx repo, where main is gated exclusively by GitHub's merge queue: approves and enqueues green PRs, closes superseded duplicates, fixes…
astral-sh/ruff
A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…
maslennikov-ig/claude-code-orchestrator-kit
Comprehensive software architecture skill for designing scalable, maintainable systems using ReactJS, NextJS, NodeJS, Express, React Native, Swift, Kotlin…
kedro-org/kedro
Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…
IBM/ibm-watsonx-orchestrate-adk
Analyzes IBM watsonx Orchestrate agentic workflow artefacts (JSON or Python @flow) and returns prioritised architecture recommendations grouped by impact.
IBM/ibm-watsonx-orchestrate-adk
A skill your agent uses when the user wants to analyze agent telemetry traces to find bugs and get fix recommendations — walks through exporting traces from a local or remote watsonx Orchestrate…
IBM/ibm-watsonx-orchestrate-adk
Build MCP servers for customer care agents following Watson Orchestrate specifications.
IBM/ibm-watsonx-orchestrate-adk
A skill your agent uses when building, testing, debugging, or publishing IBM watsonx Orchestrate agents, tools, flows, connections, knowledge bases, or custom models with the orchestrate CLI or ADK…
IBM/ibm-watsonx-orchestrate-adk
Evaluate an agent instructions or agent definition for achievability and produce a structured, evidence-backed report artifact with per-dimension scores, findings, deterministic signals, and…
IBM/ibm-watsonx-orchestrate-adk
Expert guidance for creating high-level solution architecture documents from business requirements, use cases, or problem statements.
Works with
Categories
Analyzes watsonx Orchestrate (wxO) projects and generates a 3-report documentation set covering the overall solution, agents, and tools/connections/other components with Mermaid diagrams. Wxo Analyzer is an agent skill from IBM/ibm-watsonx-orchestrate-adk, published by the product's own GitHub organization. Analyzes watsonx Orchestrate (wxO) projects and generates a 3-report documentation set covering the overall solution, agents, and tools/connections/other components with Mermaid diagrams.
Wxo Analyzer fits situations like: development work in your project.
Run `npx skills add IBM/ibm-watsonx-orchestrate-adk --skill wxo-analyzer -a claude-code`. Or copy the skill folder (skills/wxo-analyzer in IBM/ibm-watsonx-orchestrate-adk) into .claude/skills/wxo-analyzer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add IBM/ibm-watsonx-orchestrate-adk --skill wxo-analyzer -a codex`. Or copy the skill folder (skills/wxo-analyzer in IBM/ibm-watsonx-orchestrate-adk) into .agents/skills/wxo-analyzer in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add IBM/ibm-watsonx-orchestrate-adk --skill wxo-analyzer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wxo-analyzer, .gemini/skills/wxo-analyzer, .github/skills/wxo-analyzer and .opencode/skills/wxo-analyzer in your project.
SKILL.md names no scripts, command-line tools or credentials: Wxo Analyzer is instructions for the agent only. Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: api.salesforce.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Wxo Analyzer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 9.6k tokens (SKILL.md is roughly 38k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Wxo Analyzer: Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars), Merge Dependabot PRs (onyx-dot-app/onyx, 32k stars) and Summarise Ecosystem Results (astral-sh/ruff, 50k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
IBM (a GitHub organization, an official publisher) maintains it in IBM/ibm-watsonx-orchestrate-adk, which has 178 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 7, 2026.
Source: IBM/ibm-watsonx-orchestrate-adk on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.