()
| 1643 | ]); |
| 1644 | |
| 1645 | function discoverSkillDirs(): string[] { |
| 1646 | const dirs: string[] = []; |
| 1647 | for (const entry of fs.readdirSync(ROOT, { withFileTypes: true })) { |
| 1648 | if (!entry.isDirectory()) continue; |
| 1649 | if (entry.name.startsWith('.')) continue; |
| 1650 | if (DOC_INVENTORY_EXCLUDE.has(entry.name)) continue; |
| 1651 | const tmplPath = path.join(ROOT, entry.name, 'SKILL.md.tmpl'); |
| 1652 | if (fs.existsSync(tmplPath)) dirs.push(entry.name); |
| 1653 | } |
| 1654 | return dirs.sort(); |
| 1655 | } |
| 1656 | |
| 1657 | test('every skill is documented in AGENTS.md', () => { |
| 1658 | const agents = fs.readFileSync(path.join(ROOT, 'AGENTS.md'), 'utf-8'); |
no test coverage detected