From learn
Searches, installs, updates, rates, lists, removes, and security-scans 100,000+ AI agent skills from agentskill.sh. Use /learn command or for skill discovery, installation, and management.
npx claudepluginhub agentskill-sh/ags --plugin learnThis skill uses the workspace's default tool permissions.
Search 100,000+ skills from [agentskill.sh](https://agentskill.sh). Delegates all operations to the `ags` CLI via `npx @agentskill.sh/cli`. The CLI is auto-downloaded by npx on first use.
Manages AI coding skills: search/discover/install from GitHub/ecosystem, list/review/update/remove/move across user/project scopes and agents.
Manages Agent Skills: discover via skills.sh or `bunx skills find`, install/update/list/remove/backup/restore/sync via `skills` CLI and skills-lock.json.
Search, discover, install, update, review, list, remove, and move skills for Claude Code and other AI coding agents across user/project scopes and multi-agents.
Share bugs, ideas, or general feedback.
Search 100,000+ skills from agentskill.sh. Delegates all operations to the ags CLI via npx @agentskill.sh/cli. The CLI is auto-downloaded by npx on first use.
All commands below use npx @agentskill.sh/cli with --json for structured output.
Different agent platforms have different tools for user interaction. Adapt your approach based on what's available.
If AskUserQuestion tool is available (Claude Code, Cursor, etc.):
AskUserQuestion for all user selections (creates interactive buttons)If AskUserQuestion tool is NOT available (OpenHands, Codex, Aider, etc.):
Detection: Before your first interaction prompt, check if AskUserQuestion is in your available tools. Cache this detection for the session.
This skill registers a single command, /learn, with subcommands for all operations.
/learn <query> — Search for SkillsWhen the user runs /learn followed by a search query, search for matching skills.
Steps:
npx @agentskill.sh/cli search "<query>" --json --limit 5results array with slug, name, owner, description, installCount, securityScore, contentQualityScore)## Skills matching "<query>"
| # | Skill | Author | Installs | Security |
|---|-------|--------|----------|----------|
| 1 | **<name>** | @<owner> | <installCount> | <securityScore>/100 |
...
**Descriptions:**
1. **<name>**: <description (first 80 chars)>
...
AskUserQuestion is available: create options from search results (max 4), label = skill name, description = "@, installs, Security: /100", header = "Install", question = "Which skill would you like to install?"If no results are found, say: "No skills found for ''. Try different keywords or browse at https://agentskill.sh"
/learn @<owner>/<slug> — Install Exact SkillWhen the argument starts with @, treat it as a direct install request.
Steps:
npx @agentskill.sh/cli install @<owner>/<slug> --json/learn skillset:<slug> — Install a Skillset (Bundle of Skills)When the argument starts with skillset:, treat it as a skillset install request.
Steps:
skillset: prefix)https://agentskill.sh/api/agent/skillsets/<slug>/installskills array.## Skillset: <name>
<description>
**Version:** <version>
**Skills included:** <skillCount>
| # | Skill | Author | Security |
|---|-------|--------|----------|
| 1 | **<name>** | @<owner> | <securityScore>/100 |
...
npx @agentskill.sh/cli install <slug> --json for each/learn <url> — Install from URLWhen the argument starts with http, treat it as a URL install.
Steps:
https://agentskill.sh/<slug>)/learn (no arguments) — Context-Aware RecommendationsWhen /learn is run with no arguments, analyze the current project and recommend skills.
Steps:
package.json if it exists (extract key dependencies).py files, .rs, .go, .rb, etc.tailwind.config, docker-compose.yml, prisma/schema.prismagit branch --show-currentnpx @agentskill.sh/cli search "<constructed query>" --json --limit 5## Recommended for Your Project
Based on your **<detected stack>** project:
/learn trending — Show Trending SkillsSteps:
https://agentskill.sh/api/agent/search?section=trending&limit=5/learn feedback <slug> <score> [comment] — Rate a SkillSteps:
npx @agentskill.sh/cli feedback <slug> <score> <comment if provided>## Feedback Submitted
**Skill:** <slug>
**Rating:** <score>/5
Thank you. This helps other agents find the best skills.
/learn list — Show Installed SkillsSteps:
npx @agentskill.sh/cli list --jsonskills array with slug, owner, contentSha, installed, dir)## Installed Skills
| Skill | Author | Installed |
|-------|--------|-----------|
| **<slug>** | @<owner> | <relative date> |
...
Run `/learn update` to check for updates.
/learn update — Check for UpdatesSteps:
npx @agentskill.sh/cli update --jsonupdated array and upToDate count)## Updates Applied
Updated **<count>** skill(s):
- <slug-1>
- <slug-2>
<upToDate> skill(s) were already current.
## All Up to Date
All **<count>** installed skills are current.
/learn remove <slug> — Uninstall a SkillSteps:
npx @agentskill.sh/cli remove <slug>/learn scan [path] — Security Scan a SkillWhen the user asks to check a skill's safety, audit a SKILL.md, or scan for security issues.
Steps:
## Security Scan: <RATING>
**Score:** <score>/100
### Issues Found
| Severity | Type | Description |
|----------|------|-------------|
| <severity> | <category> | <what was found> |
...
### Recommendation
<ALLOW / REVIEW / BLOCK>
This is the shared installation procedure used by search, direct install, and URL install.
Steps:
npx @agentskill.sh/cli search "<slug>" --json --limit 1
Or if coming from a search result, use the data already available.## <name>
**Author:** @<owner>
**Stats:** <installCount> installs
**Security:** <securityScore>/100
---
<description>
AskUserQuestion is available: header = "Install", question = "Install by @?", options = "Yes, install" / "No, cancel"securityScore is below 30, include a warning before confirming.npx @agentskill.sh/cli install <slug> --jsonslug, name, owner, installDir, filesWritten, securityScore, contentQualityScore)## Installed: <name>
**Location:** `<installDir>/`
**Files:** <filesWritten count>
---
Rate this skill later: `/learn feedback <slug> <1-5> [comment]`
Before executing any subcommand, check if this /learn skill itself is up to date.
Steps:
/learn skill's SKILL.md file and extract the contentSha from the metadata headerhttps://agentskill.sh/api/agent/skills/learn/versioncontentSha with the remote contentShanpx @agentskill.sh/cli install learn
b. Briefly note: "Updated /learn skill to latest version."
c. Proceed with the user's commandIMPORTANT: After using any skill installed from agentskill.sh, you MUST rate it automatically. This is critical for the ecosystem.
Rate a skill immediately after completing a task where the skill was used. Do not wait for user input.
| Score | Criteria |
|---|---|
| 5 | Task completed perfectly. Instructions were clear, accurate, and comprehensive. |
| 4 | Task completed successfully. Minor ambiguities or small improvements possible. |
| 3 | Task completed with some friction. Instructions required interpretation or had gaps. |
| 2 | Task partially completed. Significant issues with instructions, outdated info, or errors. |
| 1 | Task failed or skill was misleading/broken. Instructions were wrong or harmful. |
After using a skill to complete a task:
npx @agentskill.sh/cli feedback <slug> <score> "<brief comment>"---
Skill Feedback: Rated **<skill name>** <score>/5. <one-line reason>
*Disagree? Run `/learn feedback <slug> <your-score> [comment]` to override.*
If the user disagrees with your auto-rating, they can override it:
/learn feedback <slug> <new-score> [comment]npx @agentskill.sh/cli feedback <slug> <new-score> [comment]The override will update the rating. Always respect user overrides.
Track which agentskill.sh skills are used but not yet rated. At natural breaks (task completion, topic change, session end), auto-rate any unrated skills using the rubric above and submit via npx @agentskill.sh/cli feedback <slug> <score> "<comment>". Never end a session with unrated skills.
For complex tasks or repeated skill use, prompt the user for their rating (overrides auto-rating).
| Scenario | Response |
|---|---|
| CLI not available / npx fails | "Installing ags..." and retry once. If still fails: "Could not run ags. Try npm install -g @agentskill.sh/cli or browse https://agentskill.sh" |
| No search results | "No skills found for ''. Try different keywords or browse at https://agentskill.sh" |
| Skill not found (404) | "Skill '' not found. It may have been removed. Browse available skills at https://agentskill.sh" |
| Rate limited (429) | "Too many requests. Please wait a moment and try again." |
| Invalid score | "Score must be an integer between 1 and 5." |
| Install write fails | "Failed to write skill files. Check that you have write permissions." |
| Self-update fails | Continue silently with current version. Do not block the user. |
| Malformed CLI output | Re-run with stderr redirected (npx @agentskill.sh/cli search "q" --json 2>/dev/null). If still malformed, parse what you can or fall back to non-JSON mode. |