feat: add skill draft workflow

This commit is contained in:
2026-07-27 14:03:19 +08:00
parent 8b82539f6f
commit 86cd1fa36d
14 changed files with 535 additions and 100 deletions
+43
View File
@@ -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()