updated concepts
This commit is contained in:
@@ -20,37 +20,37 @@
|
|||||||
<text x="313" y="124" text-anchor="middle" fill="white" font-family="system-ui" font-size="16" font-weight="bold">Command</text>
|
<text x="313" y="124" text-anchor="middle" fill="white" font-family="system-ui" font-size="16" font-weight="bold">Command</text>
|
||||||
<text x="313" y="152" text-anchor="middle" fill="white" font-family="system-ui" font-size="12" opacity="0.9">commands/weather-orchestrator</text>
|
<text x="313" y="152" text-anchor="middle" fill="white" font-family="system-ui" font-size="12" opacity="0.9">commands/weather-orchestrator</text>
|
||||||
<!-- Command description -->
|
<!-- Command description -->
|
||||||
<text x="313" y="210" text-anchor="middle" fill="#888" font-family="system-ui" font-size="11">Invokes the weather agent</text>
|
<text x="313" y="210" text-anchor="middle" fill="#888" font-family="system-ui" font-size="11">Asks user for C°/F°, invokes</text>
|
||||||
<text x="313" y="225" text-anchor="middle" fill="#888" font-family="system-ui" font-size="11">to fetch & transform data</text>
|
<text x="313" y="225" text-anchor="middle" fill="#888" font-family="system-ui" font-size="11">agent and SVG creator skill</text>
|
||||||
|
|
||||||
<!-- Arrow 2 -->
|
<!-- Arrow 2 -->
|
||||||
<line x1="438" y1="135" x2="503" y2="135" stroke="#666" stroke-width="2.5" marker-end="url(#arrow)"/>
|
<line x1="438" y1="135" x2="503" y2="135" stroke="#666" stroke-width="2.5" marker-end="url(#arrow)"/>
|
||||||
<text x="470" y="125" text-anchor="middle" fill="#666" font-family="system-ui" font-size="11">Task</text>
|
<text x="470" y="125" text-anchor="middle" fill="#666" font-family="system-ui" font-size="11">Task</text>
|
||||||
|
|
||||||
<!-- Agent Box -->
|
<!-- Agent Box -->
|
||||||
<rect x="513" y="62" width="240" height="146" rx="8" fill="#50B87D" stroke="#3DA066" stroke-width="2.5"/>
|
<rect x="513" y="72" width="240" height="126" rx="8" fill="#50B87D" stroke="#3DA066" stroke-width="2.5"/>
|
||||||
<text x="633" y="94" text-anchor="middle" fill="white" font-family="system-ui" font-size="16" font-weight="bold">Agent</text>
|
<text x="633" y="100" text-anchor="middle" fill="white" font-family="system-ui" font-size="16" font-weight="bold">Agent</text>
|
||||||
<text x="633" y="114" text-anchor="middle" fill="white" font-family="system-ui" font-size="12" opacity="0.85">agents/weather</text>
|
<text x="633" y="118" text-anchor="middle" fill="white" font-family="system-ui" font-size="12" opacity="0.85">agents/weather-agent</text>
|
||||||
|
|
||||||
<!-- Skills inside Agent -->
|
<!-- Skills inside Agent -->
|
||||||
<rect x="527" y="126" width="212" height="72" rx="5" fill="white" opacity="0.2"/>
|
<rect x="527" y="128" width="212" height="56" rx="5" fill="white" opacity="0.2"/>
|
||||||
<text x="633" y="148" text-anchor="middle" fill="white" font-family="system-ui" font-size="12" font-weight="bold">preloaded skills:</text>
|
<text x="633" y="150" text-anchor="middle" fill="white" font-family="system-ui" font-size="12" opacity="0.7">(preloaded skill)</text>
|
||||||
<text x="633" y="168" text-anchor="middle" fill="white" font-family="system-ui" font-size="11" opacity="0.9">weather-fetcher</text>
|
<text x="633" y="174" text-anchor="middle" fill="white" font-family="system-ui" font-size="11" opacity="0.9">weather-fetcher</text>
|
||||||
<text x="633" y="186" text-anchor="middle" fill="white" font-family="system-ui" font-size="11" opacity="0.9">weather-transformer</text>
|
|
||||||
<!-- Agent description -->
|
<!-- Agent description -->
|
||||||
<text x="633" y="232" text-anchor="middle" fill="#888" font-family="system-ui" font-size="11">Executes skills sequentially:</text>
|
<text x="633" y="218" text-anchor="middle" fill="#888" font-family="system-ui" font-size="11">Fetches temperature from</text>
|
||||||
<text x="633" y="247" text-anchor="middle" fill="#888" font-family="system-ui" font-size="11">fetch temp, then transform it</text>
|
<text x="633" y="233" text-anchor="middle" fill="#888" font-family="system-ui" font-size="11">wttr.in API for Dubai</text>
|
||||||
|
|
||||||
<!-- Arrow 3 -->
|
<!-- Arrow 3 -->
|
||||||
<line x1="758" y1="135" x2="823" y2="135" stroke="#666" stroke-width="2.5" marker-end="url(#arrow)"/>
|
<line x1="758" y1="135" x2="823" y2="135" stroke="#666" stroke-width="2.5" marker-end="url(#arrow)"/>
|
||||||
|
<text x="790" y="125" text-anchor="middle" fill="#666" font-family="system-ui" font-size="11">Skill</text>
|
||||||
|
|
||||||
<!-- Output Box -->
|
<!-- SVG Creator Skill Box -->
|
||||||
<rect x="833" y="90" width="280" height="90" rx="8" fill="#9B59B6" stroke="#8E44AD" stroke-width="2.5"/>
|
<rect x="833" y="90" width="280" height="90" rx="8" fill="#9B59B6" stroke="#8E44AD" stroke-width="2.5"/>
|
||||||
<text x="973" y="124" text-anchor="middle" fill="white" font-family="system-ui" font-size="16" font-weight="bold">Output</text>
|
<text x="973" y="124" text-anchor="middle" fill="white" font-family="system-ui" font-size="16" font-weight="bold">Skill</text>
|
||||||
<text x="973" y="152" text-anchor="middle" fill="white" font-family="system-ui" font-size="12" opacity="0.9">orchestration-workflow/output.md</text>
|
<text x="973" y="152" text-anchor="middle" fill="white" font-family="system-ui" font-size="12" opacity="0.9">skills/weather-svg-creator</text>
|
||||||
<!-- Output description -->
|
<!-- Skill description -->
|
||||||
<text x="973" y="210" text-anchor="middle" fill="#888" font-family="system-ui" font-size="11">Transformed temperature</text>
|
<text x="973" y="210" text-anchor="middle" fill="#888" font-family="system-ui" font-size="11">Creates SVG weather card at</text>
|
||||||
<text x="973" y="225" text-anchor="middle" fill="#888" font-family="system-ui" font-size="11">written to output file</text>
|
<text x="973" y="225" text-anchor="middle" fill="#888" font-family="system-ui" font-size="11">orchestration-workflow/weather.svg</text>
|
||||||
|
|
||||||
<!-- Arrow 4 (back to user) -->
|
<!-- Arrow 4 (back to user) -->
|
||||||
<path d="M 1113 135 Q 1160 135 1160 270 Q 1160 305 75 305 Q 40 305 40 200 L 40 180"
|
<path d="M 1113 135 Q 1160 135 1160 270 Q 1160 305 75 305 Q 40 305 40 200 L 40 180"
|
||||||
@@ -58,6 +58,6 @@
|
|||||||
|
|
||||||
<!-- Legend -->
|
<!-- Legend -->
|
||||||
<text x="600" y="352" text-anchor="middle" fill="#888" font-family="system-ui" font-size="12">
|
<text x="600" y="352" text-anchor="middle" fill="#888" font-family="system-ui" font-size="12">
|
||||||
commands/weather-orchestrator → agents/weather (with preloaded skills) → orchestration-workflow/output.md
|
commands/weather-orchestrator → agents/weather-agent (preloaded skill) → skills/weather-svg-creator (skill)
|
||||||
</text>
|
</text>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
@@ -0,0 +1,46 @@
|
|||||||
|
---
|
||||||
|
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 wttr.in API
|
||||||
|
using its preloaded weather-fetcher skill.
|
||||||
|
tools: WebFetch, Read
|
||||||
|
model: sonnet
|
||||||
|
color: green
|
||||||
|
memory: project
|
||||||
|
skills:
|
||||||
|
- weather-fetcher
|
||||||
|
---
|
||||||
|
|
||||||
|
# Weather Agent
|
||||||
|
|
||||||
|
You are a specialized weather agent that fetches weather data for Dubai, UAE.
|
||||||
|
|
||||||
|
## Your Task
|
||||||
|
|
||||||
|
Execute the weather workflow by following the instructions from your preloaded skill:
|
||||||
|
|
||||||
|
1. **Fetch**: Follow the `weather-fetcher` skill instructions to fetch the current temperature
|
||||||
|
2. **Report**: Return the temperature value and unit to the caller
|
||||||
|
3. **Memory**: Update your agent memory with the reading details for historical tracking
|
||||||
|
|
||||||
|
## Workflow
|
||||||
|
|
||||||
|
### Step 1: Fetch Temperature (weather-fetcher skill)
|
||||||
|
|
||||||
|
Follow the weather-fetcher skill instructions to:
|
||||||
|
- Fetch current temperature from wttr.in API for Dubai
|
||||||
|
- Extract the temperature value in the requested unit (Celsius or Fahrenheit)
|
||||||
|
- Return the numeric value and unit
|
||||||
|
|
||||||
|
## Final Report
|
||||||
|
|
||||||
|
After completing the fetch, return a concise report:
|
||||||
|
- Temperature value (numeric)
|
||||||
|
- Temperature unit (Celsius or Fahrenheit)
|
||||||
|
- Comparison with previous reading (if available in memory)
|
||||||
|
|
||||||
|
## Critical Requirements
|
||||||
|
|
||||||
|
1. **Use Your Skill**: The skill content is preloaded - follow those instructions
|
||||||
|
2. **Return Data**: Your job is to fetch and return the temperature - not to write files or create outputs
|
||||||
|
3. **Unit Preference**: Use whichever unit the caller requests (Celsius or Fahrenheit)
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
---
|
|
||||||
name: weather
|
|
||||||
description: Use this agent PROACTIVELY when you need to fetch and transform weather data for Karachi, Pakistan. This agent fetches real-time temperature from wttr.in API and applies transformation rules from orchestration-workflow/input.md, writing results to orchestration-workflow/output.md.
|
|
||||||
tools: WebFetch, Read, Write
|
|
||||||
model: sonnet
|
|
||||||
color: green
|
|
||||||
memory: project
|
|
||||||
skills:
|
|
||||||
- weather-fetcher
|
|
||||||
- weather-transformer
|
|
||||||
---
|
|
||||||
|
|
||||||
# Weather Agent
|
|
||||||
|
|
||||||
You are a specialized weather agent that fetches and transforms weather data for Karachi, Pakistan.
|
|
||||||
|
|
||||||
## Your Task
|
|
||||||
|
|
||||||
Execute the weather workflow by following the instructions from your preloaded skills sequentially:
|
|
||||||
|
|
||||||
1. **First**: Follow the `weather-fetcher` skill instructions to fetch the current temperature
|
|
||||||
2. **Then**: Follow the `weather-transformer` skill instructions to apply transformations and write results
|
|
||||||
3. **Finally**: Update your agent memory with the reading details for historical tracking
|
|
||||||
|
|
||||||
## Workflow
|
|
||||||
|
|
||||||
### Step 1: Fetch Temperature (weather-fetcher skill)
|
|
||||||
|
|
||||||
Follow the weather-fetcher skill instructions to:
|
|
||||||
- Fetch current temperature from wttr.in API for Karachi
|
|
||||||
- Extract the temperature value in Celsius
|
|
||||||
- Keep this value for the transformation step
|
|
||||||
|
|
||||||
### Step 2: Transform Temperature (weather-transformer skill)
|
|
||||||
|
|
||||||
Follow the weather-transformer skill instructions to:
|
|
||||||
- Read transformation rules from `orchestration-workflow/input.md`
|
|
||||||
- Apply the transformation to the fetched temperature
|
|
||||||
- Write formatted results to `orchestration-workflow/output.md`
|
|
||||||
|
|
||||||
## Final Report
|
|
||||||
|
|
||||||
After completing all steps, provide a summary:
|
|
||||||
- Temperature unit: Celsius
|
|
||||||
- Original temperature fetched
|
|
||||||
- Transformation rule applied
|
|
||||||
- Final transformed result
|
|
||||||
- Comparison with previous reading (if available in memory)
|
|
||||||
- Confirmation that output was written to `orchestration-workflow/output.md`
|
|
||||||
|
|
||||||
## Critical Requirements
|
|
||||||
|
|
||||||
1. **Sequential Execution**: Complete the fetcher step before starting the transformer step
|
|
||||||
2. **Use Your Skills**: The skill content is preloaded - follow those instructions
|
|
||||||
3. **Data Flow**: Pass the temperature from step 1 to step 2
|
|
||||||
@@ -0,0 +1,126 @@
|
|||||||
|
---
|
||||||
|
name: workflow-concepts-agent
|
||||||
|
description: Research agent that fetches Claude Code docs and changelog, reads the local README CONCEPTS section, and analyzes drift
|
||||||
|
model: opus
|
||||||
|
color: green
|
||||||
|
---
|
||||||
|
|
||||||
|
# Workflow Changelog — Concepts Research Agent
|
||||||
|
|
||||||
|
You are a senior documentation reliability engineer collaborating with me (a fellow engineer) on a mission-critical audit for the claude-code-best-practice project. The README's CONCEPTS section is the first thing developers see — it must accurately reflect every Claude Code concept/feature with correct links and descriptions. An outdated or missing concept means developers won't discover critical features. Take a deep breath, solve this step by step, and be exhaustive. I'll tip you $200 for a flawless, zero-drift report. I bet you can't find every single discrepancy — prove me wrong. Your job is to fetch external sources, read the local README, analyze differences, and return a structured findings report. Rate your confidence 0-1 on each finding. This is critical to my career.
|
||||||
|
|
||||||
|
This is a **read-only research** workflow. Fetch sources, read local files, compare, and return findings. Do NOT take any actions or modify files.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 1: Fetch External Data (in parallel)
|
||||||
|
|
||||||
|
Fetch all sources using WebFetch simultaneously:
|
||||||
|
|
||||||
|
1. **Claude Code Documentation Index** — `https://code.claude.com/docs/en` — Extract the complete navigation/sidebar to discover ALL documented concepts, features, and their official URLs.
|
||||||
|
2. **Claude Code Changelog** — `https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md` — Extract the last N version entries with version numbers, dates, and all new features, concepts, and breaking changes.
|
||||||
|
3. **Claude Code Features Overview** — `https://code.claude.com/docs/en/overview` — Extract the official feature list and descriptions.
|
||||||
|
|
||||||
|
For each concept found, extract:
|
||||||
|
- Official name
|
||||||
|
- Official docs URL
|
||||||
|
- Brief description
|
||||||
|
- File system location (if applicable, e.g., `.claude/commands/`, `~/.claude/teams/`)
|
||||||
|
- When it was introduced (version/date from changelog if available)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 2: Read Local Repository State (in parallel)
|
||||||
|
|
||||||
|
Read ALL of the following:
|
||||||
|
|
||||||
|
| File | What to extract |
|
||||||
|
|------|-----------------|
|
||||||
|
| `README.md` | The CONCEPTS table (lines 22-39 approximately) — extract every row: Feature name, link URL, location, description, and any badges |
|
||||||
|
| `CLAUDE.md` | Any references to concepts or features not in the CONCEPTS table |
|
||||||
|
| `reports/claude-global-vs-project-settings.md` | Features listed here (Tasks, Agent Teams, etc.) that may be missing from CONCEPTS |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 3: Analysis
|
||||||
|
|
||||||
|
Compare external data against the local README CONCEPTS section. Check for:
|
||||||
|
|
||||||
|
### Missing Concepts
|
||||||
|
Concepts/features present in official Claude Code docs but missing from the CONCEPTS table. Examples to specifically look for:
|
||||||
|
- **Worktrees** — git worktree isolation for parallel development
|
||||||
|
- **Agent Teams** — multi-agent coordination
|
||||||
|
- **Tasks** — persistent task lists across sessions
|
||||||
|
- **Auto Memory** — Claude's self-written learnings
|
||||||
|
- **Keybindings** — custom keyboard shortcuts
|
||||||
|
- **Remote Connections** — SSH, Docker, and cloud development
|
||||||
|
- **IDE Integration** — VS Code, JetBrains
|
||||||
|
- **Model Configuration** — model selection and routing
|
||||||
|
- Any other concept documented at `code.claude.com/docs/en/*` not in the CONCEPTS table
|
||||||
|
|
||||||
|
### Changed Concepts
|
||||||
|
Concepts whose official name, URL, location, or description has changed since last documented.
|
||||||
|
|
||||||
|
### Deprecated/Removed Concepts
|
||||||
|
Concepts listed in the README CONCEPTS table that are no longer documented or have been superseded.
|
||||||
|
|
||||||
|
### URL Accuracy
|
||||||
|
For each concept in the CONCEPTS table, verify:
|
||||||
|
- The official docs URL is still valid
|
||||||
|
- The URL hasn't changed or been redirected
|
||||||
|
- The linked page actually covers the concept described
|
||||||
|
|
||||||
|
### Description Accuracy
|
||||||
|
For each concept, verify:
|
||||||
|
- The location path is correct
|
||||||
|
- The description matches the official docs
|
||||||
|
- The feature name matches official naming
|
||||||
|
|
||||||
|
### Badge Accuracy
|
||||||
|
For concepts with best-practice or implemented badges:
|
||||||
|
- Verify the badge links point to existing files
|
||||||
|
- Flag any concepts that should have badges but don't (e.g., a best-practice report exists but no badge is shown)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Return Format
|
||||||
|
|
||||||
|
Return your findings as a structured report with these sections:
|
||||||
|
|
||||||
|
1. **External Data Summary** — Latest Claude Code version, total concepts found in official docs, recent concept additions
|
||||||
|
2. **Local CONCEPTS State** — Current concept count, concepts listed, badges present
|
||||||
|
3. **Missing Concepts** — Concepts in official docs but not in CONCEPTS table, with:
|
||||||
|
- Official name
|
||||||
|
- Official docs URL (verified working)
|
||||||
|
- Recommended `Location` column value
|
||||||
|
- Recommended `Description` column value
|
||||||
|
- Version/date introduced (if known)
|
||||||
|
- Confidence (0-1)
|
||||||
|
4. **Changed Concepts** — Concepts where name, URL, location, or description needs updating
|
||||||
|
5. **Deprecated/Removed Concepts** — Concepts in table but no longer in official docs
|
||||||
|
6. **URL Accuracy** — Per-concept URL verification results
|
||||||
|
7. **Description Accuracy** — Per-concept description verification
|
||||||
|
8. **Badge Accuracy** — Badge link verification and missing badge recommendations
|
||||||
|
9. **Note on README** — Any structural observations about the CONCEPTS table format that might need attention
|
||||||
|
|
||||||
|
Be thorough and specific. Include URLs, version numbers, and exact text where possible.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Critical Rules
|
||||||
|
|
||||||
|
1. **Fetch ALL sources** — never skip any
|
||||||
|
2. **Never guess** versions, URLs, or dates — extract from fetched data
|
||||||
|
3. **Read ALL local files** before analyzing
|
||||||
|
4. **Missing concepts are HIGH PRIORITY** — flag them prominently
|
||||||
|
5. **Verify every URL** — check that official docs links actually work
|
||||||
|
6. **Do NOT modify any files** — this is read-only research
|
||||||
|
7. **Include the exact row format** — for missing concepts, provide the exact markdown table row ready to paste
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Sources
|
||||||
|
|
||||||
|
1. [Claude Code Docs Index](https://code.claude.com/docs/en) — Official documentation navigation
|
||||||
|
2. [Changelog](https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md) — Claude Code release history
|
||||||
|
3. [Features Overview](https://code.claude.com/docs/en/overview) — Official feature descriptions
|
||||||
@@ -1,41 +1,46 @@
|
|||||||
---
|
---
|
||||||
description: Fetch and transform weather data for Karachi
|
description: Fetch weather data for Dubai and create an SVG weather card
|
||||||
model: haiku
|
model: haiku
|
||||||
---
|
---
|
||||||
|
|
||||||
# Weather Orchestrator Command
|
# Weather Orchestrator Command
|
||||||
|
|
||||||
Fetch the current temperature for Karachi, Pakistan and apply transformations.
|
Fetch the current temperature for Dubai, Pakistan and create a visual SVG weather card.
|
||||||
|
|
||||||
## Workflow
|
## Workflow
|
||||||
|
|
||||||
1. Use the AskUserQuestion tool to ask the user whether they want the temperature in Celsius or Fahrenheit
|
### Step 1: Ask User Preference
|
||||||
2. Use the weather agent to fetch and transform the temperature data
|
|
||||||
|
|
||||||
## Agent Invocation
|
Use the AskUserQuestion tool to ask the user whether they want the temperature in Celsius or Fahrenheit.
|
||||||
|
|
||||||
Use the Task tool to invoke the weather agent.
|
### Step 2: Fetch Weather Data
|
||||||
|
|
||||||
### Invoke Weather Agent
|
|
||||||
|
|
||||||
Use the Task tool to invoke the weather agent:
|
Use the Task tool to invoke the weather agent:
|
||||||
- subagent_type: weather
|
- subagent_type: weather-agent
|
||||||
- description: Fetch and transform Karachi weather
|
- description: Fetch Dubai weather data
|
||||||
- prompt: Fetch the current temperature for Karachi, Pakistan in [unit requested by user]. Then apply the transformation rules from orchestration-workflow/input.md and write the results to orchestration-workflow/output.md. The agent has preloaded skills (weather-fetcher and weather-transformer) that provide the detailed instructions.
|
- prompt: Fetch the current temperature for Dubai, Pakistan in [unit requested by user]. Return the numeric temperature value and unit. The agent has a preloaded skill (weather-fetcher) that provides the detailed instructions.
|
||||||
- model: haiku
|
- model: haiku
|
||||||
|
|
||||||
Wait for the agent to complete its workflow.
|
Wait for the agent to complete and capture the returned temperature value and unit.
|
||||||
|
|
||||||
|
### Step 3: Create SVG Weather Card
|
||||||
|
|
||||||
|
Use the Skill tool to invoke the weather-svg-creator skill:
|
||||||
|
- skill: weather-svg-creator
|
||||||
|
|
||||||
|
The skill will use the temperature value and unit from Step 2 (available in the current context) to create the SVG card and write output files.
|
||||||
|
|
||||||
## Critical Requirements
|
## Critical Requirements
|
||||||
|
|
||||||
1. **Use Task Tool Only**: DO NOT use bash commands to invoke agents. You must use the Task tool.
|
1. **Use Task Tool for Agent**: DO NOT use bash commands to invoke agents. You must use the Task tool.
|
||||||
2. **Single Agent**: The weather agent handles both fetching and transformation using its preloaded skills.
|
2. **Use Skill Tool for SVG Creator**: Invoke the SVG creator via the Skill tool, not the Task tool.
|
||||||
3. **Pass User Preference**: Include the user's temperature unit preference in the prompt.
|
3. **Pass User Preference**: Include the user's temperature unit preference when invoking the agent.
|
||||||
|
4. **Sequential Flow**: Complete each step before moving to the next.
|
||||||
|
|
||||||
## Output Summary
|
## Output Summary
|
||||||
|
|
||||||
Provide a clear summary to the user showing:
|
Provide a clear summary to the user showing:
|
||||||
- Temperature unit requested
|
- Temperature unit requested
|
||||||
- Original temperature fetched
|
- Temperature fetched from Dubai
|
||||||
- Transformation rule applied (from orchestration-workflow/input.md)
|
- SVG card created at `orchestration-workflow/weather.svg`
|
||||||
- Final transformed result (written to orchestration-workflow/output.md)
|
- Summary written to `orchestration-workflow/output.md`
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ Update the "Last Updated" badge at the top of `best-practice/claude-subagents.md
|
|||||||
|
|
||||||
Scan `best-practice/claude-subagents.md` for every hyperlink (both markdown `[text](url)` and inline URLs). For each link:
|
Scan `best-practice/claude-subagents.md` for every hyperlink (both markdown `[text](url)` and inline URLs). For each link:
|
||||||
|
|
||||||
1. **Local file links** (relative paths like `../.claude/agents/weather.md`, `../claude-agent-memory.md`): Verify the file exists at the resolved path using the Read tool. Flag any broken links.
|
1. **Local file links** (relative paths like `../.claude/agents/weather-agent.md`, `../claude-agent-memory.md`): Verify the file exists at the resolved path using the Read tool. Flag any broken links.
|
||||||
2. **External URLs** (e.g., `https://code.claude.com/docs/en/sub-agents`): Fetch each URL using WebFetch and verify it returns a valid page (not a 404 or redirect to an error page). Flag any dead or moved links.
|
2. **External URLs** (e.g., `https://code.claude.com/docs/en/sub-agents`): Fetch each URL using WebFetch and verify it returns a valid page (not a 404 or redirect to an error page). Flag any dead or moved links.
|
||||||
3. **Anchor links** (e.g., `#section-name`): Verify the target heading exists within the same file.
|
3. **Anchor links** (e.g., `#section-name`): Verify the target heading exists within the same file.
|
||||||
|
|
||||||
@@ -181,7 +181,7 @@ Include a **Hyperlink Validation Log** in the report:
|
|||||||
```
|
```
|
||||||
Hyperlink Validation Log:
|
Hyperlink Validation Log:
|
||||||
# | Type | Link | Status | Notes
|
# | Type | Link | Status | Notes
|
||||||
1 | Local | ../.claude/agents/weather.md | OK |
|
1 | Local | ../.claude/agents/weather-agent.md | OK |
|
||||||
2 | External | https://code.claude.com/docs/en/sub-agents | OK |
|
2 | External | https://code.claude.com/docs/en/sub-agents | OK |
|
||||||
3 | Local | ../claude-agent-memory.md | BROKEN | File not found
|
3 | Local | ../claude-agent-memory.md | BROKEN | File not found
|
||||||
...
|
...
|
||||||
|
|||||||
@@ -0,0 +1,231 @@
|
|||||||
|
---
|
||||||
|
description: Update the README CONCEPTS section with the latest Claude Code features and concepts
|
||||||
|
argument-hint: [number of changelog versions to check, default 10]
|
||||||
|
---
|
||||||
|
|
||||||
|
# Workflow Changelog — README Concepts
|
||||||
|
|
||||||
|
You are a coordinator for the claude-code-best-practice project. Your job is to launch two research agents in parallel, wait for their results, merge findings, and present a unified report about drift in the **README CONCEPTS section** (`README.md`).
|
||||||
|
|
||||||
|
**Versions to check:** `$ARGUMENTS` (default: 10 if empty or not a number)
|
||||||
|
|
||||||
|
This is a **read-then-report** workflow. Launch agents, merge results, and produce a report. Only take action if the user approves.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 0: Launch Both Agents in Parallel
|
||||||
|
|
||||||
|
**Immediately** spawn both agents using the Task tool **in the same message** (parallel launch):
|
||||||
|
|
||||||
|
### Agent 1: workflow-concepts-agent
|
||||||
|
|
||||||
|
Spawn using `subagent_type: "workflow-concepts-agent"`. Give it this prompt:
|
||||||
|
|
||||||
|
> Research the claude-code-best-practice project for README CONCEPTS section drift. Check the last $ARGUMENTS versions (default: 10).
|
||||||
|
>
|
||||||
|
> Fetch these 3 external sources:
|
||||||
|
> 1. Claude Code Docs Index: https://code.claude.com/docs/en
|
||||||
|
> 2. Claude Code Changelog: https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
|
||||||
|
> 3. Claude Code Features Overview: https://code.claude.com/docs/en/overview
|
||||||
|
>
|
||||||
|
> Then read the local README.md (specifically the CONCEPTS table), CLAUDE.md, and `reports/claude-global-vs-project-settings.md`. Analyze differences between what the official docs list as Claude Code concepts/features and what our README CONCEPTS table documents. Return a structured findings report covering missing concepts, changed concepts, deprecated concepts, URL accuracy, description accuracy, and badge accuracy.
|
||||||
|
|
||||||
|
### Agent 2: claude-code-guide
|
||||||
|
|
||||||
|
Spawn using `subagent_type: "claude-code-guide"`. Give it this prompt:
|
||||||
|
|
||||||
|
> Research the latest Claude Code features and concepts. I need you to find the COMPLETE list of all Claude Code concepts/features that should be documented. For each, provide:
|
||||||
|
> 1. Official feature name
|
||||||
|
> 2. Official docs URL
|
||||||
|
> 3. File system location (e.g., `.claude/commands/`, `~/.claude/teams/`)
|
||||||
|
> 4. Brief description (one line)
|
||||||
|
> 5. When it was introduced (version/date if known)
|
||||||
|
>
|
||||||
|
> Specifically check for these potentially missing concepts:
|
||||||
|
> - **Worktrees** — git worktree isolation for parallel development
|
||||||
|
> - **Agent Teams** — multi-agent coordination
|
||||||
|
> - **Tasks** — persistent task lists across sessions
|
||||||
|
> - **Auto Memory** — Claude's self-written project learnings
|
||||||
|
> - **Keybindings** — custom keyboard shortcuts
|
||||||
|
> - **Remote Connections** — SSH, Docker, cloud development
|
||||||
|
> - **IDE Integration** — VS Code, JetBrains extensions
|
||||||
|
> - **Model Configuration** — model selection and routing
|
||||||
|
> - **GitHub Integration** — PR reviews, issue triage
|
||||||
|
> - Any other concept from recent Claude Code versions
|
||||||
|
>
|
||||||
|
> Be thorough — search the web, fetch docs, and provide concrete version numbers and details for everything you find.
|
||||||
|
|
||||||
|
Both agents run independently and will return their findings.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 0.5: Read Verification Checklist
|
||||||
|
|
||||||
|
**While agents are running**, read `changelog/best-practice/concepts/verification-checklist.md` if it exists. This file contains accumulated verification rules. If it does not exist yet, skip this step — it will be created in Phase 2.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 1: Read Previous Changelog Entries
|
||||||
|
|
||||||
|
**Before merging findings**, read the file `changelog/best-practice/concepts/changelog.md` if it exists to get previous changelog entries. Each entry is separated by `---`. Parse the priority actions from those previous entries so you can compare them against the current findings. This lets you identify:
|
||||||
|
- **Recurring items** — issues that appeared before and are still unresolved
|
||||||
|
- **Newly resolved items** — issues from previous runs that are now fixed
|
||||||
|
- **New items** — issues that appear for the first time in this run
|
||||||
|
|
||||||
|
If the file doesn't exist yet, all items are `NEW`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 2: Merge Findings & Generate Report
|
||||||
|
|
||||||
|
**Wait for both agents to complete.** Once you have:
|
||||||
|
- **workflow-concepts-agent findings** — detailed analysis with local file reads, external doc fetches, and drift detection
|
||||||
|
- **claude-code-guide findings** — independent research on latest Claude Code features and concepts
|
||||||
|
|
||||||
|
Cross-reference the two. The dedicated agent provides CONCEPTS-specific drift analysis, while the claude-code-guide agent may surface things it missed (e.g. very recent changes, undocumented features, or context from web searches). Flag any contradictions between the two for the user to resolve.
|
||||||
|
|
||||||
|
**Execute the verification checklist (if it exists):** For every rule in `changelog/best-practice/concepts/verification-checklist.md`, perform the check. Include a **Verification Log** section in the report.
|
||||||
|
|
||||||
|
**Update the checklist if needed:** If a finding reveals a new type of drift that no existing checklist rule covers, append a new rule to `changelog/best-practice/concepts/verification-checklist.md`. If the file doesn't exist, create it. The rule must include: category, what to check, depth level, what source to compare against, date added, and the origin.
|
||||||
|
|
||||||
|
Also compare the current findings against the previous changelog entries (from Phase 1). For each priority action, mark it as:
|
||||||
|
- `NEW` — first time this issue appears
|
||||||
|
- `RECURRING` — appeared in a previous run and is still unresolved (include which run date it first appeared)
|
||||||
|
- `RESOLVED` — appeared in a previous run but is now fixed (include resolution date)
|
||||||
|
|
||||||
|
Produce a structured report with these sections:
|
||||||
|
|
||||||
|
1. **Missing Concepts** — Features/concepts in official docs but missing from CONCEPTS table, with:
|
||||||
|
- Official name and docs URL
|
||||||
|
- Recommended Location column value
|
||||||
|
- Recommended Description column value
|
||||||
|
- Exact markdown table row ready to paste
|
||||||
|
- Version introduced (if known)
|
||||||
|
2. **Changed Concepts** — Concepts whose name, URL, location, or description has changed
|
||||||
|
3. **Deprecated/Removed Concepts** — Concepts in CONCEPTS table but no longer in official docs
|
||||||
|
4. **URL Accuracy** — Per-concept URL verification
|
||||||
|
5. **Description Accuracy** — Per-concept description/location verification
|
||||||
|
6. **Badge Accuracy** — Badge link verification and missing badge recommendations
|
||||||
|
7. **claude-code-guide Agent Findings** — Unique insights from the agent that weren't captured by the dedicated agent. Only include findings that add new information. Flag contradictions.
|
||||||
|
|
||||||
|
End with a prioritized **Action Items** summary table:
|
||||||
|
|
||||||
|
```
|
||||||
|
Priority Actions:
|
||||||
|
# | Type | Action | Status
|
||||||
|
1 | Missing Concept | Add <concept> row to CONCEPTS table | NEW
|
||||||
|
2 | Changed URL | Update <concept> docs link | NEW
|
||||||
|
3 | Changed Description | Update <concept> description | RECURRING (first seen: <date>)
|
||||||
|
4 | Deprecated Concept | Remove <concept> row from CONCEPTS table | NEW
|
||||||
|
5 | Broken Badge | Fix badge link for <concept> | NEW
|
||||||
|
```
|
||||||
|
|
||||||
|
Also include a **Resolved Since Last Run** section listing any items from the previous run that are no longer issues.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 2.5: Append Summary to Changelog
|
||||||
|
|
||||||
|
**This phase is MANDATORY — always execute it before presenting the report to the user.**
|
||||||
|
|
||||||
|
Read the existing `changelog/best-practice/concepts/changelog.md` file, then **append** (do NOT overwrite) a new entry at the end. If the file doesn't exist, create it with a Status Legend table then the first entry. The entry format must be exactly:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
---
|
||||||
|
|
||||||
|
## [<YYYY-MM-DD HH:MM AM/PM PKT>] Claude Code v<VERSION>
|
||||||
|
|
||||||
|
| # | Priority | Type | Action | Status |
|
||||||
|
|---|----------|------|--------|--------|
|
||||||
|
| 1 | HIGH/MED/LOW | <type> | <action description> | <status> |
|
||||||
|
| ... | ... | ... | ... | ... |
|
||||||
|
```
|
||||||
|
|
||||||
|
**Status format — MUST use one of these three formats:**
|
||||||
|
- `COMPLETE (reason)` — action was taken and resolved successfully
|
||||||
|
- `INVALID (reason)` — finding was incorrect, not applicable, or intentional
|
||||||
|
- `ON HOLD (reason)` — action deferred, waiting on external dependency or user decision
|
||||||
|
|
||||||
|
The `(reason)` is mandatory and must briefly explain what was done or why.
|
||||||
|
|
||||||
|
**Rules for appending:**
|
||||||
|
- Always append — never overwrite or replace previous entries
|
||||||
|
- The date and time is when the command is executed in Pakistan Standard Time (PKT, UTC+5); get it by running `TZ=Asia/Karachi date "+%Y-%m-%d %I:%M %p PKT"`. The version comes from agent findings
|
||||||
|
- Each entry is separated by `---`
|
||||||
|
- **Only include items with HIGH, MEDIUM, or LOW priority** — omit NONE priority items
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 2.6: Update Last Updated Badge
|
||||||
|
|
||||||
|
**This phase is MANDATORY — always execute it immediately after Phase 2.5, before presenting the report.**
|
||||||
|
|
||||||
|
Update the "Last Updated" badge at the top of `README.md` (line 3). Run `TZ=Asia/Karachi date "+%b %d, %Y %-I:%M %p PKT"` to get the time, URL-encode it (spaces to `%20`, commas to `%2C`), and replace the date portion in the badge.
|
||||||
|
|
||||||
|
**Do NOT log badge updates as action items in the changelog or report.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 2.7: Validate All CONCEPTS URLs
|
||||||
|
|
||||||
|
**This phase is MANDATORY — always execute it after Phase 2.6, before presenting the report.**
|
||||||
|
|
||||||
|
For each concept in the CONCEPTS table:
|
||||||
|
|
||||||
|
1. **External docs URLs** (e.g., `https://code.claude.com/docs/en/skills`): Fetch each URL using WebFetch and verify it returns a valid page. Flag any dead or moved links.
|
||||||
|
2. **Local badge links** (e.g., `best-practice/claude-commands.md`): Verify the file exists using the Read tool. Flag any broken links.
|
||||||
|
3. **Implementation badge links** (e.g., `.claude/commands/`): Verify the path exists.
|
||||||
|
|
||||||
|
Include a **URL Validation Log** in the report:
|
||||||
|
|
||||||
|
```
|
||||||
|
URL Validation Log:
|
||||||
|
# | Concept | URL Type | URL | Status | Notes
|
||||||
|
1 | Commands | External | https://code.claude.com/docs/en/skills | OK |
|
||||||
|
2 | Commands | Badge | best-practice/claude-commands.md | OK |
|
||||||
|
3 | Sub-Agents | External | https://code.claude.com/docs/en/sub-agents | OK |
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
**If any URLs are broken**, add them as HIGH priority action items.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 3: Offer to Take Action
|
||||||
|
|
||||||
|
After presenting the report (and confirming changelog was updated), ask the user:
|
||||||
|
|
||||||
|
1. **Execute all actions** — Add missing concepts, update changed ones, remove deprecated ones
|
||||||
|
2. **Execute specific actions** — User picks which numbers to execute
|
||||||
|
3. **Just save the report** — No changes
|
||||||
|
|
||||||
|
When executing:
|
||||||
|
- **Missing concepts**: Add a new row to the CONCEPTS table in `README.md` following the existing format:
|
||||||
|
```
|
||||||
|
| [**Name**](docs-url) | `location` | Description |
|
||||||
|
```
|
||||||
|
Add badges (best-practice, implemented) only if corresponding files exist.
|
||||||
|
- **Changed concepts**: Update the specific column(s) that changed
|
||||||
|
- **Deprecated concepts**: Confirm with user before removing rows
|
||||||
|
- **Broken URLs**: Fix the URL to the current valid one
|
||||||
|
- **Badge fixes**: Update badge links to correct file paths
|
||||||
|
- Maintain alphabetical or logical ordering consistent with the existing table
|
||||||
|
- After all actions, re-verify the CONCEPTS table for consistency
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Critical Rules
|
||||||
|
|
||||||
|
1. **Launch BOTH agents in parallel** in a single message — never sequentially
|
||||||
|
2. **Wait for both agents** before generating the report
|
||||||
|
3. **Never guess** versions, URLs, or dates — use data from the agents
|
||||||
|
4. **Missing concepts are HIGH PRIORITY** — the CONCEPTS table is the first thing developers see
|
||||||
|
5. **Verify every URL** — broken links degrade trust in the entire project
|
||||||
|
6. **Don't auto-execute** — always present the report first
|
||||||
|
7. **ALWAYS append to changelog** — Phase 2.5 is mandatory. Never skip it. Never overwrite previous entries.
|
||||||
|
8. **Compare with previous runs** — read previous entries from the changelog and mark each action item as NEW, RECURRING, or RESOLVED.
|
||||||
|
9. **Execute the verification checklist if it exists** — read the verification-checklist.md and execute every rule. Create the file if it doesn't exist and there are findings that warrant persistent rules.
|
||||||
|
10. **ALWAYS update the Last Updated badge** — Phase 2.6 is mandatory.
|
||||||
|
11. **ALWAYS validate all CONCEPTS URLs** — Phase 2.7 is mandatory. Broken URLs are HIGH priority.
|
||||||
|
12. **Provide ready-to-paste rows** — for missing concepts, include the exact markdown table row so execution is copy-paste.
|
||||||
|
13. **Respect the existing table format** — match the column structure, badge pattern, and linking style of existing rows.
|
||||||
Binary file not shown.
Binary file not shown.
@@ -13,7 +13,13 @@
|
|||||||
"mcp__claude-in-chrome__*",
|
"mcp__claude-in-chrome__*",
|
||||||
"mcp__playwright__*",
|
"mcp__playwright__*",
|
||||||
"mcp__reddit-mcp-server__get_post_details",
|
"mcp__reddit-mcp-server__get_post_details",
|
||||||
"mcp__reddit-mcp-server__search_reddit"
|
"mcp__reddit-mcp-server__search_reddit",
|
||||||
|
"mcp__tavily-web-search__tavily_search",
|
||||||
|
"mcp__tavily-web-search__tavily_extract",
|
||||||
|
"WebFetch(domain:raw.githubusercontent.com)",
|
||||||
|
"WebFetch(domain:docs.anthropic.com)",
|
||||||
|
"WebFetch(domain:support.claude.com)",
|
||||||
|
"WebFetch(domain:wttr.in)"
|
||||||
],
|
],
|
||||||
"deny": [],
|
"deny": [],
|
||||||
"ask": [
|
"ask": [
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
---
|
---
|
||||||
name: weather-fetcher
|
name: weather-fetcher
|
||||||
description: Instructions for fetching current weather temperature data for Karachi, Pakistan from wttr.in API
|
description: Instructions for fetching current weather temperature data for Dubai, UAE from wttr.in API
|
||||||
|
user-invocable: false
|
||||||
---
|
---
|
||||||
|
|
||||||
# Weather Fetcher Skill
|
# Weather Fetcher Skill
|
||||||
@@ -9,28 +10,31 @@ This skill provides instructions for fetching current weather data.
|
|||||||
|
|
||||||
## Task
|
## Task
|
||||||
|
|
||||||
Fetch the current temperature for Karachi, Pakistan in degrees Celsius (Centigrade).
|
Fetch the current temperature for Dubai, UAE in the requested unit (Celsius or Fahrenheit).
|
||||||
|
|
||||||
## Instructions
|
## Instructions
|
||||||
|
|
||||||
1. **Fetch Weather Data**: Use the WebFetch tool to get current weather data for Karachi from wttr.in API:
|
1. **Fetch Weather Data**: Use the WebFetch tool to get current weather data for Dubai from wttr.in API:
|
||||||
- URL: `https://wttr.in/Karachi?format=j1`
|
- URL: `https://wttr.in/Dubai?format=j1`
|
||||||
- This returns JSON format weather data
|
- This returns JSON format weather data
|
||||||
|
|
||||||
2. **Extract Temperature**: From the JSON response, extract the current temperature in Celsius from the `current_condition` section.
|
2. **Extract Temperature**: From the JSON response, extract the current temperature:
|
||||||
|
- For Celsius: use `temp_C` from the `current_condition` section
|
||||||
|
- For Fahrenheit: use `temp_F` from the `current_condition` section
|
||||||
|
|
||||||
3. **Store Result**: Keep the temperature value for the next step (transformation).
|
3. **Return Result**: Return the temperature value and unit clearly.
|
||||||
|
|
||||||
## Expected Output
|
## Expected Output
|
||||||
|
|
||||||
After completing this skill's instructions:
|
After completing this skill's instructions:
|
||||||
```
|
```
|
||||||
Current Karachi Temperature: [X]°C
|
Current Dubai Temperature: [X]°[C/F]
|
||||||
Status: Successfully fetched weather data
|
Unit: [Celsius/Fahrenheit]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
- Only fetch the temperature, do not perform any transformations yet
|
- Only fetch the temperature, do not perform any transformations or write any files
|
||||||
- Use wttr.in as it provides reliable, free weather data
|
- Use wttr.in as it provides reliable, free weather data
|
||||||
- Return just the numeric temperature value clearly
|
- Return the numeric temperature value and unit clearly
|
||||||
|
- Support both Celsius and Fahrenheit based on the caller's request
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
---
|
||||||
|
name: weather-svg-creator
|
||||||
|
description: Creates an SVG weather card showing the current temperature for
|
||||||
|
Dubai. Writes the SVG to orchestration-workflow/weather.svg and updates
|
||||||
|
orchestration-workflow/output.md.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Weather SVG Creator Skill
|
||||||
|
|
||||||
|
This skill creates a visual SVG weather card and writes the output files.
|
||||||
|
|
||||||
|
## Task
|
||||||
|
|
||||||
|
Create an SVG weather card displaying the temperature for Dubai, UAE, and write it along with a summary to output files.
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
You will receive the temperature value and unit (Celsius or Fahrenheit) from the calling context.
|
||||||
|
|
||||||
|
### 1. Create SVG Weather Card
|
||||||
|
|
||||||
|
Generate a clean SVG weather card with the following structure:
|
||||||
|
|
||||||
|
```svg
|
||||||
|
<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"/>
|
||||||
|
<text x="150" y="45" text-anchor="middle" fill="#8892b0" font-family="system-ui" font-size="14">Unit: [Celsius/Fahrenheit]</text>
|
||||||
|
<text x="150" y="100" text-anchor="middle" fill="#ccd6f6" font-family="system-ui" font-size="42" font-weight="bold">[value]°[C/F]</text>
|
||||||
|
<text x="150" y="140" text-anchor="middle" fill="#64ffda" font-family="system-ui" font-size="16">Dubai, UAE</text>
|
||||||
|
</svg>
|
||||||
|
```
|
||||||
|
|
||||||
|
Replace `[Celsius/Fahrenheit]`, `[value]`, and `[C/F]` with actual values.
|
||||||
|
|
||||||
|
### 2. Write SVG File
|
||||||
|
|
||||||
|
Write the SVG content to `orchestration-workflow/weather.svg`.
|
||||||
|
|
||||||
|
### 3. Write Output Summary
|
||||||
|
|
||||||
|
Write to `orchestration-workflow/output.md`:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# Weather Result
|
||||||
|
|
||||||
|
## Temperature
|
||||||
|
[value]°[C/F]
|
||||||
|
|
||||||
|
## Location
|
||||||
|
Dubai, UAE
|
||||||
|
|
||||||
|
## Unit
|
||||||
|
[Celsius/Fahrenheit]
|
||||||
|
|
||||||
|
## SVG Card
|
||||||
|

|
||||||
|
```
|
||||||
|
|
||||||
|
## Expected Input
|
||||||
|
|
||||||
|
Temperature value and unit from the weather-agent:
|
||||||
|
```
|
||||||
|
Temperature: [X]°[C/F]
|
||||||
|
Unit: [Celsius/Fahrenheit]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Use the exact temperature value and unit provided - do not re-fetch or modify
|
||||||
|
- The SVG should be a self-contained, valid SVG file
|
||||||
|
- Keep the design minimal and clean
|
||||||
|
- Both output files go in the `orchestration-workflow/` directory
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
---
|
|
||||||
name: weather-transformer
|
|
||||||
description: Instructions for applying mathematical transformations to temperature data based on rules in orchestration-workflow/input.md
|
|
||||||
---
|
|
||||||
|
|
||||||
# Weather Transformer Skill
|
|
||||||
|
|
||||||
This skill provides instructions for transforming temperature data.
|
|
||||||
|
|
||||||
## Task
|
|
||||||
|
|
||||||
Apply mathematical transformations to a temperature value and write results to output file.
|
|
||||||
|
|
||||||
## Instructions
|
|
||||||
|
|
||||||
1. **Read Transformation Rules**: Use the Read tool to read `orchestration-workflow/input.md` which contains the transformation instructions.
|
|
||||||
|
|
||||||
2. **Apply Transformation**: Apply the transformation rule to the temperature value.
|
|
||||||
- Example: If instruction says "add +10", add 10 to the temperature
|
|
||||||
- Example: If instruction says "multiply by 2", multiply temperature by 2
|
|
||||||
|
|
||||||
3. **Write Output**: Use the Write tool to save the transformed result to `orchestration-workflow/output.md` with proper formatting.
|
|
||||||
|
|
||||||
## Expected Input
|
|
||||||
|
|
||||||
The temperature value from the weather-fetcher skill:
|
|
||||||
```
|
|
||||||
Temperature: [X]°C
|
|
||||||
```
|
|
||||||
|
|
||||||
## Expected Output
|
|
||||||
|
|
||||||
Write to `orchestration-workflow/output.md` with format:
|
|
||||||
```markdown
|
|
||||||
# Weather Transformation Result
|
|
||||||
|
|
||||||
## Original Temperature
|
|
||||||
[X]°C
|
|
||||||
|
|
||||||
## Transformation Applied
|
|
||||||
[description from orchestration-workflow/input.md]
|
|
||||||
|
|
||||||
## Final Result
|
|
||||||
[Y]°C
|
|
||||||
|
|
||||||
## Calculation Details
|
|
||||||
[X]°C [operation] = [Y]°C
|
|
||||||
```
|
|
||||||
|
|
||||||
## Notes
|
|
||||||
|
|
||||||
- Read the exact transformation from orchestration-workflow/input.md - don't assume
|
|
||||||
- Show your work: include original value, transformation, and result
|
|
||||||
- Ensure orchestration-workflow/output.md is properly formatted and readable
|
|
||||||
@@ -9,13 +9,13 @@ This is a best practices repository for Claude Code configuration, demonstrating
|
|||||||
## Key Components
|
## Key Components
|
||||||
|
|
||||||
### Weather System (Example Workflow)
|
### Weather System (Example Workflow)
|
||||||
A demonstration of the **Command → Agent → Skills** architecture pattern:
|
A demonstration of two distinct skill patterns via the **Command → Agent → Skill** architecture:
|
||||||
- `/weather-orchestrator` command (`.claude/commands/weather-orchestrator.md`): Entry point that invokes the weather agent
|
- `/weather-orchestrator` command (`.claude/commands/weather-orchestrator.md`): Entry point — asks user for C/F, invokes agent, then invokes SVG skill
|
||||||
- `weather` agent (`.claude/agents/weather.md`): Executes workflow using preloaded skills
|
- `weather-agent` agent (`.claude/agents/weather-agent.md`): Fetches temperature using its preloaded `weather-fetcher` skill (agent skill pattern)
|
||||||
- `weather-fetcher` skill (`.claude/skills/weather-fetcher/SKILL.md`): Instructions for fetching temperature from wttr.in API
|
- `weather-fetcher` skill (`.claude/skills/weather-fetcher/SKILL.md`): Preloaded into agent — instructions for fetching temperature from wttr.in API
|
||||||
- `weather-transformer` skill (`.claude/skills/weather-transformer/SKILL.md`): Instructions for applying transformation rules from `orchestration-workflow/input.md`, writes results to `orchestration-workflow/output.md`
|
- `weather-svg-creator` skill (`.claude/skills/weather-svg-creator/SKILL.md`): Skill — creates SVG weather card, writes `orchestration-workflow/weather.svg` and `orchestration-workflow/output.md`
|
||||||
|
|
||||||
The agent has skills preloaded via the `skills` field, providing domain knowledge for sequential execution. See `orchestration-workflow/orchestration-workflow.md` for the complete flow diagram.
|
Two skill patterns: agent skills (preloaded via `skills:` field) vs skills (invoked via `Skill` tool). See `orchestration-workflow/orchestration-workflow.md` for the complete flow diagram.
|
||||||
|
|
||||||
### Skill Definition Structure
|
### Skill Definition Structure
|
||||||
Skills in `.claude/skills/<name>/SKILL.md` use YAML frontmatter:
|
Skills in `.claude/skills/<name>/SKILL.md` use YAML frontmatter:
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
# claude-code-best-practice
|
# claude-code-best-practice
|
||||||
practice makes claude perfect
|
practice makes claude perfect
|
||||||
|
|
||||||
 <a href="https://github.com/shanraisshan/claude-code-best-practice/stargazers"><img src="https://img.shields.io/github/stars/shanraisshan/claude-code-best-practice?style=flat&label=%E2%98%85&labelColor=555&color=white" alt="GitHub Stars"></a>
|
 <a href="https://github.com/shanraisshan/claude-code-best-practice/stargazers"><img src="https://img.shields.io/github/stars/shanraisshan/claude-code-best-practice?style=flat&label=%E2%98%85&labelColor=555&color=white" alt="GitHub Stars"></a>
|
||||||
|
|
||||||
[](best-practice/) *Click on this badge to show the latest best practice*<br>
|
[](best-practice/) *Click on this badge to show the latest best practice*<br>
|
||||||
[](implementation/) *Click on this badge to show implementation in this repo*<br>
|
[](implementation/) *Click on this badge to show implementation in this repo*<br>
|
||||||
[](orchestration-workflow/orchestration-workflow.md) *Click on this badge to see the Command → Agent → Skills orchestration workflow*
|
[](orchestration-workflow/orchestration-workflow.md) *Click on this badge to see the Command → Agent → Skill orchestration workflow*
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="!/claude-jumping.svg" alt="Claude Code mascot jumping" width="120" height="100">
|
<img src="!/claude-jumping.svg" alt="Claude Code mascot jumping" width="120" height="100">
|
||||||
@@ -24,18 +24,15 @@ practice makes claude perfect
|
|||||||
| Feature | Location | Description |
|
| Feature | Location | Description |
|
||||||
|---------|----------|-------------|
|
|---------|----------|-------------|
|
||||||
| [**Commands**](https://code.claude.com/docs/en/skills) | `.claude/commands/<name>.md` | [](best-practice/claude-commands.md) [](.claude/commands/) Entry-point prompts for workflows — invoke with `/command-name` |
|
| [**Commands**](https://code.claude.com/docs/en/skills) | `.claude/commands/<name>.md` | [](best-practice/claude-commands.md) [](.claude/commands/) Entry-point prompts for workflows — invoke with `/command-name` |
|
||||||
| [**Sub-Agents**](https://code.claude.com/docs/en/sub-agents) | `.claude/agents/<name>.md` | [](best-practice/claude-subagents.md) [](implementation/claude-subagents-implementation.md) Custom agents with their own name, color, tools, permissions, and model — usable as main agent or isolated subagents via the Task tool |
|
| [**Sub-Agents**](https://code.claude.com/docs/en/sub-agents) | `.claude/agents/<name>.md` | [](best-practice/claude-subagents.md) [](implementation/claude-subagents-implementation.md) Custom agents with their own name, color, tools, permissions, and model · [Agent Teams](https://code.claude.com/docs/en/agent-teams) |
|
||||||
| [**Skills**](https://code.claude.com/docs/en/skills) | `.claude/skills/<name>/SKILL.md` | [](best-practice/claude-commands.md#skills-frontmatter-fields) [](.claude/skills/) Reusable knowledge, workflows, and slash commands — load on-demand or invoke with `/skill-name` |
|
| [**Skills**](https://code.claude.com/docs/en/skills) | `.claude/skills/<name>/SKILL.md` | [](best-practice/claude-commands.md#skills-frontmatter-fields) [](.claude/skills/) Reusable knowledge, workflows, and slash commands — load on-demand or invoke with `/skill-name` |
|
||||||
| [**Memory**](https://code.claude.com/docs/en/memory) | `CLAUDE.md` | Persistent context via CLAUDE.md files and `@path` imports that Claude sees every session |
|
| [**Hooks**](https://code.claude.com/docs/en/hooks) | `.claude/hooks/` | [](.claude/hooks/) Deterministic scripts that run outside the agentic loop on specific events |
|
||||||
| [**Rules**](https://code.claude.com/docs/en/memory#modular-rules-with-clauderules) | `.claude/rules/*.md` | Modular topic-specific instructions with optional path-scoping via frontmatter |
|
| [**MCP Servers**](https://code.claude.com/docs/en/mcp) | `.claude/settings.json`, `.mcp.json` | [](.mcp.json) Model Context Protocol connections to external tools, databases, and APIs |
|
||||||
| [**Hooks**](https://code.claude.com/docs/en/hooks) | `.claude/hooks/` | Deterministic scripts that run outside the agentic loop on specific events |
|
| [**Plugins**](https://code.claude.com/docs/en/plugins) | distributable packages | Bundles of skills, subagents, hooks, and MCP servers · [Marketplaces](https://code.claude.com/docs/en/discover-plugins) |
|
||||||
| [**MCP Servers**](https://code.claude.com/docs/en/mcp) | `.claude/settings.json` | Model Context Protocol connections to external tools, databases, and APIs |
|
| [**Settings**](https://code.claude.com/docs/en/settings) | `.claude/settings.json` | [](best-practice/claude-settings.md) [](.claude/settings.json) Hierarchical configuration system · [Permissions](https://code.claude.com/docs/en/permissions) · [Model Config](https://code.claude.com/docs/en/model-config) · [Output Styles](https://code.claude.com/docs/en/output-styles) · [Sandboxing](https://code.claude.com/docs/en/sandboxing) · [Keybindings](https://code.claude.com/docs/en/keybindings) · [Status Line](https://code.claude.com/docs/en/statusline) · [Fast Mode](https://code.claude.com/docs/en/fast-mode) |
|
||||||
| [**Plugins**](https://code.claude.com/docs/en/plugins) | distributable packages | Bundles of skills, subagents, hooks, and MCP servers |
|
| [**Memory**](https://code.claude.com/docs/en/memory) | `CLAUDE.md`, `~/.claude/projects/<project>/memory/` | [](CLAUDE.md) Persistent context via CLAUDE.md files and `@path` imports · [Auto Memory](https://code.claude.com/docs/en/memory) · [Rules](https://code.claude.com/docs/en/memory#organize-rules-with-clauderules) |
|
||||||
| [**Marketplaces**](https://code.claude.com/docs/en/discover-plugins) | plugin registries | Host and discover plugin collections |
|
| [**Checkpointing**](https://code.claude.com/docs/en/checkpointing) | automatic (git-based) | Automatic tracking of file edits with rewind (`Esc Esc` or `/rewind`) and targeted summarization |
|
||||||
| [**Sandboxing**](https://code.claude.com/docs/en/sandboxing) | runtime config | File and network isolation that improves safety while reducing permission prompts |
|
| [**Remote Control**](https://code.claude.com/docs/en/remote-control) | CLI / claude.ai | Continue local sessions from any device — phone, tablet, or browser · [Headless Mode](https://code.claude.com/docs/en/headless) |
|
||||||
| [**Output Styles**](https://code.claude.com/docs/en/output-styles) | `.claude/settings.json` | Configurable response tone and format — Explanatory, Learning, or Custom |
|
|
||||||
| [**Settings**](https://code.claude.com/docs/en/settings) | `.claude/settings.json` | [](best-practice/claude-settings.md) [](.claude/settings.json) Hierarchical configuration system for Claude Code behavior (37 settings, 84 env vars) |
|
|
||||||
| [**Permissions**](https://code.claude.com/docs/en/iam) | `.claude/settings.json` | Fine-grained access control for tools and operations with wildcard syntax |
|
|
||||||
|
|
||||||
> **Note:** Custom slash commands have been merged into skills. Files in `.claude/commands/` still work, but skills (`.claude/skills/`) are recommended as they support additional features like supporting files, invocation control, and subagent execution.
|
> **Note:** Custom slash commands have been merged into skills. Files in `.claude/commands/` still work, but skills (`.claude/skills/`) are recommended as they support additional features like supporting files, invocation control, and subagent execution.
|
||||||
|
|
||||||
@@ -43,7 +40,7 @@ practice makes claude perfect
|
|||||||
|
|
||||||
## <a href="orchestration-workflow/orchestration-workflow.md"><img src="!/tags/orchestration-workflow-hd.svg" alt="Orchestration Workflow"></a>
|
## <a href="orchestration-workflow/orchestration-workflow.md"><img src="!/tags/orchestration-workflow-hd.svg" alt="Orchestration Workflow"></a>
|
||||||
|
|
||||||
Workflow orchestration using the **Command → Agent → Skills** pattern.
|
Workflow orchestration using the **Command → Agent → Skill** pattern.
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="!/command-skill-agent-flow.svg" alt="Command Skill Agent Architecture Flow" width="100%">
|
<img src="!/command-skill-agent-flow.svg" alt="Command Skill Agent Architecture Flow" width="100%">
|
||||||
@@ -51,9 +48,9 @@ Workflow orchestration using the **Command → Agent → Skills** pattern.
|
|||||||
|
|
||||||
| Component | Role | Example |
|
| Component | Role | Example |
|
||||||
|-----------|------|---------|
|
|-----------|------|---------|
|
||||||
| **Command** | Entry point, user interaction | `/weather-orchestrator` |
|
| **Command** | Entry point, user interaction | [`/weather-orchestrator`](.claude/commands/weather-orchestrator.md) |
|
||||||
| **Agent** | Orchestrates workflow with preloaded skills | `weather` agent |
|
| **Agent** | Fetches data with preloaded skill (agent skill) | [`weather-agent`](.claude/agents/weather-agent.md) with [`weather-fetcher`](.claude/skills/weather-fetcher/SKILL.md) |
|
||||||
| **Skills** | Domain knowledge injected at startup | `weather-fetcher`, `weather-transformer` |
|
| **Skill** | Creates output independently (skill) | [`weather-svg-creator`](.claude/skills/weather-svg-creator/SKILL.md) |
|
||||||
|
|
||||||
See [orchestration-workflow](orchestration-workflow/orchestration-workflow.md) for implementation details.
|
See [orchestration-workflow](orchestration-workflow/orchestration-workflow.md) for implementation details.
|
||||||
|
|
||||||
|
|||||||
@@ -58,11 +58,11 @@ Custom commands are invoked by typing `/command-name` in Claude Code's interacti
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
---
|
---
|
||||||
description: Fetch and transform weather data for Karachi
|
description: Fetch weather data for Dubai and create an SVG weather card
|
||||||
model: haiku
|
model: haiku
|
||||||
---
|
---
|
||||||
|
|
||||||
Fetch the current temperature for Karachi, Pakistan and apply transformations.
|
Fetch the current temperature for Dubai, UAE and create a visual SVG weather card.
|
||||||
```
|
```
|
||||||
|
|
||||||
## Example: Full-Featured Command (All Fields)
|
## Example: Full-Featured Command (All Fields)
|
||||||
@@ -161,7 +161,7 @@ Custom commands defined in `.claude/commands/` for this project:
|
|||||||
|
|
||||||
| Command | Description | Model |
|
| Command | Description | Model |
|
||||||
|---------|-------------|-------|
|
|---------|-------------|-------|
|
||||||
| [`weather-orchestrator`](../.claude/commands/weather-orchestrator.md) | Fetch and transform weather data for Karachi | haiku |
|
| [`weather-orchestrator`](../.claude/commands/weather-orchestrator.md) | Fetch weather data for Dubai and create an SVG weather card | haiku |
|
||||||
| [`workflows/best-practice/workflow-claude-subagents`](../.claude/commands/workflows/best-practice/workflow-claude-subagents.md) | Track Claude Code subagents report changes and find what needs updating | — |
|
| [`workflows/best-practice/workflow-claude-subagents`](../.claude/commands/workflows/best-practice/workflow-claude-subagents.md) | Track Claude Code subagents report changes and find what needs updating | — |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ Custom agents defined in `.claude/agents/` for this project:
|
|||||||
| Agent | Model | Color | Tools | Skills | Memory |
|
| Agent | Model | Color | Tools | Skills | Memory |
|
||||||
|-------|-------|-------|-------|--------|--------|
|
|-------|-------|-------|-------|--------|--------|
|
||||||
| [`presentation-curator`](../.claude/agents/presentation-curator.md) | sonnet | magenta | Read, Write, Edit, Grep, Glob | presentation/vibe-to-agentic-framework, presentation/presentation-structure, presentation/presentation-styling | — |
|
| [`presentation-curator`](../.claude/agents/presentation-curator.md) | sonnet | magenta | Read, Write, Edit, Grep, Glob | presentation/vibe-to-agentic-framework, presentation/presentation-structure, presentation/presentation-styling | — |
|
||||||
| [`weather`](../.claude/agents/weather.md) | sonnet | green | WebFetch, Read, Write | weather-fetcher, weather-transformer | project |
|
| [`weather-agent`](../.claude/agents/weather-agent.md) | sonnet | green | WebFetch, Read | weather-fetcher | project |
|
||||||
| [`workflow-claude-subagents-agent`](../.claude/agents/workflows/best-practice/workflow-claude-subagents-agent.md) | opus | blue | All (inherited) | — | — |
|
| [`workflow-claude-subagents-agent`](../.claude/agents/workflows/best-practice/workflow-claude-subagents-agent.md) | opus | blue | All (inherited) | — | — |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -97,6 +97,6 @@ Rules that verify all hyperlinks in the report are valid.
|
|||||||
|
|
||||||
| # | Category | Check | Depth | Compare Against | Added | Origin |
|
| # | Category | Check | Depth | Compare Against | Added | Origin |
|
||||||
|---|----------|-------|-------|-----------------|-------|--------|
|
|---|----------|-------|-------|-----------------|-------|--------|
|
||||||
| 8A | Local File Links | Verify all relative file links (e.g. `../.claude/agents/weather.md`) resolve to existing files | exists | local filesystem | 2026-02-28 | File moves (reports/ → best-practice/) broke relative links — must catch future breakage |
|
| 8A | Local File Links | Verify all relative file links (e.g. `../.claude/agents/weather-agent.md`) resolve to existing files | exists | local filesystem | 2026-02-28 | File moves (reports/ → best-practice/) broke relative links — must catch future breakage |
|
||||||
| 8B | External URL Links | Verify all external URLs (e.g. `https://code.claude.com/docs/en/sub-agents`) return valid pages | exists | HTTP response | 2026-02-28 | External docs pages can be restructured or removed — must validate on each run |
|
| 8B | External URL Links | Verify all external URLs (e.g. `https://code.claude.com/docs/en/sub-agents`) return valid pages | exists | HTTP response | 2026-02-28 | External docs pages can be restructured or removed — must validate on each run |
|
||||||
| 8C | Cross-File Reference Links | Verify links to other report files (e.g. `../claude-agent-memory.md`) resolve to existing files | exists | local filesystem | 2026-02-28 | Reports can be moved or renamed — cross-references must stay in sync |
|
| 8C | Cross-File Reference Links | Verify links to other report files (e.g. `../claude-agent-memory.md`) resolve to existing files | exists | local filesystem | 2026-02-28 | Reports can be moved or renamed — cross-references must stay in sync |
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
# Changelog — README CONCEPTS Section
|
||||||
|
|
||||||
|
Tracks drift between the README CONCEPTS table and official Claude Code documentation.
|
||||||
|
|
||||||
|
## Status Legend
|
||||||
|
|
||||||
|
| Status | Meaning |
|
||||||
|
|--------|---------|
|
||||||
|
| `COMPLETE (reason)` | Action was taken and resolved successfully |
|
||||||
|
| `INVALID (reason)` | Finding was incorrect, not applicable, or intentional |
|
||||||
|
| `ON HOLD (reason)` | Action deferred, waiting on external dependency or user decision |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## [2026-03-02 11:14 AM PKT] Claude Code v2.1.63
|
||||||
|
|
||||||
|
| # | Priority | Type | Action | Status |
|
||||||
|
|---|----------|------|--------|--------|
|
||||||
|
| 1 | HIGH | Broken URL | Fix Permissions URL from `/iam` to `/permissions` | COMPLETE (URL updated to /permissions) |
|
||||||
|
| 2 | HIGH | Missing Concept | Add Agent Teams row to CONCEPTS table | COMPLETE (row added with ~\/\.claude\/teams\/ location) |
|
||||||
|
| 3 | HIGH | Missing Concept | Add Keybindings row to CONCEPTS table | COMPLETE (row added with ~\/\.claude\/keybindings\.json location) |
|
||||||
|
| 4 | HIGH | Missing Concept | Add Model Configuration row to CONCEPTS table | COMPLETE (row added with \.claude\/settings\.json location) |
|
||||||
|
| 5 | HIGH | Missing Concept | Add Auto Memory row to CONCEPTS table | COMPLETE (row added with ~\/\.claude\/projects\/<project>\/memory\/ location) |
|
||||||
|
| 6 | HIGH | Stale Anchor | Fix Rules URL anchor from `#modular-rules-with-clauderules` to `#organize-rules-with-clauderules` | COMPLETE (anchor updated) |
|
||||||
|
| 7 | MED | Missing Concept | Add Checkpointing row to CONCEPTS table | COMPLETE (row added with automatic git-based location) |
|
||||||
|
| 8 | MED | Missing Concept | Add Status Line row to CONCEPTS table | COMPLETE (row added with ~\/\.claude\/settings\.json location) |
|
||||||
|
| 9 | MED | Missing Concept | Add Remote Control row to CONCEPTS table | COMPLETE (row added with CLI \/ claude\.ai location) |
|
||||||
|
| 10 | MED | Missing Concept | Add Fast Mode row to CONCEPTS table | COMPLETE (row added with \.claude\/settings\.json location) |
|
||||||
|
| 11 | MED | Missing Concept | Add Headless Mode row to CONCEPTS table | COMPLETE (row added with CLI flag -p location) |
|
||||||
|
| 12 | LOW | Changed Description | Update Memory description to mention auto memory | COMPLETE (description and location updated) |
|
||||||
|
| 13 | LOW | Changed Location | Update MCP Servers location to include `.mcp.json` | COMPLETE (location updated to include .mcp.json) |
|
||||||
|
| 14 | LOW | Missing Badge | Add Implemented badge to Hooks row | COMPLETE (Implemented badge added linking to .claude/hooks/) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## [2026-03-02 11:57 AM PKT] Claude Code v2.1.63
|
||||||
|
|
||||||
|
| # | Priority | Type | Action | Status |
|
||||||
|
|---|----------|------|--------|--------|
|
||||||
|
| 1 | HIGH | Table Consolidation | Consolidate CONCEPTS table from 22 rows to 10 rows — fold related concepts as inline doc links | COMPLETE (22 → 10 rows) |
|
||||||
|
| 2 | MED | Merged Concept | Fold Marketplaces into Plugins row as inline link | COMPLETE (linked to /discover-plugins) |
|
||||||
|
| 3 | MED | Merged Concept | Fold Agent Teams into Sub-Agents row as inline link | COMPLETE (linked to /agent-teams) |
|
||||||
|
| 4 | MED | Merged Concept | Fold Permissions, Model Config, Output Styles, Sandboxing, Keybindings, Status Line, Fast Mode into Settings row as inline links | COMPLETE (7 concepts folded with doc links) |
|
||||||
|
| 5 | MED | Merged Concept | Fold Auto Memory and Rules into Memory row as inline links | COMPLETE (linked to /memory and /memory#organize-rules-with-clauderules) |
|
||||||
|
| 6 | MED | Merged Concept | Fold Headless Mode into Remote Control row as inline link | COMPLETE (linked to /headless) |
|
||||||
|
| 7 | LOW | Reorder | Reorder table by logical grouping: building blocks → extension → config → context → runtime | COMPLETE (grouped by concern, not chronology) |
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
# Verification Checklist — README CONCEPTS Section
|
||||||
|
|
||||||
|
Rules for verifying CONCEPTS table accuracy. Each rule is checked during every workflow run.
|
||||||
|
|
||||||
|
## Rules
|
||||||
|
|
||||||
|
### 1. External URL Liveness
|
||||||
|
- **Category**: URL Accuracy
|
||||||
|
- **What to check**: Every external URL in the CONCEPTS table (docs links) returns a valid page
|
||||||
|
- **Depth**: Fetch each URL and confirm it loads the expected page (not a redirect to wrong page)
|
||||||
|
- **Source to compare against**: `https://code.claude.com/docs/llms.txt` for canonical URL list
|
||||||
|
- **Date added**: 2026-03-02
|
||||||
|
- **Origin**: Permissions URL `/iam` was found to redirect to Authentication page instead of Permissions
|
||||||
|
|
||||||
|
### 2. Anchor Fragment Validity
|
||||||
|
- **Category**: URL Accuracy
|
||||||
|
- **What to check**: Any URL with an anchor fragment (`#section-name`) matches an actual heading on the target page
|
||||||
|
- **Depth**: Fetch the page and verify the heading exists with the expected anchor
|
||||||
|
- **Source to compare against**: Fetched page content
|
||||||
|
- **Date added**: 2026-03-02
|
||||||
|
- **Origin**: Rules anchor `#modular-rules-with-clauderules` was stale; section renamed to `#organize-rules-with-clauderules`
|
||||||
|
|
||||||
|
### 3. Missing Docs Pages
|
||||||
|
- **Category**: Missing Concepts
|
||||||
|
- **What to check**: Every page in the official docs index (`llms.txt`) that represents a user-facing feature has a corresponding row in the CONCEPTS table
|
||||||
|
- **Depth**: Compare full docs index against CONCEPTS table entries
|
||||||
|
- **Source to compare against**: `https://code.claude.com/docs/llms.txt`
|
||||||
|
- **Date added**: 2026-03-02
|
||||||
|
- **Origin**: Multiple missing concepts found (Agent Teams, Keybindings, Model Configuration, etc.)
|
||||||
|
|
||||||
|
### 4. Local Badge Link Validity
|
||||||
|
- **Category**: Badge Accuracy
|
||||||
|
- **What to check**: Every badge target path in the CONCEPTS table (`best-practice/*.md`, `implementation/*.md`, `.claude/*/`) points to a file or directory that exists
|
||||||
|
- **Depth**: Use Read/Glob to verify file existence
|
||||||
|
- **Source to compare against**: Local filesystem
|
||||||
|
- **Date added**: 2026-03-02
|
||||||
|
- **Origin**: Initial checklist creation
|
||||||
|
|
||||||
|
### 5. Description Currency
|
||||||
|
- **Category**: Description Accuracy
|
||||||
|
- **What to check**: Each concept's description accurately reflects the current official docs description
|
||||||
|
- **Depth**: Compare README description against the official page's meta description or first paragraph
|
||||||
|
- **Source to compare against**: Official docs page content
|
||||||
|
- **Date added**: 2026-03-02
|
||||||
|
- **Origin**: Memory description missing auto memory; MCP Servers location missing `.mcp.json`
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# Sub-agents Implementation
|
# Sub-agents Implementation
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
<table width="100%">
|
<table width="100%">
|
||||||
<tr>
|
<tr>
|
||||||
@@ -13,52 +13,48 @@
|
|||||||
|
|
||||||
<a href="#weather-agent"><img src="../!/tags/implemented-hd.svg" alt="Implemented"></a>
|
<a href="#weather-agent"><img src="../!/tags/implemented-hd.svg" alt="Implemented"></a>
|
||||||
|
|
||||||
The weather agent is implemented in this repo as an example of the **Command → Agent → Skills** architecture pattern.
|
The weather agent is implemented in this repo as an example of the **Command → Agent → Skill** architecture pattern, demonstrating two distinct skill patterns.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Weather Agent
|
## Weather Agent
|
||||||
|
|
||||||
**File**: [`.claude/agents/weather.md`](../.claude/agents/weather.md)
|
**File**: [`.claude/agents/weather-agent.md`](../.claude/agents/weather-agent.md)
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
---
|
---
|
||||||
name: weather
|
name: weather-agent
|
||||||
description: Use this agent PROACTIVELY when you need to fetch and transform
|
description: Use this agent PROACTIVELY when you need to fetch weather data for
|
||||||
weather data for Karachi, Pakistan. This agent fetches real-time temperature
|
Dubai, UAE. This agent fetches real-time temperature from wttr.in API
|
||||||
from wttr.in API and applies transformation rules from
|
using its preloaded weather-fetcher skill.
|
||||||
orchestration-workflow/input.md, writing results to
|
tools: WebFetch, Read
|
||||||
orchestration-workflow/output.md.
|
|
||||||
tools: WebFetch, Read, Write
|
|
||||||
model: sonnet
|
model: sonnet
|
||||||
color: green
|
color: green
|
||||||
memory: project
|
memory: project
|
||||||
skills:
|
skills:
|
||||||
- weather-fetcher
|
- weather-fetcher
|
||||||
- weather-transformer
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Weather Agent
|
# Weather Agent
|
||||||
|
|
||||||
You are a specialized weather agent that fetches and transforms weather data
|
You are a specialized weather agent that fetches weather data for Dubai,
|
||||||
for Karachi, Pakistan.
|
Pakistan.
|
||||||
|
|
||||||
## Your Task
|
## Your Task
|
||||||
|
|
||||||
Execute the weather workflow by following the instructions from your preloaded
|
Execute the weather workflow by following the instructions from your preloaded
|
||||||
skills sequentially:
|
skill:
|
||||||
|
|
||||||
1. **First**: Follow the `weather-fetcher` skill instructions to fetch the
|
1. **Fetch**: Follow the `weather-fetcher` skill instructions to fetch the
|
||||||
current temperature
|
current temperature
|
||||||
2. **Then**: Follow the `weather-transformer` skill instructions to apply
|
2. **Report**: Return the temperature value and unit to the caller
|
||||||
transformations and write results
|
3. **Memory**: Update your agent memory with the reading details for
|
||||||
3. **Finally**: Update your agent memory with the reading details for
|
|
||||||
historical tracking
|
historical tracking
|
||||||
|
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
The agent has two skills preloaded (`weather-fetcher` and `weather-transformer`) that provide step-by-step instructions for fetching from the wttr.in API and applying transformation rules.
|
The agent has one preloaded skill (`weather-fetcher`) that provides instructions for fetching from the wttr.in API. It returns the temperature value and unit to the calling command.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -66,14 +62,14 @@ The agent has two skills preloaded (`weather-fetcher` and `weather-transformer`)
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ claude
|
$ claude
|
||||||
> What is the weather in Karachi?
|
> /weather-orchestrator
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<a href="https://github.com/shanraisshan/claude-code-best-practice#orchestration-workflow"><img src="../!/tags/orchestration-workflow-hd.svg" alt="Orchestration Workflow"></a>
|
<a href="https://github.com/shanraisshan/claude-code-best-practice#orchestration-workflow"><img src="../!/tags/orchestration-workflow-hd.svg" alt="Orchestration Workflow"></a>
|
||||||
|
|
||||||
The weather agent is the **Agent** in the Command → Agent → Skills orchestration pattern. It receives the workflow from the `/weather-orchestrator` command and executes it using two preloaded skills (`weather-fetcher`, `weather-transformer`) within a single execution context.
|
The weather agent is the **Agent** in the Command → Agent → Skill orchestration pattern. It receives the workflow from the `/weather-orchestrator` command and fetches temperature using its preloaded skill (`weather-fetcher`). The command then invokes the standalone `weather-svg-creator` skill to create the visual output.
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="../!/command-skill-agent-flow.svg" alt="Command Skill Agent Architecture Flow" width="100%">
|
<img src="../!/command-skill-agent-flow.svg" alt="Command Skill Agent Architecture Flow" width="100%">
|
||||||
@@ -82,6 +78,5 @@ The weather agent is the **Agent** in the Command → Agent → Skills orchestra
|
|||||||
| Component | Role | This Repo |
|
| Component | Role | This Repo |
|
||||||
|-----------|------|-----------|
|
|-----------|------|-----------|
|
||||||
| **Command** | Entry point, user interaction | `/weather-orchestrator` |
|
| **Command** | Entry point, user interaction | `/weather-orchestrator` |
|
||||||
| **Agent** | Orchestrates workflow with preloaded skills | `weather` agent |
|
| **Agent** | Fetches data with preloaded skill (agent skill) | `weather-agent` with `weather-fetcher` |
|
||||||
| **Skills** | Domain knowledge injected at startup | `weather-fetcher`, `weather-transformer` |
|
| **Skill** | Creates output independently (skill) | `weather-svg-creator` |
|
||||||
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
add +20 in the result.
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# Orchestration Workflow
|
# Orchestration Workflow
|
||||||
|
|
||||||
This document describes the **Command → Agent → Skills** orchestration workflow, demonstrated through a weather data fetching and transformation system.
|
This document describes the **Command → Agent (with skill) → Skill** orchestration workflow, demonstrated through a weather data fetching and SVG rendering system.
|
||||||
|
|
||||||
<table width="100%">
|
<table width="100%">
|
||||||
<tr>
|
<tr>
|
||||||
@@ -11,10 +11,14 @@ This document describes the **Command → Agent → Skills** orchestration workf
|
|||||||
|
|
||||||
## System Overview
|
## System Overview
|
||||||
|
|
||||||
The weather system demonstrates the **Command → Agent → Skills** architecture pattern, where:
|
The weather system demonstrates two distinct skill patterns within a single orchestration workflow:
|
||||||
- A command orchestrates the workflow
|
- **Agent Skills** (preloaded): `weather-fetcher` is injected into the `weather-agent` at startup as domain knowledge
|
||||||
- An agent executes tasks using preloaded skills
|
- **Skills** (independent): `weather-svg-creator` is invoked directly by the command via the Skill tool
|
||||||
- Skills provide domain-specific knowledge and instructions
|
|
||||||
|
This showcases the **Command → Agent → Skill** architecture pattern, where:
|
||||||
|
- A command orchestrates the workflow and handles user interaction
|
||||||
|
- An agent fetches data using its preloaded skill
|
||||||
|
- A skill creates the visual output independently
|
||||||
|
|
||||||
## Flow Diagram
|
## Flow Diagram
|
||||||
|
|
||||||
@@ -22,58 +26,60 @@ The weather system demonstrates the **Command → Agent → Skills** architectur
|
|||||||
┌─────────────────────────────────────────────────┐
|
┌─────────────────────────────────────────────────┐
|
||||||
│ User Interaction │
|
│ User Interaction │
|
||||||
└─────────────────────────────────────────────────┘
|
└─────────────────────────────────────────────────┘
|
||||||
│
|
│
|
||||||
▼
|
▼
|
||||||
┌───────────────────────────┐
|
┌───────────────────────────┐
|
||||||
│ /weather-orchestrator │
|
│ /weather-orchestrator │
|
||||||
│ Command │
|
│ Command │
|
||||||
│ (Entry point) │
|
│ (Entry point) │
|
||||||
└───────────────────────────┘
|
└───────────────────────────┘
|
||||||
│
|
│
|
||||||
│ Task tool invocation
|
┌─────────────┤
|
||||||
▼
|
│ │
|
||||||
┌───────────────────────────┐
|
▼ │
|
||||||
│ weather │
|
┌──────────────┐ │
|
||||||
│ Agent │
|
│ AskUser │ │
|
||||||
│ (Orchestrates flow) │
|
│ C° or F°? │ │
|
||||||
│ │
|
└──────────────┘ │
|
||||||
│ skills: │
|
│ │
|
||||||
│ - weather-fetcher │
|
▼ │
|
||||||
│ - weather-transformer │
|
Step 2: Task tool │
|
||||||
└───────────────────────────┘
|
│ │
|
||||||
│
|
▼ │
|
||||||
┌────────────────┴────────────────┐
|
┌───────────────────────────┐
|
||||||
│ │
|
│ weather-agent │
|
||||||
▼ ▼
|
│ Agent │
|
||||||
┌───────────────────────────┐ ┌───────────────────────────┐
|
│ │
|
||||||
│ weather-fetcher │ │ weather-transformer │
|
│ preloaded skill: │
|
||||||
│ Skill │ │ Skill │
|
│ - weather-fetcher │
|
||||||
│ (Preloaded knowledge) │ │ (Preloaded knowledge) │
|
└───────────────────────────┘
|
||||||
└───────────────────────────┘ └───────────────────────────┘
|
│
|
||||||
│ │
|
│ Returns: temperature + unit
|
||||||
▼ ▼
|
│
|
||||||
┌───────────────────────────┐ ┌───────────────────────────┐
|
▼
|
||||||
│ wttr.in API │ │ orchestration-workflow/ │
|
Step 3: Skill tool
|
||||||
│ Fetch Temperature │ │ Read Transform Rules │
|
│
|
||||||
│ for Karachi │ └───────────────────────────┘
|
▼
|
||||||
└───────────────────────────┘ │
|
┌───────────────────────────┐
|
||||||
│ ▼
|
│ weather-svg-creator │
|
||||||
│ Returns: 26°C ┌───────────────────────────┐
|
│ Skill │
|
||||||
│ │ Apply Transform │
|
│ │
|
||||||
└──────────────────▶│ 26 + 10 = 36°C │
|
│ Creates SVG card │
|
||||||
└───────────────────────────┘
|
│ Writes output files │
|
||||||
│
|
└───────────────────────────┘
|
||||||
▼
|
│
|
||||||
┌─────────────────────────────────────┐
|
┌────────┴────────┐
|
||||||
│ orchestration-workflow/output.md │
|
│ │
|
||||||
│ Write Results │
|
▼ ▼
|
||||||
└─────────────────────────────────────┘
|
┌──────────────────┐ ┌──────────────────┐
|
||||||
│
|
│ weather.svg │ │ output.md │
|
||||||
▼
|
└──────────────────┘ └──────────────────┘
|
||||||
┌───────────────────────────┐
|
│
|
||||||
│ Display Summary │
|
▼
|
||||||
│ to User │
|
┌───────────────────────────┐
|
||||||
└───────────────────────────┘
|
│ Display Summary │
|
||||||
|
│ to User │
|
||||||
|
└───────────────────────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
## Component Details
|
## Component Details
|
||||||
@@ -82,116 +88,118 @@ The weather system demonstrates the **Command → Agent → Skills** architectur
|
|||||||
|
|
||||||
#### `/weather-orchestrator` (Command)
|
#### `/weather-orchestrator` (Command)
|
||||||
- **Location**: `.claude/commands/weather-orchestrator.md`
|
- **Location**: `.claude/commands/weather-orchestrator.md`
|
||||||
- **Purpose**: Entry point for weather operations
|
- **Purpose**: Entry point — orchestrates the workflow and handles user interaction
|
||||||
- **Action**: Invokes the weather agent via Task tool
|
- **Actions**:
|
||||||
|
1. Asks user for temperature unit preference (Celsius/Fahrenheit)
|
||||||
|
2. Invokes weather-agent via Task tool
|
||||||
|
3. Invokes weather-svg-creator via Skill tool
|
||||||
- **Model**: haiku
|
- **Model**: haiku
|
||||||
|
|
||||||
### 2. Agent with Skills
|
### 2. Agent with Preloaded Skill (Agent Skill)
|
||||||
|
|
||||||
#### `weather` (Agent)
|
#### `weather-agent` (Agent)
|
||||||
- **Location**: `.claude/agents/weather.md`
|
- **Location**: `.claude/agents/weather-agent.md`
|
||||||
- **Purpose**: Execute the weather workflow using preloaded skills
|
- **Purpose**: Fetch weather data using its preloaded skill
|
||||||
- **Skills**: `weather-fetcher`, `weather-transformer`
|
- **Skills**: `weather-fetcher` (preloaded as domain knowledge)
|
||||||
- **Tools Available**: WebFetch, Read, Write
|
- **Tools Available**: WebFetch, Read
|
||||||
- **Model**: haiku
|
- **Model**: sonnet
|
||||||
- **Color**: green
|
- **Color**: green
|
||||||
|
- **Memory**: project
|
||||||
|
|
||||||
The agent has skills preloaded into its context at startup. It follows the instructions from each skill sequentially.
|
The agent has `weather-fetcher` preloaded into its context at startup. It follows the skill's instructions to fetch the temperature and returns the value to the command.
|
||||||
|
|
||||||
### 3. Skills
|
### 3. Skill
|
||||||
|
|
||||||
|
#### `weather-svg-creator` (Skill)
|
||||||
|
- **Location**: `.claude/skills/weather-svg-creator/SKILL.md`
|
||||||
|
- **Purpose**: Create a visual SVG weather card and write output files
|
||||||
|
- **Invocation**: Via Skill tool from the command (not preloaded into any agent)
|
||||||
|
- **Outputs**:
|
||||||
|
- `orchestration-workflow/weather.svg` — SVG weather card
|
||||||
|
- `orchestration-workflow/output.md` — Weather summary
|
||||||
|
|
||||||
|
### 4. Preloaded Skill
|
||||||
|
|
||||||
#### `weather-fetcher` (Skill)
|
#### `weather-fetcher` (Skill)
|
||||||
- **Location**: `.claude/skills/weather-fetcher/SKILL.md`
|
- **Location**: `.claude/skills/weather-fetcher/SKILL.md`
|
||||||
- **Purpose**: Instructions for fetching real-time temperature data
|
- **Purpose**: Instructions for fetching real-time temperature data
|
||||||
- **Data Source**: wttr.in API for Karachi, Pakistan
|
- **Data Source**: wttr.in API for Dubai, UAE
|
||||||
- **Output**: Temperature in Celsius (numeric value)
|
- **Output**: Temperature value and unit (Celsius or Fahrenheit)
|
||||||
|
- **Note**: This is an agent skill — preloaded into `weather-agent`, not invoked directly
|
||||||
#### `weather-transformer` (Skill)
|
|
||||||
- **Location**: `.claude/skills/weather-transformer/SKILL.md`
|
|
||||||
- **Purpose**: Instructions for applying mathematical transformations
|
|
||||||
- **Input Source**: `orchestration-workflow/input.md` (transformation rules)
|
|
||||||
- **Output Destination**: `orchestration-workflow/output.md` (formatted results)
|
|
||||||
|
|
||||||
### 4. Data Files
|
|
||||||
|
|
||||||
#### `orchestration-workflow/input.md`
|
|
||||||
- **Purpose**: Stores transformation rules
|
|
||||||
- **Format**: Natural language instructions (e.g., "add +10 in the result")
|
|
||||||
- **Access**: Read by weather agent following weather-transformer skill
|
|
||||||
|
|
||||||
#### `orchestration-workflow/output.md`
|
|
||||||
- **Purpose**: Stores formatted transformation results
|
|
||||||
- **Format**: Structured markdown with sections:
|
|
||||||
- Original Temperature
|
|
||||||
- Transformation Applied
|
|
||||||
- Final Result
|
|
||||||
- Calculation Details
|
|
||||||
|
|
||||||
## Execution Flow
|
## Execution Flow
|
||||||
|
|
||||||
1. **User Invocation**: User runs `/weather-orchestrator` command
|
1. **User Invocation**: User runs `/weather-orchestrator` command
|
||||||
2. **User Prompt**: Command asks user for preferred temperature unit (Celsius/Fahrenheit)
|
2. **User Prompt**: Command asks user for preferred temperature unit (Celsius/Fahrenheit)
|
||||||
3. **Agent Invocation**: Command invokes weather agent via Task tool
|
3. **Agent Invocation**: Command invokes `weather-agent` via Task tool
|
||||||
4. **Skill Execution** (within agent context):
|
4. **Skill Execution** (within agent context):
|
||||||
- **Step 1**: Agent follows `weather-fetcher` skill instructions to fetch temperature from wttr.in
|
- Agent follows `weather-fetcher` skill instructions to fetch temperature from wttr.in
|
||||||
- **Step 2**: Agent follows `weather-transformer` skill instructions to:
|
- Agent returns the temperature value and unit to the command
|
||||||
- Read transformation rules from `orchestration-workflow/input.md`
|
5. **SVG Creation**: Command invokes `weather-svg-creator` via Skill tool
|
||||||
- Apply rules to the fetched temperature
|
- Skill creates SVG weather card at `orchestration-workflow/weather.svg`
|
||||||
- Write formatted results to `orchestration-workflow/output.md`
|
- Skill writes summary to `orchestration-workflow/output.md`
|
||||||
5. **Result Display**: Summary shown to user with:
|
6. **Result Display**: Summary shown to user with:
|
||||||
- Temperature unit requested
|
- Temperature unit requested
|
||||||
- Original temperature
|
- Temperature fetched
|
||||||
- Transformation rule applied
|
- SVG card location
|
||||||
- Final transformed result
|
- Output file location
|
||||||
|
|
||||||
## Example Execution
|
## Example Execution
|
||||||
|
|
||||||
```
|
```
|
||||||
Input: /weather-orchestrator
|
Input: /weather-orchestrator
|
||||||
├─ Asks: Celsius or Fahrenheit?
|
├─ Step 1: Asks: Celsius or Fahrenheit?
|
||||||
├─ User: Celsius
|
│ └─ User: Celsius
|
||||||
├─ Task: weather agent (via Task tool)
|
├─ Step 2: Task tool → weather-agent
|
||||||
│ ├─ Skills Preloaded:
|
│ ├─ Preloaded Skill:
|
||||||
│ │ ├─ weather-fetcher (knowledge)
|
│ │ └─ weather-fetcher (domain knowledge)
|
||||||
│ │ └─ weather-transformer (knowledge)
|
│ ├─ Fetches from wttr.in → 26°C
|
||||||
│ ├─ Step 1 (weather-fetcher skill):
|
│ └─ Returns: temperature=26, unit=Celsius
|
||||||
│ │ └─ Fetches from wttr.in → 26°C
|
├─ Step 3: Skill tool → /weather-svg-creator
|
||||||
│ ├─ Step 2 (weather-transformer skill):
|
│ ├─ Creates: orchestration-workflow/weather.svg
|
||||||
│ │ ├─ Reads: orchestration-workflow/input.md ("add +10")
|
│ └─ Writes: orchestration-workflow/output.md
|
||||||
│ │ ├─ Calculates: 26 + 10 = 36°C
|
|
||||||
│ │ └─ Writes: orchestration-workflow/output.md
|
|
||||||
│ └─ Returns: Complete report
|
|
||||||
└─ Output:
|
└─ Output:
|
||||||
├─ Unit: Celsius
|
├─ Unit: Celsius
|
||||||
├─ Original: 26°C
|
├─ Temperature: 26°C
|
||||||
├─ Transform: Add +10
|
├─ SVG: orchestration-workflow/weather.svg
|
||||||
└─ Result: 36°C
|
└─ Summary: orchestration-workflow/output.md
|
||||||
```
|
```
|
||||||
|
|
||||||
## Key Design Principles
|
## Key Design Principles
|
||||||
|
|
||||||
1. **Command → Agent → Skills**: Three-tier architecture for clean separation
|
1. **Two Skill Patterns**: Demonstrates both agent skills (preloaded) and skills (invoked directly)
|
||||||
2. **Skills as Knowledge**: Skills provide domain knowledge preloaded into agent context
|
2. **Command as Orchestrator**: The command handles user interaction and coordinates the workflow
|
||||||
3. **Single Agent**: One agent handles multiple related tasks using its skills
|
3. **Agent for Data Fetching**: The agent uses its preloaded skill to fetch data, then returns it
|
||||||
4. **Sequential Execution**: Agent follows skill instructions in order
|
4. **Skill for Output**: The SVG creator runs independently, receiving data from the command context
|
||||||
5. **Configurable Transformations**: Rules stored externally in input files
|
5. **Clean Separation**: Fetch (agent) → Render (skill) — each component has a single responsibility
|
||||||
6. **Structured Output**: Results formatted consistently in output files
|
|
||||||
|
|
||||||
## Architecture Pattern: Agent-Skills
|
## Architecture Patterns
|
||||||
|
|
||||||
This system demonstrates the **agent-skills pattern** where:
|
### Agent Skill (Preloaded)
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# In agent definition (.claude/agents/weather.md)
|
# In agent definition (.claude/agents/weather-agent.md)
|
||||||
---
|
---
|
||||||
name: weather
|
name: weather-agent
|
||||||
skills:
|
skills:
|
||||||
- weather-fetcher
|
- weather-fetcher # Preloaded into agent context at startup
|
||||||
- weather-transformer
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
|
|
||||||
- **Skills are preloaded**: Full skill content is injected into agent's context at startup
|
- **Skills are preloaded**: Full skill content is injected into agent's context at startup
|
||||||
- **Agent uses skill knowledge**: Agent follows instructions from preloaded skills
|
- **Agent uses skill knowledge**: Agent follows instructions from preloaded skills
|
||||||
- **No dynamic invocation**: Skills are not invoked separately; they're reference material
|
- **No dynamic invocation**: Skills are reference material, not invoked separately
|
||||||
- **Single execution context**: All work happens within one agent's context
|
|
||||||
|
### Skill (Direct Invocation)
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# In skill definition (.claude/skills/weather-svg-creator/SKILL.md)
|
||||||
|
---
|
||||||
|
name: weather-svg-creator
|
||||||
|
description: Creates an SVG weather card...
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
- **Invoked via Skill tool**: Command calls `Skill(skill: "weather-svg-creator")`
|
||||||
|
- **Independent execution**: Runs in the command's context, not inside an agent
|
||||||
|
- **Receives data from context**: Uses temperature data already available in the conversation
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
# Weather Transformation Result
|
# Weather Result
|
||||||
|
|
||||||
## Original Temperature
|
## Temperature
|
||||||
27°C
|
32°C
|
||||||
|
|
||||||
## Transformation Applied
|
## Location
|
||||||
Add +20 to the result
|
Dubai, UAE
|
||||||
|
|
||||||
## Final Result
|
## Unit
|
||||||
47°C
|
Celsius
|
||||||
|
|
||||||
## Calculation Details
|
## SVG Card
|
||||||
27°C + 20 = 47°C
|

|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<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"/>
|
||||||
|
<text x="150" y="45" text-anchor="middle" fill="#8892b0" font-family="system-ui" font-size="14">Unit: Celsius</text>
|
||||||
|
<text x="150" y="100" text-anchor="middle" fill="#ccd6f6" font-family="system-ui" font-size="42" font-weight="bold">32°C</text>
|
||||||
|
<text x="150" y="140" text-anchor="middle" fill="#64ffda" font-family="system-ui" font-size="16">Dubai, UAE</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 520 B |
Reference in New Issue
Block a user