activepieces
AI Agents & MCPs & AI Workflow Automation β’ (~400 MCP servers for AI agents) β’ AI Automation / AI Agent with MCPs β’ AI Workflows & AI Agents β’ MCPs for AI Agents
Crawler Summary
π€ Multi-agent equity research built with CrewAI. Five agents fuse fundamentals, real-time neural news search, from-scratch technical indicators, and sector peer benchmarking into a validated BUY/HOLD/SELL PDF report. <div align="center"> π€ Equity Crew Multi-Agent Financial Intelligence System Built with CrewAI $1 $1 $1 $1 $1 $1 $1 *A production-grade, multi-agent AI system that performs institutional-quality stock research β combining fundamental analysis, real-time news intelligence, technical chart analysis, and sector peer comparison β fully automated.* </div> --- π What This Project Does This system orchestrates **5 special Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Freshness
Last checked 10/9/2026
Best For
equity-crew is best for crewai, multi-agent workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB REPOS, runtime-metrics, public facts pack
π€ Multi-agent equity research built with CrewAI. Five agents fuse fundamentals, real-time neural news search, from-scratch technical indicators, and sector peer benchmarking into a validated BUY/HOLD/SELL PDF report. <div align="center"> π€ Equity Crew Multi-Agent Financial Intelligence System Built with CrewAI $1 $1 $1 $1 $1 $1 $1 *A production-grade, multi-agent AI system that performs institutional-quality stock research β combining fundamental analysis, real-time news intelligence, technical chart analysis, and sector peer comparison β fully automated.* </div> --- π What This Project Does This system orchestrates **5 special
Public facts
4
Change events
1
Artifacts
0
Freshness
Oct 9, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Oct 9, 2026
Vendor
Raghavg27
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Setup snapshot
Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Raghavg27
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
python
json
{
"action": "BUY",
"confidence": 0.82,
"target_price": 1190.0,
"current_price": 958.95,
"reasons": [
"Strong earnings growth and margin expansion (EBITDA margin up to 12.2%) with a robust order book and export rebound.",
"Solid balance sheet with low leverage (DE 0.32Γ) and sufficient cash to fund strategic initiatives."
],
"risks": [
"High valuation premium (P/E ~62Γ) could compress if FY27 growth or margin targets are not met."
]
}text
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CLI (main.py) β
β python main.py --stock SUZLON.BO | --validate | --log-level β
βββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββΌββββββββββββββββββ
β Startup Validation β
β β Env vars β Symbol format β
β β API connectivity (--validate) β
βββββββββββββββββββ¬ββββββββββββββββββ
β
βββββββββββββββββββΌβββββββββββββββββββββββ
β PHASE 1 β Parallel (4 crews) β
βββββββββ€ββββββββ€βββββββββββ€ββββββββββ€ββββ
β β β β
ββββββββββββββΌβββ ββββΌβββββββ βββΌβββββββ βββΌβββββββββββββββ
β Financial Crewβ β News β βTech β β Peer Crew β
β β β Crew β βCrew β β β
β data_explorer β βnews_exp.β βtech_ β β sector_analyst β
β β β β βanalyst β β β
β 8 yfinance β β EXA β βRSI,MACDβ β get_company_ β
β tools β β search β βBB,SMA β β info + β
β β β β βVolume β β get_valuation_ β
β β β β β β β metrics β
βββββββββ¬ββββββββ ββββ¬βββββββ ββββ¬ββββββ βββββββββ¬βββββββββ
β β β β
ββββΌββββββββββββββΌββββββββββββΌββββββββββββββββΌβββ
β PHASE 2 β Sequential (1 crew) β
βββββββββββββββββββββββ€βββββββββββββββββββββββββββ
β
βββββββββββββΌβββββββββββββ
β analyst (Task 5) β
β Combines all 4 β
β Phase 1 outputs β
βββββββββββββ¬βββββββββββββ
β
python
# Retry with exponential backoff β no external dependency
def _with_retry(fn, label, max_retries=3, base_delay=1.5):
for attempt in range(1, max_retries + 1):
try:
return fn()
except Exception as exc:
delay = base_delay * (2 ** (attempt - 1)) # 1.5s β 3s β 6s
if attempt < max_retries:
time.sleep(delay)
else:
raisepython
# Standard Wilder smoothing via rolling mean delta = prices.diff() gain = delta.clip(lower=0).rolling(14).mean() loss = (-delta.clip(upper=0)).rolling(14).mean() rsi = 100 - (100 / (1 + gain / loss)) # Signal: > 70 β overbought, < 30 β oversold
python
ema12 = prices.ewm(span=12, adjust=False).mean() ema26 = prices.ewm(span=26, adjust=False).mean() macd_line = ema12 - ema26 signal = macd_line.ewm(span=9, adjust=False).mean() histogram = macd_line - signal # Signal: MACD above signal β bullish crossover
python
sma = prices.rolling(20).mean() std = prices.rolling(20).std() upper = sma + 2 * std lower = sma - 2 * std # Price above upper β overbought; below lower β oversold
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB REPOS
Editorial quality
ready
π€ Multi-agent equity research built with CrewAI. Five agents fuse fundamentals, real-time neural news search, from-scratch technical indicators, and sector peer benchmarking into a validated BUY/HOLD/SELL PDF report. <div align="center"> π€ Equity Crew Multi-Agent Financial Intelligence System Built with CrewAI $1 $1 $1 $1 $1 $1 $1 *A production-grade, multi-agent AI system that performs institutional-quality stock research β combining fundamental analysis, real-time news intelligence, technical chart analysis, and sector peer comparison β fully automated.* </div> --- π What This Project Does This system orchestrates **5 special
A production-grade, multi-agent AI system that performs institutional-quality stock research β combining fundamental analysis, real-time news intelligence, technical chart analysis, and sector peer comparison β fully automated.

This system orchestrates 5 specialised AI agents that work in parallel and sequentially to produce a complete equity research report for any publicly listed stock. Given a ticker symbol, it:
Sample output (SUZLON.BO, run on 30 Apr 2026):
{
"action": "BUY",
"confidence": 0.82,
"target_price": 1190.0,
"current_price": 958.95,
"reasons": [
"Strong earnings growth and margin expansion (EBITDA margin up to 12.2%) with a robust order book and export rebound.",
"Solid balance sheet with low leverage (DE 0.32Γ) and sufficient cash to fund strategic initiatives."
],
"risks": [
"High valuation premium (P/E ~62Γ) could compress if FY27 growth or margin targets are not met."
]
}
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CLI (main.py) β
β python main.py --stock SUZLON.BO | --validate | --log-level β
βββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββΌββββββββββββββββββ
β Startup Validation β
β β Env vars β Symbol format β
β β API connectivity (--validate) β
βββββββββββββββββββ¬ββββββββββββββββββ
β
βββββββββββββββββββΌβββββββββββββββββββββββ
β PHASE 1 β Parallel (4 crews) β
βββββββββ€ββββββββ€βββββββββββ€ββββββββββ€ββββ
β β β β
ββββββββββββββΌβββ ββββΌβββββββ βββΌβββββββ βββΌβββββββββββββββ
β Financial Crewβ β News β βTech β β Peer Crew β
β β β Crew β βCrew β β β
β data_explorer β βnews_exp.β βtech_ β β sector_analyst β
β β β β βanalyst β β β
β 8 yfinance β β EXA β βRSI,MACDβ β get_company_ β
β tools β β search β βBB,SMA β β info + β
β β β β βVolume β β get_valuation_ β
β β β β β β β metrics β
βββββββββ¬ββββββββ ββββ¬βββββββ ββββ¬ββββββ βββββββββ¬βββββββββ
β β β β
ββββΌββββββββββββββΌββββββββββββΌββββββββββββββββΌβββ
β PHASE 2 β Sequential (1 crew) β
βββββββββββββββββββββββ€βββββββββββββββββββββββββββ
β
βββββββββββββΌβββββββββββββ
β analyst (Task 5) β
β Combines all 4 β
β Phase 1 outputs β
βββββββββββββ¬βββββββββββββ
β
βββββββββββββΌβββββββββββββ
β fin_expert (Task 6) β
β BUY/HOLD/SELL rec β
β + Pydantic schema β
β + guardrail check β
βββββββββββββ¬βββββββββββββ
β
ββββββββββββββββββΌβββββββββββββββββ
β Output Files β
β peer_comparison.md β
β technical_analysis.md β
β financial_analysis.md β
β investment_recommendation.md β
β [SYMBOL]_Report_YYYYMMDD.pdf β
β logs/analyser_YYYYMMDD.log β
βββββββββββββββββββββββββββββββββββ
The system uses 6 specialised agents, each with a distinct role, tailored backstory, tool access, and rate/execution limits:
| Agent | Role | Tools | Key Design Decision |
|---|---|---|---|
| data_explorer | Fundamental Data Researcher | 8 yfinance tools | Larger max_execution_time (540s) β collecting 8 data sources in sequence takes time |
| news_info_explorer | News & Sentiment Researcher | EXA neural search | Semantic search surfaces contextually relevant news even when the ticker isn't explicitly mentioned |
| technical_analyst | Technical Chart Analyst | get_technical_indicators | Isolated agent keeps chart signals separate from fundamentals β prevents anchoring bias in the synthesis |
| sector_analyst | Sector & Peer Comparison Analyst | get_company_info + get_valuation_metrics | Uses LLM's market knowledge to identify peers dynamically β no hardcoded peer maps, adapts to any stock globally |
| analyst | Senior Financial Analyst | None (synthesis only) | Intentionally no tools β forced to reason from structured Phase 1 context, not re-fetch data |
| fin_expert | Investment Advisor | get_current_stock_price | Fetches live price last so the target price ratio reflects market conditions at recommendation time |
yfinance)All tools follow the same pattern: input validation β _with_retry() β structured JSON output β descriptive error message on failure.
# Retry with exponential backoff β no external dependency
def _with_retry(fn, label, max_retries=3, base_delay=1.5):
for attempt in range(1, max_retries + 1):
try:
return fn()
except Exception as exc:
delay = base_delay * (2 ** (attempt - 1)) # 1.5s β 3s β 6s
if attempt < max_retries:
time.sleep(delay)
else:
raise
| Tool | Data Source | Key Data Points |
|---|---|---|
| get_company_info | ticker.info | P/E, EPS, market cap, 52-week range, margins, EBITDA |
| get_income_statements | ticker.financials | Revenue, gross profit, operating income, net income (4 years) |
| get_balance_sheet | ticker.balance_sheet | Total assets, liabilities, equity, cash, debt |
| get_cash_flow | ticker.cashflow | Operating CF, investing CF, free cash flow |
| get_dividend_history | ticker.dividends | Last 10 dividend payments |
| get_analyst_recommendations | ticker.recommendations | Most recent buy/hold/sell consensus |
| get_insider_transactions | ticker.insider_transactions | Recent insider buying/selling activity |
| get_institutional_holdings | ticker.institutional_holders | Top institutional shareholders and stake sizes |
| get_valuation_metrics | ticker.info | Compact snapshot: P/E, P/B, EV/EBITDA, ROE, margins, D/E, dividend yield β designed for peer comparison |
pandas)Rather than adding a TA library dependency, all indicators are implemented using vectorised pandas operations:
RSI (14-day Relative Strength Index)
# Standard Wilder smoothing via rolling mean
delta = prices.diff()
gain = delta.clip(lower=0).rolling(14).mean()
loss = (-delta.clip(upper=0)).rolling(14).mean()
rsi = 100 - (100 / (1 + gain / loss))
# Signal: > 70 β overbought, < 30 β oversold
MACD (12/26/9)
ema12 = prices.ewm(span=12, adjust=False).mean()
ema26 = prices.ewm(span=26, adjust=False).mean()
macd_line = ema12 - ema26
signal = macd_line.ewm(span=9, adjust=False).mean()
histogram = macd_line - signal
# Signal: MACD above signal β bullish crossover
Bollinger Bands (20-day, Β±2Ο)
sma = prices.rolling(20).mean()
std = prices.rolling(20).std()
upper = sma + 2 * std
lower = sma - 2 * std
# Price above upper β overbought; below lower β oversold
Moving Averages + Golden/Death Cross
sma50 = prices.rolling(50).mean()
sma200 = prices.rolling(200).mean()
# Golden Cross: SMA50 crosses above SMA200 β long-term bullish signal
# Death Cross: SMA50 crosses below SMA200 β long-term bearish signal
Volume Analysis
avg_vol_20 = volume.rolling(20).mean()
vol_ratio = current_volume / avg_vol_20
# > 1.0 β above average volume (confirms price moves)
ThreadPoolExecutorPhase 1 runs 4 independent crews concurrently, cutting wall-clock time significantly:
with ThreadPoolExecutor(max_workers=4) as executor:
financial_future = executor.submit(run_crew_task, financial_crew, inputs, "Financial")
news_future = executor.submit(run_crew_task, news_crew, inputs, "News")
technical_future = executor.submit(run_crew_task, technical_crew, inputs, "Technical")
peer_future = executor.submit(run_crew_task, peer_crew, inputs, "Peers")
financial_result = financial_future.result()
news_result = news_future.result()
technical_result = technical_future.result()
peer_result = peer_future.result()
At the end of every run, the system reports estimated time saved:
Phase 1 (parallel): 142.3s
Phase 2 (sequential): 89.1s
Total: 231.4s (vs ~373.7s sequential β 38% faster)
The final recommendation is enforced as a strict Pydantic schema with a custom guardrail function:
class InvestmentRecommendation(BaseModel):
action: Literal["BUY", "HOLD", "SELL"]
confidence: float # must be 0.0β1.0
target_price: float
current_price: float
reasons: list[str] # minimum 2 required
risks: list[str] # minimum 1 required
def validate_recommendation(result: TaskOutput) -> Tuple[bool, Any]:
# guardrail β CrewAI will retry the task if this returns False
if not (0.0 <= rec.confidence <= 1.0): return (False, "...")
if len(rec.reasons) < 2: return (False, "...")
if len(rec.risks) < 1: return (False, "...")
return (True, rec)
If the LLM output fails validation, CrewAI automatically retries the task with the error message as feedback β ensuring output quality without manual intervention.
The system catches all known failure modes and converts them into actionable, user-friendly messages:
β Authentication error: the LLM API rejected your credentials.
β Check that OPENROUTER_API_KEY in your .env file is correct.
β Run python main.py --validate to test your API keys.
β Visit https://openrouter.ai/keys to verify or rotate your key.
Handled explicitly: 401 auth failures, 429 rate limits, agent timeouts, keyboard interrupts, and generic exceptions (full traceback written to the log file only).
# Console: clean, timestamped INFO messages
23:15:00 [INFO ] β
OpenRouter API: connected and authenticated.
# File (logs/analyser_YYYYMMDD.log): full DEBUG context
2026-04-30 23:15:00 [DEBUG ] stocks_analyser.tools:get_company_info:98 β Company info fetched for SUZLON.BO: Suzlon Energy Ltd
Two handlers on one logger β operators see clean output, debug logs preserve full context for troubleshooting.
equity-crew/
β
βββ main.py # CLI entry point β orchestrates crews, parallel execution, error handling
βββ app.py # Streamlit web UI β live progress, results, PDF download
βββ agents.py # 6 CrewAI agent definitions with roles, backstories, tools, and limits
βββ tasks.py # 6 task definitions with descriptions, expected outputs, and guardrails
βββ tools.py # 11 tools: 8 fundamental + 1 valuation metrics + 1 technical + 1 EXA search
βββ logger.py # Centralised logging β console (INFO) + rotating file (DEBUG)
βββ validators.py # Startup checks: env vars, symbol format, live API connectivity
βββ report_generator.py # PDF report compilation via Jinja2 + WeasyPrint
β
βββ tests/
β βββ conftest.py # Shared fixtures and dummy credentials
β βββ test_validators.py # Symbol format, env-var, and resolution tests
β βββ test_tools.py # RSI/MACD/Bollinger maths, retry logic, mocked yfinance
β βββ test_tasks.py # Pydantic schema and guardrail tests
β
βββ .github/
β βββ workflows/
β βββ ci.yml # GitHub Actions β runs tests on Python 3.11 & 3.12
β
βββ .streamlit/
β βββ config.toml # Dark theme for Streamlit UI
β
βββ config/
β βββ agents.yaml # Agent configuration templates
β βββ tasks.yaml # Task configuration templates
β
βββ task_outputs/ # Generated reports (gitignored)
β βββ peer_comparison.md
β βββ technical_analysis.md
β βββ financial_analysis.md
β βββ investment_recommendation.md
β βββ *_Report_*.pdf
β
βββ logs/ # Daily debug log files (gitignored)
β βββ analyser_YYYYMMDD.log
β
βββ pytest.ini # Test configuration β pythonpath and testpaths
βββ packages.txt # Streamlit Cloud system dependencies (WeasyPrint/Pango)
βββ requirements.txt
βββ .env # API keys (gitignored)
βββ .gitignore
# 1. Clone the repository
git clone https://github.com/raghavg27/equity-crew.git
cd equity-crew
# 2. Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Set up environment variables
cp .env.example .env
# Edit .env and add your API keys:
# OPENROUTER_API_KEY=sk-or-v1-...
# EXA_API_KEY=...
### π³ Docker & Cloud Deployment
For containerized setup or deploying to Streamlit Cloud, see the [Deployment Guide](DEPLOYMENT.md).
### π€ Contributing
Interested in adding new agents or financial tools? Check out our [Contributing Guide](CONTRIBUTING.md).
# Validate API keys and connectivity before your first run
python main.py --validate
# Analyse any stock β NSE, BSE, NYSE, NASDAQ
python main.py --stock RELIANCE.NS # NSE (India)
python main.py --stock SUZLON.BO # BSE (India)
python main.py --stock AAPL # NYSE/NASDAQ (US)
python main.py --stock ^NSEI # Nifty 50 Index
# Enable verbose debug output
python main.py --stock TCS.NS --log-level DEBUG
Four markdown reports and a rich PDF are generated in task_outputs/:
| File | Contents |
|---|---|
| [SYMBOL]_Report_[DATE].pdf | Compiled final PDF report with badges, charts, and analysis. |
| peer_comparison.md | Side-by-side peer valuation table, premium/discount verdict, key takeaways |
| technical_analysis.md | RSI, MACD, Bollinger Bands, MAs, volume analysis, technical outlook |
| financial_analysis.md | Full fundamental + news + technical + peer synthesis |
| investment_recommendation.md | Structured JSON: action, confidence, target, reasons, risks |
A debug log is written to logs/analyser_YYYYMMDD.log after every run.
| Layer | Technology | Purpose |
|---|---|---|
| Agent Framework | CrewAI | Multi-agent orchestration, task chaining, context passing |
| LLM Gateway | OpenRouter | Unified API for multiple LLM providers |
| LLM | GPT-class model (via OpenRouter) | Agent reasoning, synthesis, and recommendation |
| Market Data | yfinance | Financial statements, price history, insider data |
| News Search | EXA | Neural semantic search for real-time news |
| HTTP | curl_cffi | Chrome-impersonating session to bypass bot detection on yfinance |
| Output Validation | Pydantic v2 | Strict schema enforcement on LLM output |
| Concurrency | concurrent.futures.ThreadPoolExecutor | Parallel Phase 1 crew execution |
| Logging | Python logging | Dual-handler: console (INFO) + file (DEBUG) |
| Env Management | python-dotenv | Secure API key loading |
The pipeline is split into two phases specifically to maximise parallelism while respecting task dependencies:
ββββββββββββββββββββββββββββββββ
β Sequential Baseline β
β T1ββT2ββT3ββT4ββT5 β
β ββββββββ ~373s βββββββββ β
ββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββ
β This System (Parallel Phase 1)β
β T1 ββ β
β T2 ββΌββ (concurrent) ββT4ββT5β
β T3 ββ β
β βββ ~231s βββ β
ββββββββββββββββββββββββββββββββ
Tasks 1, 2, and 3 have no dependency on each other β they can start simultaneously. Tasks 4 and 5 depend on the combined output of Tasks 1β3, so they run sequentially after Phase 1 completes.
Why CrewAI? CrewAI provides a clean abstraction for multi-agent pipelines β role-based agents, task context passing, structured output, and built-in retry logic. It handles the complexity of chaining LLM calls with tool use so the code focuses on the domain logic.
Why OpenRouter instead of OpenAI directly? OpenRouter provides a unified gateway to multiple LLMs (GPT, Claude, Gemini, Llama, etc.) under one API. This makes it trivial to swap models by changing a single config string β useful for cost/quality tradeoffs.
Why identify peers dynamically via LLM rather than a hardcoded map? A static peer mapping would cover only stocks we've pre-configured and would quickly go stale as companies enter/exit sectors. The LLM has broad market knowledge and can identify the most relevant competitors for any stock globally β from Nifty50 to NASDAQ β without maintenance overhead. The get_valuation_metrics tool then fetches live data for whichever peers the agent selects.
Why the guardrail pattern? LLMs can hallucinate or produce malformed structured output. The Pydantic schema + guardrail function creates a closed feedback loop β if the output is invalid, CrewAI feeds the validation error back to the agent as a correction prompt and retries automatically.
Why separate console and file log handlers? Operators running interactively want a clean, scannable INFO stream. Debugging a failure at 2am requires full context (module, function, line). Two handlers on one logger satisfies both needs without changing code.
The project ships with a full unit test suite and GitHub Actions CI that runs on every push.
# Run the test suite locally
pytest
# Verbose output
pytest -v
59 tests across 3 modules β all run without real API credentials (yfinance and LLM calls are mocked):
| Module | What it tests |
|---|---|
| tests/test_validators.py | Symbol regex rules, env-var presence checks, yfinance symbol resolution (mocked) |
| tests/test_tools.py | RSI / MACD / Bollinger maths, exponential-backoff retry logic, get_company_info with mocked yfinance |
| tests/test_tasks.py | InvestmentRecommendation Pydantic schema, all validate_recommendation guardrail branches |
Key testing patterns demonstrated:
unittest.mock.patch used to replace yfinance, time.sleep, and dotenv so tests are fast, deterministic, and free@pytest.mark.parametrize covering US, NSE, BSE, index, and hyphenated tickers in a single testCI runs on Python 3.11 and 3.12 via GitHub Actions on every push and pull request to main.
In addition to the CLI, a Streamlit web app is included for interactive use:
streamlit run app.py
Features: live per-agent progress updates, colour-coded BUY/HOLD/SELL banner, tabbed reports (Financial Β· Technical Β· Peers Β· Price Chart), and a one-click PDF download.
--watchlist RELIANCE.NS,TCS.NS,INFY.NS for batch analysisIf you are a recruiter or an engineering manager looking for a Senior AI Engineer or GenAI Developer, this project demonstrates my ability to build production-ready AI systems, not just Jupyter notebook prototypes.
Here is what this project proves I can bring to your team:
ThreadPoolExecutor, drastically cutting down wall-clock time by ~40% while respecting task dependencies.yfinance), neural search (EXA), and multi-LLM gateways (OpenRouter).Feel free to reach out to me for roles involving LLMs, autonomous agents, and AI backend infrastructure!
MIT License β see LICENSE for details.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/crewai-raghavg27-equity-crew/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-raghavg27-equity-crew/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-raghavg27-equity-crew/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
AI Agents & MCPs & AI Workflow Automation β’ (~400 MCP servers for AI agents) β’ AI Automation / AI Agent with MCPs β’ AI Workflows & AI Agents β’ MCPs for AI Agents
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | π Star if you like it!
The Frontend for Agents & Generative UI. React + Angular
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-raghavg27-equity-crew/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-raghavg27-equity-crew/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-raghavg27-equity-crew/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-raghavg27-equity-crew/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-raghavg27-equity-crew/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-raghavg27-equity-crew/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_REPOS",
"generatedAt": "2026-10-09T08:59:52.917Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "crewai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "multi-agent",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}Facts JSON
[
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Raghavg27",
"href": "https://github.com/raghavg27/equity-crew",
"sourceUrl": "https://github.com/raghavg27/equity-crew",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T05:28:37.722Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/crewai-raghavg27-equity-crew/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-raghavg27-equity-crew/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T05:28:37.722Z",
"isPublic": true
},
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/crewai-raghavg27-equity-crew/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-raghavg27-equity-crew/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub Β· GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to equity-crew and adjacent AI workflows.