Browse by type
SkillDAG: Self-Evolving Typed Skill Graphs for LLM Skill Selection at Scale
Official implementation of the paper arXiv:2606.03056.

As LLM agents adopt large skill libraries, selecting the right subset becomes a structural problem rather than a similarity-matching one: skills depend on, conflict with, specialize, or duplicate one another — a structure invisible to both full enumeration and embedding similarity.
SkillDAG models inter-skill relationships as a typed directed graph and exposes it to an LLM agent as an inference-time, agent-callable structural retrieval interface:
search returns vector matches, typed-edge neighbors, and conflict signalspropose-edge / edit-edge let the agent register execution-backed edgessrc/skilldag/ — SkillDAG library and CLIscripts/ — setup, data download, benchmark launchers, replay toolsbenchmarks/ — ALFWorld + SkillsBench integration codeanalysis/ — scoring and post-hoc analysis helpersdocs/reproducing.md — fresh-clone walkthroughartifacts/expected/ — expected paper-aligned metrics for verificationgettext (for envsubst) — brew install gettext on macOS, apt install gettext-base on Debian/UbuntuSkillsBench also requires installing the Harbor framework first. See docs/reproducing.md.
ALFWorld also requires running alfworld-download once to populate ALFWORLD_DATA (configured in .env).
git clone https://github.com/Ericbai06/SkillDAG.git
cd SkillDAG
bash scripts/prepare_env.sh
# fill API keys in .env
bash scripts/setup.sh
SKILLDAG_SCALE=200 SKILLDAG_WORKERS=3 bash scripts/run_skillsbench.sh
MAX_GAMES=10 bash scripts/run_alfworld.sh
SKILLDAG_SCALE=1000 SKILLDAG_WORKERS=5 bash scripts/run_skillsbench.sh
bash scripts/run_alfworld.sh
bash scripts/run_alfworld_traintest.sh
See:
docs/reproducing.mdIf you use SkillDAG, please cite:
@misc{bai2026skilldagselfevolvingtypedskill,
title={SkillDAG: Self-Evolving Typed Skill Graphs for LLM Skill Selection at Scale},
author={Tong Bai and Zhenglin Wan and Pengfei Zhou and Xingrui Yu and Yang You and Ivor W. Tsang},
year={2026},
eprint={2606.03056},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2606.03056},
}
MIT
$ claude mcp add SkillDAG \
-- python -m otcore.mcp_server <graph>