codex: symlink directories for all skills

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
This commit is contained in:
Austin Horstman 2026-03-22 11:42:43 -05:00
parent 932ca46013
commit c6fe2944ad
5 changed files with 68 additions and 20 deletions

View file

@ -13,7 +13,14 @@ in
};
nmt.script = ''
if [[ -L home-files/.agents/skills ]]; then
fail "Expected home-files/.agents/skills to remain a normal directory so unmanaged skills can coexist."
fi
assertLinkExists home-files/.agents/skills/skill-one
assertFileExists home-files/.agents/skills/skill-one/SKILL.md
if [[ -L home-files/.agents/skills/skill-one/SKILL.md ]]; then
fail "Expected home-files/.agents/skills/skill-one/SKILL.md to be a regular file inside a symlinked skill directory."
fi
assertFileContent home-files/.agents/skills/skill-one/SKILL.md \
${./skills-dir/skill-one/SKILL.md}
'';

View file

@ -17,7 +17,14 @@ in
};
nmt.script = ''
if [[ -L home-files/.codex/skills ]]; then
fail "Expected home-files/.codex/skills to remain a normal directory so unmanaged skills can coexist."
fi
assertLinkExists home-files/.codex/skills/inline-skill
assertFileExists home-files/.codex/skills/inline-skill/SKILL.md
if [[ -L home-files/.codex/skills/inline-skill/SKILL.md ]]; then
fail "Expected home-files/.codex/skills/inline-skill/SKILL.md to be a regular file inside a symlinked skill directory."
fi
assertFileContent home-files/.codex/skills/inline-skill/SKILL.md \
${builtins.toFile "expected-inline-skill.md" ''
# Inline Skill

View file

@ -10,7 +10,11 @@
};
nmt.script = ''
assertLinkExists home-files/.agents/skills/inline-skill
assertFileExists home-files/.agents/skills/inline-skill/SKILL.md
if [[ -L home-files/.agents/skills/inline-skill/SKILL.md ]]; then
fail "Expected home-files/.agents/skills/inline-skill/SKILL.md to be a regular file inside a symlinked skill directory."
fi
assertFileContent home-files/.agents/skills/inline-skill/SKILL.md \
${builtins.toFile "expected-inline-skill.md" ''
# Inline Skill

View file

@ -22,15 +22,34 @@ in
skills = {
inline-skill = inlineSkill;
file-skill = ./skill-file.md;
dir-skill = ./skills-dir/skill-one;
};
};
nmt.script = ''
if [[ -L home-files/.agents/skills ]]; then
fail "Expected home-files/.agents/skills to remain a normal directory so unmanaged skills can coexist."
fi
assertLinkExists home-files/.agents/skills/inline-skill
assertFileExists home-files/.agents/skills/inline-skill/SKILL.md
if [[ -L home-files/.agents/skills/inline-skill/SKILL.md ]]; then
fail "Expected home-files/.agents/skills/inline-skill/SKILL.md to be a regular file inside a symlinked skill directory."
fi
assertFileContent home-files/.agents/skills/inline-skill/SKILL.md \
${builtins.toFile "expected-inline-skill.md" inlineSkill}
assertLinkExists home-files/.agents/skills/file-skill
assertFileExists home-files/.agents/skills/file-skill/SKILL.md
if [[ -L home-files/.agents/skills/file-skill/SKILL.md ]]; then
fail "Expected home-files/.agents/skills/file-skill/SKILL.md to be a regular file inside a symlinked skill directory."
fi
assertFileContent home-files/.agents/skills/file-skill/SKILL.md \
${./skill-file.md}
assertLinkExists home-files/.agents/skills/dir-skill
assertFileExists home-files/.agents/skills/dir-skill/SKILL.md
if [[ -L home-files/.agents/skills/dir-skill/SKILL.md ]]; then
fail "Expected home-files/.agents/skills/dir-skill/SKILL.md to be a regular file inside a symlinked skill directory."
fi
assertFileContent home-files/.agents/skills/dir-skill/SKILL.md \
${./skills-dir/skill-one/SKILL.md}
'';
}