memos
Self-evolving memory OS for LLM & AI Agents: ultra-persistent memory, hybrid-retrieval, and cross-task skill reuse, with 35.24% token savings
SkillsVote: Lifecycle Governance of Agent Skills from Collection, Recommendation to Evolution
$ npx -y skills add MemTensor/skills-vote --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: MemTensor/skills-vote
What's inside
Agent skills are becoming a reusable execution layer for coding agents, research agents, and workflow agents. SkillsVote starts from this large-scale setting: we have discovered over π₯ 1.68M SKILL.md files from open-source GitHub repositories, including over π 790K format-valid skills verified with the official Anthropic skill validator, making SkillsVote the world's largest open agent skill library π.
At this scale, skill management is no longer about manually maintaining a short curated list. Agents face three linked problems: which skills to load before a task, how to tell whether a skill actually helped during execution, and how to update the library without accumulating noisy or unverified experience.
SkillsVote treats skills as lifecycle-managed artifacts. It connects collection, profiling, just-in-time recommendation, trajectory-based attribution, and feedback-driven evolution into one loop:
skills-vote-local, enabling local/private skill recommendation with configurable retrieval strategies.SkillsVote is being open-sourced in stages to support transparent research on agent skill collection, recommendation, attribution, and evolution.
skills-vote agent skill that connects agents to the hosted SkillsVote service for cloud-based recommendation and attribution-grounded feedback.skills-vote-local with configurable local/private skill recommendation strategies, including agentic search and vector search.skills-vote-local with attribution-grounded feedback and local skill library evolution.SkillsVote is evaluated on agentic coding and terminal challenge benchmarks, including Terminal-Bench Pro, Terminal-Bench 2.0, and SWE-Bench Pro.
The results show that just-in-time skill recommendation and feedback-driven evolution improve agent performance on long-horizon tasks. Detailed reproduction instructions, benchmark setup configs, and scripts are documented in docs/experiment.md.
| Integration | Best for | Requires |
|---|---|---|
skills-vote | Using the hosted SkillsVote service for cloud-based skill recommendation and attribution-grounded feedback. | SKILLS_VOTE_API_KEY |
skills-vote-local | Recommending skills from a local or private SKILL.md library without relying on the hosted index. | Local config; no SkillsVote API key for agentic search |
Use this integration when you want agents to retrieve skills from the hosted SkillsVote service and submit post-task feedback for attribution.
Supercharge your agents (Codex, Claude Code, OpenClaw) by integrating SkillsVote directly! Just drop this prompt into your agent:
Install the `skills-vote` skill following https://raw.githubusercontent.com/MemTensor/skills-vote/main/integration/skills/INSTALL.md
Use the following values:
- `SKILLS_VOTE_API_KEY`: "YOUR_API_KEY"
- `GH_TOKEN`: "YOUR_GITHUB_TOKEN"
Are you a CLI warrior? Set it up manually based on your OS:
Windows PowerShell
[Environment]::SetEnvironmentVariable("SKILLS_VOTE_API_KEY", "YOUR_API_KEY", "User")
npx skills add MemTensor/skills-vote --skill skills-vote
MacOS/linux (Bash/Zsh)
# For zsh, use ~/.zshrc instead
echo 'export SKILLS_VOTE_API_KEY="YOUR_API_KEY"' >> ~/.bashrc && source ~/.bashrc
npx skills add MemTensor/skills-vote --skill skills-vote
[!note] Don't forget to replace
YOUR_API_KEYwith your actual key!
Use this integration when your skills are stored in a local or private SKILL.md library and you want recommendation without the hosted index.
Install the `skills-vote-local` skill following https://raw.githubusercontent.com/MemTensor/skills-vote/main/integration/skills/INSTALL.md
npx skills add MemTensor/skills-vote --skill skills-vote-local
After installation, open the installed skill root and configure configs/config.yaml. See Install SkillsVote Skills for the full configuration flow.
SkillsVote builds on the broader agent skill and agentic benchmark ecosystem. We thank the maintainers and contributors of Anthropic Skills, Harbor, and open-source agent skill repositories for making this research possible.
If you find SkillsVote useful for your research or development, please cite:
@misc{liu2026skillsvotelifecyclegovernanceagent,
title={SkillsVote: Lifecycle Governance of Agent Skills from Collection, Recommendation to Evolution},
author={Hongyi Liu and Haoyan Yang and Tao Jiang and Bo Tang and Feiyu Xiong and Zhiyu Li},
year={2026},
eprint={2605.18401},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2605.18401},
}
This repository is licensed under the MIT License. See LICENSE.
.env.example
.gitattributes
.gitignore
.pre-commit-config.yaml
.python-version
.vscode/
extensions.json
settings.json
assets/
arch.png
main_results_tables.png
main_results.svg
pipeline.png
preprocess.png
docker/
Dockerfile.preinstall
docs/
experiment.md
examples/
evaluate_skills/
pdf/
forms.md
LICENSE.txt
reference.md
scripts/
check_bounding_boxes.py
check_fillable_fields.py
convert_pdf_to_images.py
create_validation_image.py
extract_form_field_info.py
extract_form_structure.py
fill_fillable_fields.py
fill_pdf_form_with_annotations.py
SKILL.md
evaluate.sh
recommend_skills/
curlsearch/
scripts/
search.sh
SKILL.md
media-downloader/
scripts/
download.py
SKILL.md
pdf/
forms.md
LICENSE.txt
reference.md
scripts/
check_bounding_boxes.py
check_fillable_fields.py
convert_pdf_to_images.py
create_validation_image.py
extract_form_field_info.py
extract_form_structure.py
fill_fillable_fields.py
fill_pdf_form_with_annotations.py
SKILL.md
shellgames/
_meta.json
references/
api.md
games.md
SKILL.md
xlsx/
LICENSE.txt
scripts/
office/
helpers/
__init__.py
merge_runs.py
simplify_redlines.py
pack.py
schemas/
ecma/
fouth-edition/
opc-contentTypes.xsd
opc-coreProperties.xsd
opc-digSig.xsd
opc-relationships.xsd
ISO-IEC29500-4_2016/
dml-chart.xsd
dml-chartDrawing.xsd
dml-diagram.xsd
dml-lockedCanvas.xsd
dml-main.xsd
dml-picture.xsd
dml-spreadsheetDrawing.xsd
dml-wordprocessingDrawing.xsd
pml.xsd
shared-additionalCharacteristics.xsd
shared-bibliography.xsd
shared-commonSimpleTypes.xsd
shared-customXmlDataProperties.xsd
shared-customXmlSchemaProperties.xsd
shared-documentPropertiesCustom.xsd
shared-documentPropertiesExtended.xsd
shared-documentPropertiesVariantTypes.xsd
shared-math.xsd
shared-relationshipReference.xsd
sml.xsd
vml-main.xsd
vml-officeDrawing.xsd
vml-presentationDrawing.xsd
vml-spreadsheetDrawing.xsd
vml-wordprocessingDrawing.xsd
wml.xsd
xml.xsd
mce/
mc.xsd
microsoft/
wml-2010.xsd
wml-2012.xsd
wml-2018.xsd
wml-cex-2018.xsd
wml-cid-2016.xsd
wml-sdtdatahash-2020.xsd
wml-symex-2015.xsd
soffice.py
unpack.py
validate.py
validators/
__init__.py
base.py
docx.py
pptx.py
redlining.py
recalc.py
SKILL.md
recommend.sh
integration/
skills/
INSTALL.md
skills-vote/
skills-vote-local/
configs/
config.yaml.example
docs/
config-schema.md
handoff.md
scripts/
check_env.py
chroma_utils.py
cli_common.py
config_validation.py
index.py
local_skill_search.py
prompt.py
recommend.py
route_prompt.py
sync_skills.py
SKILL.md
.gitignore
docs/
feedback_guide.md
scripts/
check_api_key.ps1
check_api_key.sh
download.py
feedback.py
models.py
prompt.py
recommend.py
utils.py
SKILL.md
LICENSE
output/
.gitkeep
pyproject.toml
README.md
scripts/
configs/
evaluate.yaml
prebuild_images.yaml
recommend.yaml
skillrouter/
skillrouter.yaml
skills_vote.yaml
swebenchpro/
swebenchpro_repos/
codex/
gpt_5_2/
ansible_ansible_search_online_evolve.yaml
curated_flipt_io_flipt_skill_search_seed.yaml
curated_gravitational_teleport_skill_search_seed.yaml
element_hq_element_web_search_online_evolve.yaml
flipt_io_flipt_search_online_evolve.yaml
future_architect_vuls_search_online_evolve.yaml
gravitational_teleport_search_online_evolve.yaml
internetarchive_openlibrary_search_online_evolve.yaml
navidrome_navidrome_search_online_evolve.yaml
nodebb_nodebb_search_online_evolve.yaml
protonmail_webclients_search_online_evolve.yaml
qutebrowser_qutebrowser_search_online_evolve.yaml
reasoningbank_ansible_ansible_search_online_evolve.yaml
reasoningbank_element_hq_element_web_search_online_evolve.yaml
reasoningbank_flipt_io_flipt_search_online_evolve.yaml
reasoningbank_future_architect_vuls_search_online_evolve.yaml
reasoningbank_gravitational_teleport_search_online_evolve.yaml
reasoningbank_internetarchive_openlibrary_search_online_evolve.yaml
reasoningbank_navidrome_navidrome_search_online_evolve.yaml
reasoningbank_nodebb_nodebb_search_online_evolve.yaml
reasoningbank_protonmail_webclients_search_online_evolve.yaml
reasoningbank_qutebrowser_qutebrowser_search_online_evolve.yaml
reasoningbank_search_online_evolve_tmuxp.yaml
reasoningbank_tutao_tutanota_search_online_evolve.yaml
search_online_evolve_tmuxp_repos.yaml
skill_creator_ansible_ansible_search_online_evolve.yaml
skill_creator_element_hq_element_web_search_online_evolve.yaml
skill_creator_flipt_io_flipt_search_online_evolve.yaml
skill_creator_future_architect_vuls_search_online_evolve.yaml
skill_creator_gravitational_teleport_search_online_evolve.yaml
skill_creator_internetarchive_openlibrary_search_online_evolve.yaml
skill_creator_navidrome_navidrome_search_online_evolve.yaml
skill_creator_nodebb_nodebb_search_online_evolve.yaml
skill_creator_protonmail_webclients_search_online_evolve.yaml
skill_creator_qutebrowser_qutebrowser_search_online_evolve.yaml
skill_creator_search_online_evolve_tmuxp_repos.yaml
skill_creator_tutao_tutanota_search_online_evolve.yaml
tutao_tutanota_search_online_evolve.yaml
gpt_5_4_mini/
ansible_ansible_online_evolve.yaml
ansible_ansible_search_online_evolve.yaml
element_hq_element_web_online_evolve.yaml
element_hq_element_web_search_online_evolve.yaml
flipt_io_flipt_online_evolve.yaml
flipt_io_flipt_search_online_evolve.yaml
future_architect_vuls_online_evolve.yaml
future_architect_vuls_search_online_evolve.yaml
gravitational_teleport_online_evolve.yaml
gravitational_teleport_search_online_evolve.yaml
internetarchive_openlibrary_online_evolve.yaml
internetarchive_openlibrary_search_online_evolve.yaml
navidrome_navidrome_online_evolve.yaml
navidrome_navidrome_search_online_evolve.yaml
nodebb_nodebb_online_evolve.yaml
nodebb_nodebb_search_online_evolve.yaml
online_evolve_tmuxp.yaml
protonmail_webclients_online_evolve.yaml
protonmail_webclients_search_online_evolve.yaml
qutebrowser_qutebrowser_online_evolve.yaml
qutebrowser_qutebrowser_search_online_evolve.yaml
reasoningbank_ansible_ansible_search_online_evolve.yaml
reasoningbank_element_hq_element_web_search_online_evolve.yaml
reasoningbank_flipt_io_flipt_search_online_evolve.yaml
reasoningbank_future_architect_vuls_search_online_evolve.yaml
reasoningbank_gravitational_teleport_search_online_evolve.yaml
reasoningbank_internetarchive_openlibrary_search_online_evolve.yaml
reasoningbank_navidrome_navidrome_search_online_evolve.yaml
reasoningbank_nodebb_nodebb_search_online_evolve.yaml
reasoningbank_protonmail_webclients_search_online_evolve.yaml
reasoningbank_qutebrowser_qutebrowser_search_online_evolve.yaml
reasoningbank_search_online_evolve_tmuxp.yaml
reasoningbank_tutao_tutanota_search_online_evolve.yaml
search_online_evolve_tmuxp.yaml
skill_creator_ansible_ansible_search_online_evolve.yaml
skill_creator_element_hq_element_web_search_online_evolve.yaml
skill_creator_flipt_io_flipt_search_online_evolve.yaml
skill_creator_future_architect_vuls_search_online_evolve.yaml
skill_creator_gravitational_teleport_search_online_evolve.yaml
skill_creator_internetarchive_openlibrary_search_online_evolve.yaml
skill_creator_navidrome_navidrome_search_online_evolve.yaml
skill_creator_nodebb_nodebb_search_online_evolve.yaml
skill_creator_protonmail_webclients_search_online_evolve.yaml
skill_creator_qutebrowser_qutebrowser_search_online_evolve.yaml
skill_creator_search_online_evolve_tmuxp.yaml
skill_creator_tutao_tutanota_search_online_evolve.yaml
tutao_tutanota_online_evolve.yaml
tutao_tutanota_search_online_evolve.yaml
gpt_5_5/
ansible_ansible_baseline.yaml
ansible_ansible_search_online_evolve.yaml
baseline_tmuxp.yaml
element_hq_element_web_baseline.yaml
element_hq_element_web_search_online_evolve.yaml
flipt_io_flipt_baseline.yaml
flipt_io_flipt_search_online_evolve.yaml
future_architect_vuls_baseline.yaml
future_architect_vuls_search_online_evolve.yaml
gravitational_teleport_baseline.yaml
gravitational_teleport_search_online_evolve.yaml
internetarchive_openlibrary_baseline.yaml
internetarchive_openlibrary_search_online_evolve.yaml
navidrome_navidrome_baseline.yaml
navidrome_navidrome_search_online_evolve.yaml
nodebb_nodebb_baseline.yaml
nodebb_nodebb_search_online_evolve.yaml
protonmail_webclients_baseline.yaml
protonmail_webclients_search_online_evolve.yaml
qutebrowser_qutebrowser_baseline.yaml
qutebrowser_qutebrowser_search_online_evolve.yaml
reasoningbank_ansible_ansible_search_online_evolve.yaml
reasoningbank_element_hq_element_web_search_online_evolve.yaml
reasoningbank_flipt_io_flipt_search_online_evolve.yaml
reasoningbank_future_architect_vuls_search_online_evolve.yaml
reasoningbank_gravitational_teleport_search_online_evolve.yaml
reasoningbank_internetarchive_openlibrary_search_online_evolve.yaml
reasoningbank_navidrome_navidrome_search_online_evolve.yaml
reasoningbank_nodebb_nodebb_search_online_evolve.yaml
reasoningbank_protonmail_webclients_search_online_evolve.yaml
reasoningbank_qutebrowser_qutebrowser_search_online_evolve.yaml
reasoningbank_search_online_evolve_tmuxp.yaml
reasoningbank_tutao_tutanota_search_online_evolve.yaml
search_online_evolve_tmuxp.yaml
skill_creator_ansible_ansible_search_online_evolve.yaml
skill_creator_element_hq_element_web_search_online_evolve.yaml
skill_creator_flipt_io_flipt_search_online_evolve.yaml
skill_creator_future_architect_vuls_search_online_evolve.yaml
skill_creator_gravitational_teleport_search_online_evolve.yaml
skill_creator_internetarchive_openlibrary_search_online_evolve.yaml
skill_creator_navidrome_navidrome_search_online_evolve.yaml
skill_creator_nodebb_nodebb_search_online_evolve.yaml
skill_creator_protonmail_webclients_search_online_evolve.yaml
skill_creator_qutebrowser_qutebrowser_search_online_evolve.yaml
skill_creator_search_online_evolve_tmuxp.yaml
skill_creator_tutao_tutanota_search_online_evolve.yaml
tutao_tutanota_baseline.yaml
tutao_tutanota_search_online_evolve.yaml
codex/
gpt_5_2/
baseline.yaml
curated_skill_search_seed.yaml
gpt_5_4_mini/
baseline.yaml
curated_skill_search_seed.yaml
online_evolve.yaml
search_online_evolve_tmuxp_3.yaml
search_online_evolve.yaml
gpt_5_5/
baseline.yaml
curated_skill_search_seed.yaml
tb_pro/
codex/
gpt_5_2/
search_offline_evolve_task_48_agg_4_ep_1.yaml
skill_creator_search_offline_evolve_task_48_agg_1_ep_1.yaml
gpt_5_4_mini/
baseline.yaml
offline_evolve_task_48_agg_1_ep_1.yaml
offline_evolve_task_48_agg_4_ep_1.yaml
offline_evolve_task_48_agg_8_ep_1.yaml
recommend_seed_tb_pro_step_snapshot.yaml
search_offline_evolve_task_48_agg_1_ep_1.yaml
search_offline_evolve_task_48_agg_4_ep_1.yaml
search_offline_evolve_task_48_agg_8_ep_1.yaml
skill_creator_search_offline_evolve_task_48_agg_1_ep_1.yaml
gpt_5_5/
search_offline_evolve_task_48_agg_4_ep_1.yaml
skill_creator_search_offline_evolve_task_48_agg_1_ep_1.yaml
tb2/
codex/
gpt_5_2/
baseline.yaml
curated_skill_search_seed.yaml
reasoningbank_search_online_evolve_tmuxp_5.yaml
reasoningbank_search_online_evolve.yaml
search_online_evolve_tmuxp_5.yaml
search_online_evolve.yaml
search_seed_tb_pro_search_offline_evolve_task_48_agg_4_ep_1.yaml
skill_creator_search_online_evolve_tmuxp_5.yaml
skill_creator_search_online_evolve.yaml
skill_creator_search_seed_tb_pro_search_offline_evolve_task_48_agg_1_ep_1.yaml
gpt_5_4/
gpt_5_4_mini/
baseline.yaml
curated_skill_search_seed.yaml
demo.yaml
hard_recommend_seed_tb_pro_evo_gpt_5_4_mini_medium.yaml
online_evolve_tmuxp_5.yaml
online_evolve.yaml
reasoningbank_search_online_evolve_tmuxp_5.yaml
reasoningbank_search_online_evolve.yaml
search_online_evolve_tmuxp_5.yaml
search_online_evolve.yaml
search_seed_tb_pro_offline_evolve_task_48_agg_4_ep_1.yaml
search_seed_tb_pro_offline_evolve_task_48_agg_8_ep_1.yaml
search_seed_tb_pro_search_offline_evolve_task_48_agg_4_ep_1.yaml
search_seed_tb_pro_search_offline_evolve_task_48_agg_8_ep_1.yaml
seed_tb_pro_offline_evolve_task_48_agg_4_ep_1.yaml
seed_tb_pro_search_offline_evolve_task_48_agg_4_ep_1.yaml
skill_creator_search_online_evolve_tmuxp_5.yaml
skill_creator_search_online_evolve.yaml
hard_baseline_gpt_5_4_xhigh.yaml
hard_gpt_5_4_xhigh_tb_pro_evo_seed_tmuxp.yaml
hard_recommend_seed_tb_pro_evo_gpt_5_4_mini_gpt_5_4_xhigh.yaml
gpt_5_5/
baseline.yaml
curated_skill_search_seed.yaml
reasoningbank_search_online_evolve_tmuxp_5.yaml
reasoningbank_search_online_evolve.yaml
search_online_evolve_tmuxp_5.yaml
search_online_evolve.yaml
search_seed_tb_pro_search_offline_evolve_task_48_agg_4_ep_1.yaml
skill_creator_search_online_evolve_tmuxp_5.yaml
skill_creator_search_online_evolve.yaml
skill_creator_search_seed_tb_pro_search_offline_evolve_task_48_agg_1_ep_1.yaml
evaluate.py
init_agent_configs.sh
prebuild_images.py
recommend.py
... 52 moreSelf-evolving memory OS for LLM & AI Agents: ultra-persistent memory, hybrid-retrieval, and cross-task skill reuse, with 35.24% token savings
FAQ
skills-vote is a Claude Code plugin with 2 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes skills-vote-local, skills-vote. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.