Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add JasonLo/skill-sommelier --skill "ss-repo-evolve"
Install specific skill from multi-skill repository
# Description
>-
# SKILL.md
name: ss-repo-evolve
description: >-
Discover trending Claude Code skills, study their implementations, and evolve this repo
by adopting valuable patterns. Runs in a loop until stopped. Use when the user wants to
improve the skills collection, adopt community best practices, or keep the repo current.
Triggers on "evolve", "self-evolve", "improve skills repo", "adopt new patterns",
"update skills from community".
allowed-tools:
- Bash
- Read
- Write
- Edit
- Glob
- Grep
- WebFetch
- Agent
metadata:
depends-on: ss-skill-discover ss-skill-validate
Autonomously evolve this skill-sommelier repo by discovering trending skills, studying them, and integrating valuable ideas. Run in a loop until the user wants to stop.
When to Use
- Periodic manual maintenance to keep the repo current with the skills ecosystem
- Looking for inspiration from trending skills
- Bulk-improving existing skills based on community patterns
Note: This skill runs manually on demand. For automated weekly discovery, see
ss-skill-weekly-discoverwhich uses a pure-bash GitHub Action to create recommendation issues (no Claude API needed in CI).
When NOT to Use
- Targeted skill creation β use
ss-skill-craftinstead - Just browsing skills without intent to change the repo β use
ss-skill-discover
Step 1 β Read repo context
- Use the current repo root as
SYNC_REPOand setSKILLS_DIRto$SYNC_REPO/skills/. - List all current skills in
$SKILLS_DIRβ note their names, descriptions (from SKILL.md frontmatter), and any supporting files (scripts/, references/). - Read the repo's
CLAUDE.mdto understand current conventions and architecture.
Step 2 β Discover trending skills
Search GitHub directly using gh CLI (faster than invoking ss-skill-discover interactively):
- Run code search and topic searches in parallel via a single Agent:
gh search code 'filename:SKILL.md "name:" "description:"' --limit 30 --json repository,pathgh search repos --topic=claude-code-skills --sort=stars --limit 20 --json fullName,urlgh search repos --topic=claude-skills --sort=stars --limit 20 --json fullName,urlgh search repos --topic=agent-skills --sort=stars --limit 20 --json fullName,url- Merge, deduplicate, exclude this repo (
JasonLo/skill-sommelier). - For each candidate, fetch the SKILL.md content and extract name, description, license. Fetch repo stars and last push date.
- Filter to permissive licenses only. Sort by stars descending.
Step 3 β Deep study and diff against existing skills
For each trending skill, classify it as new (no equivalent in repo) or overlapping (similar to an existing skill):
3a β New skill candidates
For skills with no equivalent in the repo:
1. Fetch the full SKILL.md via gh api (raw content, base64-decode).
2. Study implementation: frontmatter, phases, supporting files.
3. Assess fit: does it complement the existing collection?
3b β Diff overlapping skills against existing ones
For skills that overlap with an existing repo skill:
1. Fetch the external SKILL.md content.
2. Read the corresponding local skill's SKILL.md.
3. Produce a structured diff comparing the two side-by-side across these dimensions:
| Dimension | Local skill | External skill | Gap |
|---|---|---|---|
| Scan/audit sections | What it covers | What it covers | Missing sections or techniques |
| Phases/steps | Count + names | Count + names | Missing phases or exit criteria |
| Tool usage | Listed tools | Listed tools | Tools used externally but not locally |
| Trigger phrases | Description keywords | Description keywords | Missing trigger terms |
| Supporting files | scripts/, references/ | scripts/, references/ | Missing reference material |
- For each gap found, draft a specific, line-level enhancement β not just "adopt X pattern" but the actual content to add/change.
Step 4 β Analyze and plan improvements
Based on what was discovered, identify improvements in these categories:
- New skills to add β trending skills that would be valuable in this repo, adapted to fit the repo's conventions.
- Existing skill enhancements β specific line-level changes derived from the Step 3b diff. Each enhancement must include: the target file, the section to modify, and the proposed content.
- Repo-level improvements β patterns seen across popular skills that suggest changes to CLAUDE.md, directory structure, or conventions.
Present a summary table to the user:
| Category | Item | Source | Rationale |
|---|---|---|---|
| New skill | ... | repo/skill | Why it fits |
| Enhancement | target-skill: section | repo/skill | Specific gap from diff |
| Repo improvement | ... | repo/skill | What pattern it follows |
Step 5 β Decide and act
For each proposed improvement:
- Low-risk changes (new skills, adding scripts/references to existing skills): proceed automatically. Create the skill directory, write the SKILL.md, and add any supporting files.
- Medium-risk changes (modifying existing SKILL.md instructions, changing CLAUDE.md conventions): show the proposed diff to the user and ask for approval before applying.
- High-risk changes (deleting skills, restructuring the repo, changing the plugin configuration): stop and ask the user for a decision. Do not proceed without explicit approval.
After making changes:
- Run ss-skill-validate to verify frontmatter and conventions are consistent.
- Commit and push the changes (ask the user before pushing).
Step 6 β Loop
After completing one cycle:
- Summarize what was done in this iteration (skills added, enhancements made, things skipped).
- Ask the user: "Continue evolving? (yes/no)"
- If yes or no response after a reasonable pause: go back to Step 2 with fresh discovery.
- If no: stop and present a final summary of all changes made across all iterations.
- If the user gives other instructions (e.g., "focus on X", "skip Y"): incorporate the feedback and loop back to Step 2.
Guardrails
- Never delete existing skills without explicit user approval.
- Never modify the plugin distribution method without asking.
- After adding a new feature or skill, commit and push (ask the user before pushing).
- If a discovered skill conflicts with an existing one, always ask before proceeding.
- Keep all new skills self-contained per repo conventions (SKILL.md + optional scripts/ and references/).
- Respect the YAML frontmatter format:
nameanddescriptionare required fields.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.