feat: add skill draft workflow
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import tempfile
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
REPO_ROOT = Path(__file__).resolve().parents[1]
|
||||
|
||||
|
||||
class InstallScriptTests(unittest.TestCase):
|
||||
def test_install_bootstraps_skiff_skill_for_all_agents(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as temp:
|
||||
home = Path(temp)
|
||||
(home / ".skills").symlink_to(REPO_ROOT, target_is_directory=True)
|
||||
env = os.environ.copy()
|
||||
env["HOME"] = str(home)
|
||||
|
||||
result = subprocess.run(
|
||||
["bash", str(REPO_ROOT / "install.sh")],
|
||||
cwd=REPO_ROOT,
|
||||
env=env,
|
||||
text=True,
|
||||
capture_output=True,
|
||||
check=False,
|
||||
)
|
||||
|
||||
self.assertEqual(result.returncode, 0, result.stderr)
|
||||
for relative in (
|
||||
".cursor/skills/skiff",
|
||||
".claude/skills/skiff",
|
||||
".codex/skills/skiff",
|
||||
):
|
||||
link = home / relative
|
||||
self.assertTrue(link.is_symlink(), relative)
|
||||
self.assertEqual(link.resolve(), (REPO_ROOT / "skills" / "skiff").resolve())
|
||||
self.assertIn("已安装项目 skill", result.stdout)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user