AionUi
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!
Crawler Summary
WeatherAI is a weather assistant built with CrewAI, Open-Meteo, and Groq. It lets you ask natural-language questions about current weather, future forecast data, historical weather. WeatherAI WeatherAI is a production-minded Python prototype for natural-language weather lookup. It combines a Streamlit interface, a CrewAI orchestration layer, Open-Meteo data services, and Groq inference using openai/gpt-oss-20b. The system separates factual retrieval from language generation: Open-Meteo provides the weather values, while Groq turns the retrieved data into a concise answer. This prevents the model Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 10/9/2026.
Freshness
Last checked 10/9/2026
Best For
WeatherAI 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
WeatherAI is a weather assistant built with CrewAI, Open-Meteo, and Groq. It lets you ask natural-language questions about current weather, future forecast data, historical weather. WeatherAI WeatherAI is a production-minded Python prototype for natural-language weather lookup. It combines a Streamlit interface, a CrewAI orchestration layer, Open-Meteo data services, and Groq inference using openai/gpt-oss-20b. The system separates factual retrieval from language generation: Open-Meteo provides the weather values, while Groq turns the retrieved data into a concise answer. This prevents the model
Public facts
5
Change events
1
Artifacts
0
Freshness
Oct 9, 2026
Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 10/9/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Oct 9, 2026
Vendor
Sharan1370
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. 1 GitHub stars reported by the source. 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
Sharan1370
Protocol compatibility
OpenClaw
Adoption signal
1 GitHub stars
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
0
Snippets
0
Languages
python
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB REPOS
Editorial quality
ready
WeatherAI is a weather assistant built with CrewAI, Open-Meteo, and Groq. It lets you ask natural-language questions about current weather, future forecast data, historical weather. WeatherAI WeatherAI is a production-minded Python prototype for natural-language weather lookup. It combines a Streamlit interface, a CrewAI orchestration layer, Open-Meteo data services, and Groq inference using openai/gpt-oss-20b. The system separates factual retrieval from language generation: Open-Meteo provides the weather values, while Groq turns the retrieved data into a concise answer. This prevents the model
WeatherAI is a production-minded Python prototype for natural-language weather lookup. It combines a Streamlit interface, a CrewAI orchestration layer, Open-Meteo data services, and Groq inference using openai/gpt-oss-20b.
The system separates factual retrieval from language generation: Open-Meteo provides the weather values, while Groq turns the retrieved data into a concise answer. This prevents the model from inventing numerical weather information.
flowchart TD
User[User] --> UI[Streamlit app.py]
User --> CLI[CLI main.py]
UI --> Crew[CrewAI weather_crew]
CLI --> Crew
Crew --> Task[weather_task]
Task --> Agent[Weather Intelligence Specialist]
Agent --> Current[Current Weather Tool]
Agent --> Forecast[Weather Forecast Tool]
Agent --> Historical[Historical Weather Tool]
Current --> OpenMeteo[Open-Meteo APIs]
Forecast --> OpenMeteo
Historical --> OpenMeteo
OpenMeteo --> ToolResult[Formatted weather data]
ToolResult --> Agent
Agent --> Groq[Groq: openai/gpt-oss-20b]
Groq --> Answer[Natural-language answer]
Answer --> UI
Answer --> CLI
classDef user fill:#FFF4CC,stroke:#D97706,color:#78350F,stroke-width:2px;
classDef app fill:#DDEBFF,stroke:#2563EB,color:#172554,stroke-width:2px;
classDef crew fill:#EDE9FE,stroke:#7C3AED,color:#3B0764,stroke-width:2px;
classDef tool fill:#D1FAE5,stroke:#059669,color:#064E3B,stroke-width:2px;
classDef api fill:#FFE4E6,stroke:#E11D48,color:#881337,stroke-width:2px;
classDef output fill:#CCFBF1,stroke:#0F766E,color:#134E4A,stroke-width:2px;
class User user;
class UI,CLI app;
class Crew,Task,Agent,Groq crew;
class Current,Forecast,Historical,ToolResult tool;
class OpenMeteo api;
class Answer output;
sequenceDiagram
participant U as User
participant F as Frontend or CLI
participant C as CrewAI Crew
participant A as Weather Agent
participant G as Geocoding API
participant W as Weather API
participant L as Groq
U->>F: Enter weather question
F->>C: kickoff(question)
C->>A: Execute weather task
A->>A: Classify current, forecast, or historical
A->>G: Resolve city to coordinates
G-->>A: Coordinates and timezone
A->>W: Request weather data
W-->>A: JSON weather data
A->>L: Explain tool result
L-->>C: Final weather answer
C-->>F: Crew output
F-->>U: Display answer
Note over F,L: The tool result is the source of truth for weather values.
flowchart TD
Start[Weather question] --> Location[Identify location]
Location --> Type{What type of request?}
Type -->|Current or now| Current[Current Weather Tool]
Type -->|Tomorrow or future| Forecast[Weather Forecast Tool]
Type -->|Yesterday or past date| Historical[Historical Weather Tool]
Current --> Explain[Groq explains retrieved data]
Forecast --> Explain
Historical --> Explain
Explain --> Final[Final answer with source and values]
classDef input fill:#FEF3C7,stroke:#D97706,color:#78350F,stroke-width:2px;
classDef decision fill:#EDE9FE,stroke:#7C3AED,color:#3B0764,stroke-width:2px;
classDef tool fill:#D1FAE5,stroke:#059669,color:#064E3B,stroke-width:2px;
classDef output fill:#DBEAFE,stroke:#2563EB,color:#172554,stroke-width:2px;
class Start,Location input;
class Type decision;
class Current,Forecast,Historical tool;
class Explain,Final output;
flowchart TD
Request[Historical request] --> Validate[Validate YYYY-MM-DD dates]
Validate --> Valid{Valid and not future?}
Valid -->|No| Error[Return validation error]
Valid -->|Yes| Age{Date range within recent 10 days?}
Age -->|Yes| Recent[Forecast API with past_days]
Age -->|No| Archive[ERA5 archive API]
Recent --> Format[Format historical result]
Archive --> Format
Format --> Agent[Return result to CrewAI agent]
classDef input fill:#FEF3C7,stroke:#D97706,color:#78350F,stroke-width:2px;
classDef validation fill:#FCE7F3,stroke:#DB2777,color:#831843,stroke-width:2px;
classDef branch fill:#EDE9FE,stroke:#7C3AED,color:#3B0764,stroke-width:2px;
classDef source fill:#D1FAE5,stroke:#059669,color:#064E3B,stroke-width:2px;
classDef output fill:#DBEAFE,stroke:#2563EB,color:#172554,stroke-width:2px;
class Request input;
class Validate,Error validation;
class Valid,Age branch;
class Recent,Archive source;
class Format,Agent output;
flowchart LR
Browser[User browser] --> Streamlit[Streamlit process]
Streamlit --> CrewAI[CrewAI and LiteLLM]
CrewAI --> Groq[Groq API]
CrewAI --> Meteo[Open-Meteo APIs]
Env[Environment secrets] --> Streamlit
classDef client fill:#FFF4CC,stroke:#D97706,color:#78350F,stroke-width:2px;
classDef runtime fill:#DDEBFF,stroke:#2563EB,color:#172554,stroke-width:2px;
classDef service fill:#FFE4E6,stroke:#E11D48,color:#881337,stroke-width:2px;
classDef secret fill:#FCE7F3,stroke:#DB2777,color:#831843,stroke-width:2px;
class Browser client;
class Streamlit,CrewAI runtime;
class Groq,Meteo service;
class Env secret;
flowchart LR
subgraph Presentation[Presentation Layer]
APP[app.py\nStreamlit UI]
MAIN[main.py\nCLI]
end
subgraph Orchestration[Orchestration Layer]
CREW[crew/weather_crew.py]
TASK[tasks/weather_tasks.py]
AGENT[agents/weather_agents.py]
ADAPTER[GroqLLM\ncache marker adapter]
end
subgraph Domain[Weather Tool Layer]
CURRENT[weather_tools.py]
FORECAST[forecast_tools.py]
HISTORY[historical_tools.py]
end
subgraph External[External Services]
GEO[Open-Meteo\nGeocoding]
WEATHER[Open-Meteo\nForecast and ERA5]
GROQ[Groq API]
end
APP --> CREW
MAIN --> CREW
CREW --> TASK
TASK --> AGENT
AGENT --> ADAPTER
AGENT --> CURRENT
AGENT --> FORECAST
AGENT --> HISTORY
CURRENT --> GEO
FORECAST --> GEO
HISTORY --> GEO
CURRENT --> WEATHER
FORECAST --> WEATHER
HISTORY --> WEATHER
ADAPTER --> GROQ
classDef presentation fill:#DBEAFE,stroke:#2563EB,color:#172554,stroke-width:2px;
classDef orchestration fill:#EDE9FE,stroke:#7C3AED,color:#3B0764,stroke-width:2px;
classDef domain fill:#D1FAE5,stroke:#059669,color:#064E3B,stroke-width:2px;
classDef external fill:#FFE4E6,stroke:#E11D48,color:#881337,stroke-width:2px;
class APP,MAIN presentation;
class CREW,TASK,AGENT,ADAPTER orchestration;
class CURRENT,FORECAST,HISTORY domain;
class GEO,WEATHER,GROQ external;
flowchart TD
Request[User request] --> Crew[Start CrewAI task]
Crew --> Location{Location found?}
Location -->|No| LocationError[Return location error]
Location -->|Yes| Dates{Dates valid?}
Dates -->|No| DateError[Return date validation error]
Dates -->|Yes| API[Call Open-Meteo]
API --> Network{Request successful?}
Network -->|No| ServiceError[Return service error]
Network -->|Yes| Data[Format weather data]
Data --> Model[Groq explains data]
Model --> Answer[Display answer]
LocationError --> DisplayError[Display readable error]
DateError --> DisplayError
ServiceError --> DisplayError
classDef request fill:#FFF4CC,stroke:#D97706,color:#78350F,stroke-width:2px;
classDef process fill:#DBEAFE,stroke:#2563EB,color:#172554,stroke-width:2px;
classDef decision fill:#EDE9FE,stroke:#7C3AED,color:#3B0764,stroke-width:2px;
classDef error fill:#FEE2E2,stroke:#DC2626,color:#7F1D1D,stroke-width:2px;
classDef success fill:#D1FAE5,stroke:#059669,color:#064E3B,stroke-width:2px;
class Request request;
class Crew,API,Data,Model,Answer process;
class Location,Dates,Network decision;
class LocationError,DateError,ServiceError,DisplayError error;
flowchart LR
Question[Plain-language question] --> Intent[Intent and location]
Intent --> Coordinates[Latitude, longitude, timezone]
Coordinates --> Params[API request parameters]
Params --> JSON[Open-Meteo JSON]
JSON --> Formatter[Tool formatter]
Formatter --> Evidence[Structured weather evidence]
Evidence --> Explanation[Groq explanation]
Explanation --> Response[User-facing response]
classDef question fill:#FFF4CC,stroke:#D97706,color:#78350F,stroke-width:2px;
classDef transform fill:#DBEAFE,stroke:#2563EB,color:#172554,stroke-width:2px;
classDef data fill:#D1FAE5,stroke:#059669,color:#064E3B,stroke-width:2px;
classDef language fill:#EDE9FE,stroke:#7C3AED,color:#3B0764,stroke-width:2px;
class Question question;
class Intent,Coordinates,Params,Formatter transform;
class JSON,Evidence data;
class Explanation,Response language;
stateDiagram-v2
[*] --> Ready
Ready --> WaitingForQuestion: App loaded
WaitingForQuestion --> Processing: User submits question
Processing --> SelectingTool: CrewAI starts task
SelectingTool --> CallingWeatherAPI: Tool selected
CallingWeatherAPI --> GeneratingAnswer: Data returned
CallingWeatherAPI --> Error: API or validation failure
GeneratingAnswer --> DisplayingAnswer: Groq response received
DisplayingAnswer --> WaitingForQuestion: Continue conversation
Error --> WaitingForQuestion: Show readable error
WaitingForQuestion --> [*]: App closed
pip or uvRuntime dependencies are listed in requirements.txt and pyproject.toml:
crewaipython-dotenvrequestsstreamlitlangchain-groqlitellmcd C:\weather_prediction_done
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt
If PowerShell blocks activation for the current terminal, run:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Then activate the environment again.
cd weather_prediction_done
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
Create a .env file in the project root. Never commit a real API key.
GROQ_API_KEY=your_groq_api_key
The application always uses:
openai/gpt-oss-20b
The model is pinned in agents/weather_agents.py; no model override is required in .env.
streamlit run app.py
Open the URL printed by Streamlit, usually http://localhost:8501.
The web app provides:
python main.py
Enter one question when prompted. The result is printed in the terminal.
python test_tools.py
python test_forecast.py
python test_historical.py
These scripts call weather tools directly without asking the LLM to route the request.
app.py or main.py receives the question.weather_crew.kickoff(inputs={"question": question}).weather_task tells the agent to classify the request.Defined in tools/weather_tools.py.
Input:
location: city name
Process:
The result can contain temperature, feels-like temperature, humidity, dew point, wind, precipitation, cloud cover, visibility, pressure, UV index, weather code, and whether it is day or night.
Defined in tools/forecast_tools.py.
Input:
location: city name
forecast_days: integer from 1 through 16
The tool requests one extra day so it can skip today and return the requested future days. It returns daily minimum and maximum temperatures, precipitation, rain probability, wind, gusts, UV index, sunrise, and sunset.
Defined in tools/historical_tools.py.
Input:
location: city name
start_date: YYYY-MM-DD
end_date: YYYY-MM-DD
The tool rejects invalid dates, reversed ranges, and future dates. Recent requests use the forecast API's past_days option. Older requests use the Open-Meteo ERA5 archive API.
weather_prediction_done/
|-- app.py Streamlit web application
|-- main.py Command-line application
|-- pyproject.toml Project metadata and dependencies
|-- requirements.txt pip dependency list
|-- README.md This documentation
|-- .env Local secrets; do not commit
|-- tomorrow_client.py Optional Tomorrow.io example client
|-- agents/
| `-- weather_agents.py Agent and Groq compatibility adapter
|-- config/
| `-- settings.py Configuration placeholder
|-- crew/
| `-- weather_crew.py Crew composition
|-- tasks/
| `-- weather_tasks.py Routing and answer instructions
`-- tools/
|-- weather_tools.py Current weather tool
|-- forecast_tools.py Forecast tool
|-- historical_tools.py Historical weather tool
`-- test_historical.py Tool-level historical check
agents/weather_agents.pyCreates the weather agent, registers all weather tools, loads environment values, and pins the model to openai/gpt-oss-20b. GroqLLM removes CrewAI's internal cache marker before LiteLLM sends the request to Groq.
tasks/weather_tasks.pyDefines the classification rules and expected answer format. The task requires the agent to use real tool output and avoid invented numbers.
crew/weather_crew.pyCreates a sequential CrewAI crew with the weather agent and weather task.
app.pyCreates the Streamlit page, manages chat session state, handles example questions, calls the crew, and displays errors in the UI.
python test_config.py
This reports whether GROQ_API_KEY is loaded and prints the configured test model value.
python test_groq.py
This sends a direct request to the Groq OpenAI-compatible endpoint. It requires GROQ_API_KEY and internet access.
python test_tools.py
python test_forecast.py
python test_historical.py
These checks require internet access to Open-Meteo. They are smoke tests rather than isolated unit tests.
python -m py_compile app.py main.py agents/weather_agents.py crew/weather_crew.py tasks/weather_tasks.py tools/weather_tools.py tools/forecast_tools.py tools/historical_tools.py
app.py as the entry point.GROQ_API_KEY in the app's Secrets settings.requirements.txt.Do not upload .env or place the API key in source code.
The process needs Python dependencies, a listening Streamlit server, and the Groq secret. A typical command inside a container is:
streamlit run app.py --server.address 0.0.0.0 --server.port 8501
Set GROQ_API_KEY through the platform's secret manager or environment configuration.
The same deployment pattern works on Render, Railway, Azure, AWS, or another Python host:
requirements.txt.GROQ_API_KEY securely.streamlit run app.py --server.address 0.0.0.0 --server.port $PORT when the platform supplies PORT.GROQ_API_KEY is missingConfirm that .env exists in the project root and that the virtual environment is active. For deployment, add the key to the hosting platform's secrets instead of relying on .env.
groq/openai/gpt-oss-20bInstall the dependencies again:
pip install -r requirements.txt
The litellm package is required because this CrewAI configuration uses a Groq model identifier through LiteLLM.
cache_breakpointUse the project's GroqLLM adapter in agents/weather_agents.py. It removes CrewAI's internal cache marker before the Groq request. Do not replace it with a raw ChatGroq object in Agent(llm=...) for this CrewAI version.
Try a more specific location, such as:
Chennai, India
London, United Kingdom
The geocoding service uses the first matching result.
Use YYYY-MM-DD, make sure the start date is not after the end date, and do not request a future date.
Check the terminal logs, verify the Groq key, verify internet access, and run the direct checks:
python test_config.py
python test_groq.py
python test_tools.py
Start Streamlit on another port:
streamlit run app.py --server.port 8502
GROQ_API_KEY out of Git.cd C:\weather_prediction_done
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
Create .env:
GROQ_API_KEY=your_groq_api_key
Start the app:
streamlit run app.py
Then ask:
What is the weather in London right now?
Review the current terms and usage limits for CrewAI, Groq, Streamlit, and Open-Meteo before deploying the project commercially. This repository does not include a separate license declaration.
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-sharan1370-weatherai/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-sharan1370-weatherai/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-sharan1370-weatherai/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.
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!
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.
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-sharan1370-weatherai/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-sharan1370-weatherai/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-sharan1370-weatherai/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-sharan1370-weatherai/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-sharan1370-weatherai/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-sharan1370-weatherai/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-09T21:45:25.675Z"
}
},
"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": "Sharan1370",
"href": "https://github.com/sharan1370/WeatherAI",
"sourceUrl": "https://github.com/sharan1370/WeatherAI",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T12:50:37.798Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/crewai-sharan1370-weatherai/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-sharan1370-weatherai/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T12:50:37.798Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1 GitHub stars",
"href": "https://github.com/sharan1370/WeatherAI",
"sourceUrl": "https://github.com/sharan1370/WeatherAI",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T12:50:37.798Z",
"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-sharan1370-weatherai/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-sharan1370-weatherai/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 WeatherAI and adjacent AI workflows.