| 33 | ) |
| 34 | |
| 35 | async function createGlobalSkill(homeDir: string) { |
| 36 | const skillDir = path.join(homeDir, ".claude", "skills", "global-test-skill") |
| 37 | await fs.mkdir(skillDir, { recursive: true }) |
| 38 | await Bun.write( |
| 39 | path.join(skillDir, "SKILL.md"), |
| 40 | `--- |
| 41 | name: global-test-skill |
| 42 | description: A global skill from ~/.claude/skills for testing. |
| 43 | --- |
| 44 | |
| 45 | # Global Test Skill |
| 46 | |
| 47 | This skill is loaded from the global home directory. |
| 48 | `, |
| 49 | ) |
| 50 | } |
| 51 | |
| 52 | const withHome = <A, E, R>(home: string, self: Effect.Effect<A, E, R>) => |
| 53 | Effect.acquireUseRelease( |