One skill: plugins/ /skills/ /SKILL.md.
| 246 | |
| 247 | @dataclass |
| 248 | class SkillSource: |
| 249 | """One skill: plugins/<plugin>/skills/<name>/SKILL.md.""" |
| 250 | |
| 251 | plugin: str |
| 252 | name: str |
| 253 | dir: Path |
| 254 | frontmatter: dict |
| 255 | body: str |
| 256 | |
| 257 | @property |
| 258 | def description(self) -> str: |
| 259 | return (self.frontmatter.get("description") or "").strip() |
| 260 | |
| 261 | @property |
| 262 | def references_dir(self) -> Path | None: |
| 263 | d = self.dir / "references" |
| 264 | return d if d.is_dir() else None |
| 265 | |
| 266 | @property |
| 267 | def body_bytes(self) -> int: |
| 268 | return len(self.body.encode("utf-8")) |
| 269 | |
| 270 | |
| 271 | @dataclass |
no outgoing calls