Ssm repo evolve
Skill JasonLo/skill-sommelier/maintainer-skills/ssm-repo-evolve
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".From its SKILL.md
npx -y skills add JasonLo/skill-sommelier --skill ssm-repo-evolveAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.5 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
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
ssm-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
Run the shared discovery pipeline. Do not re-implement search/fetch/filter
inline — skills/ss-skill-discover/scripts/discover.sh is the single source
of truth (shared with ss-skill-discover and the weekly cron):
bash skills/ss-skill-discover/scripts/discover.sh \
--profile .github/user-profile.md \
--limit 30 \
--installed-dir skills \
--exclude-repo JasonLo/skill-sommelier \
> /tmp/evolve-candidates.json
The script handles code + topic search, license filtering (permissive only),
SKILL.md fetch, frontmatter parse, dedupe, installed-skill exclusion, and
ranking by (relevance, stars, pushed_at). Each candidate in the JSON has
{name, description, repo, path, stars, pushed_at, license, relevance, age_label}.
Use the resulting JSON as the input to Step 3.
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:
- Fetch the full SKILL.md via
gh api(raw content, base64-decode). - Study implementation: frontmatter, phases, supporting files.
- Assess fit: does it complement the existing collection?
3b — Diff overlapping skills against existing ones
For skills that overlap with an existing repo skill:
- Fetch the external SKILL.md content.
- Read the corresponding local skill's SKILL.md.
- 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
ssm-skill-validateto 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.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.