updated weather workflow
This commit is contained in:
@@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
name: Temperature Readings History
|
||||||
|
description: Historical record of Dubai temperature readings
|
||||||
|
type: project
|
||||||
|
---
|
||||||
|
|
||||||
|
# Dubai Temperature Readings
|
||||||
|
|
||||||
|
| Date | Time | Temperature | Unit |
|
||||||
|
|------|------|-------------|------|
|
||||||
|
| 2026-04-26 | 14:26 | 32.0 | Celsius |
|
||||||
|
| 2026-04-26 | Current | 32.2 | Celsius |
|
||||||
|
| 2026-04-26 | 11:00 UTC | 32.0 | Celsius |
|
||||||
|
| 2026-04-26 | Latest | 89.3 | Fahrenheit |
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
- Latest reading: 89.3°F (approximately 32.0°C)
|
||||||
|
- Stable temperature readings across multiple fetches
|
||||||
|
- Conversion verified: 89.3°F ≈ 32.0°C
|
||||||
@@ -1,18 +1,9 @@
|
|||||||
---
|
---
|
||||||
name: weather-agent
|
name: weather-agent
|
||||||
description: Use this agent PROACTIVELY when you need to fetch weather data for Dubai, UAE. This agent fetches real-time temperature from Open-Meteo using its preloaded weather-fetcher skill.
|
description: Use this agent PROACTIVELY when you need to fetch weather data for Dubai, UAE. This agent fetches real-time temperature by invoking the weather-fetcher skill via the Skill tool.
|
||||||
allowedTools:
|
allowedTools:
|
||||||
- "Bash(*)"
|
|
||||||
- "Read"
|
- "Read"
|
||||||
- "Write"
|
- "Skill"
|
||||||
- "Edit"
|
|
||||||
- "Glob"
|
|
||||||
- "Grep"
|
|
||||||
- "WebFetch(*)"
|
|
||||||
- "WebSearch(*)"
|
|
||||||
- "Agent"
|
|
||||||
- "NotebookEdit"
|
|
||||||
- "mcp__*"
|
|
||||||
model: sonnet
|
model: sonnet
|
||||||
color: green
|
color: green
|
||||||
maxTurns: 5
|
maxTurns: 5
|
||||||
@@ -47,32 +38,46 @@ hooks:
|
|||||||
|
|
||||||
You are a specialized weather agent that fetches weather data for Dubai, UAE.
|
You are a specialized weather agent that fetches weather data for Dubai, UAE.
|
||||||
|
|
||||||
|
## Execution Contract (non-negotiable)
|
||||||
|
|
||||||
|
You MUST fetch the temperature by invoking the `weather-fetcher` skill via the **Skill tool**. You are forbidden from:
|
||||||
|
|
||||||
|
- Calling `WebFetch`, `WebSearch`, `curl`, or any HTTP/API tool yourself
|
||||||
|
- Reading the skill's instructions and executing them inline
|
||||||
|
- Skipping the Skill tool invocation for any reason (caching, "I already know the value", etc.)
|
||||||
|
|
||||||
|
Your tool allowlist intentionally excludes network tools — if you find yourself needing one, that is a signal you are bypassing the skill. Stop and use `Skill(weather-fetcher)` instead.
|
||||||
|
|
||||||
## Your Task
|
## Your Task
|
||||||
|
|
||||||
Execute the weather workflow by following the instructions from your preloaded skill:
|
1. **Invoke**: Call the Skill tool with `skill: weather-fetcher` to fetch the current temperature
|
||||||
|
|
||||||
1. **Fetch**: Follow the `weather-fetcher` skill instructions to fetch the current temperature
|
|
||||||
2. **Report**: Return the temperature value and unit to the caller
|
2. **Report**: Return the temperature value and unit to the caller
|
||||||
3. **Memory**: Update your agent memory with the reading details for historical tracking
|
3. **Memory**: Update your agent memory with the reading details for historical tracking
|
||||||
|
|
||||||
## Workflow
|
## Workflow
|
||||||
|
|
||||||
### Step 1: Fetch Temperature (weather-fetcher skill)
|
### Step 1: Invoke weather-fetcher skill
|
||||||
|
|
||||||
Follow the weather-fetcher skill instructions to:
|
Use the **Skill tool** to invoke the weather-fetcher skill:
|
||||||
- Fetch current temperature from Open-Meteo for Dubai
|
|
||||||
- Extract the temperature value in the requested unit (Celsius or Fahrenheit)
|
|
||||||
- Return the numeric value and unit
|
|
||||||
|
|
||||||
## Final Report
|
```
|
||||||
|
Skill(skill: "weather-fetcher")
|
||||||
|
```
|
||||||
|
|
||||||
After completing the fetch, return a concise report:
|
The skill will fetch the current temperature from Open-Meteo for Dubai and return the temperature value in the requested unit (Celsius or Fahrenheit). Pass the unit preference as part of the invocation context.
|
||||||
|
|
||||||
|
**Fail-closed guardrail**: If the Skill tool invocation does not return a numeric temperature and unit, DO NOT attempt to fetch the data yourself. Report the failure to the caller and stop.
|
||||||
|
|
||||||
|
### Step 2: Final Report
|
||||||
|
|
||||||
|
After the skill returns, provide a concise report to the caller:
|
||||||
- Temperature value (numeric)
|
- Temperature value (numeric)
|
||||||
- Temperature unit (Celsius or Fahrenheit)
|
- Temperature unit (Celsius or Fahrenheit)
|
||||||
- Comparison with previous reading (if available in memory)
|
- Comparison with previous reading (if available in memory)
|
||||||
|
|
||||||
## Critical Requirements
|
## Critical Requirements
|
||||||
|
|
||||||
1. **Use Your Skill**: The skill content is preloaded - follow those instructions
|
1. **Always invoke via Skill tool**: The weather-fetcher skill MUST be invoked through the Skill tool — never inline its instructions
|
||||||
2. **Return Data**: Your job is to fetch and return the temperature - not to write files or create outputs
|
2. **Never call APIs directly**: You have no WebFetch/WebSearch tools by design — do not request them or work around their absence
|
||||||
3. **Unit Preference**: Use whichever unit the caller requests (Celsius or Fahrenheit)
|
3. **Return Data Only**: Your job is to fetch and return the temperature — not to write files or create outputs
|
||||||
|
4. **Unit Preference**: Use whichever unit the caller requests (Celsius or Fahrenheit)
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
name: weather-fetcher
|
name: weather-fetcher
|
||||||
description: Instructions for fetching current weather temperature data for Dubai, UAE from Open-Meteo API
|
description: Instructions for fetching current weather temperature data for Dubai, UAE from Open-Meteo API
|
||||||
user-invocable: false
|
user-invocable: false
|
||||||
|
allowed-tools:
|
||||||
|
- "WebFetch(*)"
|
||||||
---
|
---
|
||||||
|
|
||||||
# Weather Fetcher Skill
|
# Weather Fetcher Skill
|
||||||
|
|||||||
@@ -27,7 +27,9 @@ name: weather-agent
|
|||||||
description: Use this agent PROACTIVELY when you need to fetch weather data for
|
description: Use this agent PROACTIVELY when you need to fetch weather data for
|
||||||
Dubai, UAE. This agent fetches real-time temperature from Open-Meteo
|
Dubai, UAE. This agent fetches real-time temperature from Open-Meteo
|
||||||
using its preloaded weather-fetcher skill.
|
using its preloaded weather-fetcher skill.
|
||||||
tools: WebFetch, Read, Write, Edit
|
allowedTools:
|
||||||
|
- "Read"
|
||||||
|
- "Skill"
|
||||||
model: sonnet
|
model: sonnet
|
||||||
color: green
|
color: green
|
||||||
maxTurns: 5
|
maxTurns: 5
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ This showcases the **Command → Agent → Skill** architecture pattern, where:
|
|||||||
- **Location**: `.claude/agents/weather-agent.md`
|
- **Location**: `.claude/agents/weather-agent.md`
|
||||||
- **Purpose**: Fetch weather data using its preloaded skill
|
- **Purpose**: Fetch weather data using its preloaded skill
|
||||||
- **Skills**: `weather-fetcher` (preloaded as domain knowledge)
|
- **Skills**: `weather-fetcher` (preloaded as domain knowledge)
|
||||||
- **Tools Available**: WebFetch, Read
|
- **Tools Available**: Read, Skill
|
||||||
- **Model**: sonnet
|
- **Model**: sonnet
|
||||||
- **Color**: green
|
- **Color**: green
|
||||||
- **Memory**: project
|
- **Memory**: project
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
# Weather Result
|
# Weather Result
|
||||||
|
|
||||||
## Temperature
|
## Temperature
|
||||||
26.2°C
|
89.3°F
|
||||||
|
|
||||||
## Location
|
## Location
|
||||||
Dubai, UAE
|
Dubai, UAE
|
||||||
|
|
||||||
## Unit
|
## Unit
|
||||||
Celsius
|
Fahrenheit
|
||||||
|
|
||||||
## SVG Card
|
## SVG Card
|
||||||

|

|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 160" width="300" height="160">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 160" width="300" height="160">
|
||||||
<rect width="300" height="160" rx="12" fill="#1a1a2e"/>
|
<rect width="300" height="160" rx="12" fill="#1a1a2e"/>
|
||||||
<text x="150" y="45" text-anchor="middle" fill="#8892b0" font-family="system-ui" font-size="14">Unit: Celsius</text>
|
<text x="150" y="45" text-anchor="middle" fill="#8892b0" font-family="system-ui" font-size="14">Unit: Fahrenheit</text>
|
||||||
<text x="150" y="100" text-anchor="middle" fill="#ccd6f6" font-family="system-ui" font-size="42" font-weight="bold">26.2°C</text>
|
<text x="150" y="100" text-anchor="middle" fill="#ccd6f6" font-family="system-ui" font-size="42" font-weight="bold">89.3°F</text>
|
||||||
<text x="150" y="140" text-anchor="middle" fill="#64ffda" font-family="system-ui" font-size="16">Dubai, UAE</text>
|
<text x="150" y="140" text-anchor="middle" fill="#64ffda" font-family="system-ui" font-size="16">Dubai, UAE</text>
|
||||||
</svg>
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 522 B After Width: | Height: | Size: 524 B |
Reference in New Issue
Block a user