---
name: learning-resources-finder
description: >
  Curate 10 modern, well-recognized learning resources on any topic the user specifies. 
  Use this skill when someone asks for learning resources, study materials, where to learn something, 
  how to get started in a field, or wants a curated reading/course list. 
  Always triggers when the user asks phrases like "resources to learn X", "how do I learn X", 
  "best courses for X", "where can I study X", "give me resources for X", or any similar 
  learning-oriented request. The skill asks targeted clarifying questions first to tailor output 
  by level, format preference, and subtopic focus before curating resources. Prioritizes modern 
  platforms, interactive tools, active communities, and expert blogs over static classic books.
---
 
# Learning Resources Finder
 
Curate 10 tailored, high-quality learning resources for any topic. The output should feel like it was assembled by a domain expert who knows the landscape — not a generic list. Quality, recency, and fit to the user's level and goals matter above all.
 
---
 
## Step 1 — Ask clarifying questions first
 
Before searching or listing anything, ask the user up to 3 focused questions using the `ask_user_input_v0` tool. Always include these unless the user has already answered them in their request:
 
1. **Level** — Where are they starting from? (e.g. complete beginner / knows the basics / intermediate / advanced)
2. **Subtopic focus** — What areas within the topic interest them most? Offer 3–5 domain-specific options as a multi-select.
3. **Format preference** *(optional, only include if the topic has meaningfully different format options)* — e.g. interactive challenges, video courses, lecture notes/books, blogs, podcasts, hands-on projects.
Tailor the options to the specific topic — don't use generic placeholders. For example, for "machine learning" the subtopic options should be things like "Classical ML / supervised learning", "Deep learning / neural nets", "Reinforcement learning", "MLOps / deployment" — not vague categories.
 
---
 
## Step 2 — Research resources with web search
 
After receiving answers, search the web to find the best current resources. Do not rely on training data alone — the landscape changes fast and some resources go stale. Run **at least 4–6 searches** covering:
 
- Best interactive platforms / challenge sites for the topic
- Best university courses available online (MOOCs, recorded lectures, course websites)
- Best free books, lecture notes, or reference texts
- Expert blogs, newsletters, or community sites
- Topic-specific searches for the user's stated subtopic interests
- Recent "best resources for [topic]" roundups from credible sources
Use `web_fetch` to verify URLs are still live and to confirm content details when in doubt.
 
---
 
## Step 3 — Curate and score candidates
 
From your research, assemble a candidate pool. Apply this quality filter before including any resource:
 
### Inclusion criteria (resource must meet most of these)
- **Modern or actively maintained** — updated within the last 3 years, or a classic that remains the recognized standard with no better alternative
- **Well-recognized** — cited by practitioners, referenced in courses, has community endorsement (GitHub stars, forum recommendations, academic citations)
- **Substantive** — covers more than surface-level introductions; appropriate depth for the user's level
- **Accessible** — publicly available or low-cost; flag paywalled resources clearly
- **Non-redundant** — if two resources cover identical ground, keep only the better one
### Format diversity requirement
The 10 resources must represent at least **4 distinct formats** from this list:
- Interactive challenges / CTF / exercises
- Video course (MOOC or university)
- Free book / lecture notes / written reference
- Expert blog or practitioner newsletter
- Community hub (Discord, forum, wiki)
- Hands-on project or coding environment
- Podcast or talk series
Do not fill the list with 7 books and 3 courses. Diversity makes the list actionable for different learning styles.
 
---
 
## Step 4 — Write the output
 
Structure the output as a markdown document with this format:
 
```
# 10 [Topic] Resources — [Level] · [Focus areas]
 
Brief 2–3 sentence framing paragraph explaining the overall curation strategy 
and why these particular resources were chosen for this user's profile.
 
---
 
## [Category label grouping 2–3 related resources]
 
**N. Resource Name**
- **URL:** [direct link]
- **What it covers:** 2–3 sentences on content scope. Be specific — don't write 
  "covers all the basics". Say what topics, what depth, what the user will be 
  able to do after using it.
- **Why it's recognized:** What makes this notable. Citation counts, who made it, 
  community endorsement, industry reputation. Avoid vague praise.
- **Format:** [Interactive / Video / Book / Blog / etc.] — [free/paid/freemium]
- **Best for:** One sentence on what type of learner or use case this fits best.
 
[repeat for all 10]
 
---
 
## Suggested learning path
 
3–5 sentences connecting the resources into a sequence. Explain which to start with, 
which to run in parallel, and which to tackle after building a foundation. 
Make this specific to the user's stated focus areas.
```
 
---
 
## Quality rules
 
- **No filler resources.** Every entry must earn its spot. If you can't find 10 genuinely strong resources, list 8 excellent ones rather than padding with mediocre content.
- **No dead links.** Verify URLs are live if uncertain.
- **No vague praise.** "One of the most respected courses available" needs a reason — who says so, how many learners, what's the reputation basis.
- **Flag caveats honestly.** If a resource is slightly dated but still the best option, say so. If it requires math prerequisites, mention that.
- **Prioritize primary sources.** Official docs, original course sites, and author pages over aggregators and secondhand summaries.
- **Lean modern.** Given a choice between a 2010 classic and a 2022 equivalent of equal quality, prefer the 2022 one — unless the 2010 resource is genuinely canonical with no peer.
---
 
## Output format
 
Write the final resource list as a **markdown artifact** (`.md` file), not inline in chat. After presenting it, offer a brief 1–2 sentence summary in chat of what the list covers.
 
