(
kb_dir: Path,
name: str,
*,
description: str = "demo desc",
refs: list[str] | None = None,
skill_md_lines: int = 5,
)
| 15 | |
| 16 | |
| 17 | def _make_skill( |
| 18 | kb_dir: Path, |
| 19 | name: str, |
| 20 | *, |
| 21 | description: str = "demo desc", |
| 22 | refs: list[str] | None = None, |
| 23 | skill_md_lines: int = 5, |
| 24 | ) -> Path: |
| 25 | target = kb_dir / "output" / "skills" / name |
| 26 | target.mkdir(parents=True, exist_ok=True) |
| 27 | body = "\n".join(f"line {i}" for i in range(1, max(1, skill_md_lines) + 1)) |
| 28 | (target / "SKILL.md").write_text( |
| 29 | f"---\nname: {name}\ndescription: {description}\n---\n\n{body}\n", |
| 30 | encoding="utf-8", |
| 31 | ) |
| 32 | if refs: |
| 33 | refs_dir = target / "references" |
| 34 | refs_dir.mkdir(parents=True, exist_ok=True) |
| 35 | for r in refs: |
| 36 | (refs_dir / r).write_text("# ref\n", encoding="utf-8") |
| 37 | return target |
| 38 | |
| 39 | |
| 40 | # --------------------------------------------------------------------------- |
no outgoing calls
no test coverage detected