| ... | ... | @@ -28,7 +28,7 @@ const makeWorkspace = Effect.fn("makeWorkspace")(function* () { |
| 28 | 28 | }); |
| 29 | 29 | |
| 30 | 30 | it.layer(NodeServices.layer)("discoverAntigravitySkills", (it) => { |
| 31 | | it.effect("reads skill names, descriptions and paths from all four native roots", () => |
| 31 | it.effect("reads skill names, descriptions and paths from the current native roots", () => |
| 32 | 32 | Effect.gen(function* () { |
| 33 | 33 | const path = yield* Path.Path; |
| 34 | 34 | const input = yield* makeWorkspace(); |
| ... | ... | @@ -63,6 +63,27 @@ it.layer(NodeServices.layer)("discoverAntigravitySkills", (it) => { |
| 63 | 63 | }), |
| 64 | 64 | ); |
| 65 | 65 | |
| 66 | it.effect("discovers skills from the legacy workspace root", () => |
| 67 | Effect.gen(function* () { |
| 68 | const path = yield* Path.Path; |
| 69 | const input = yield* makeWorkspace(); |
| 70 | const skillPath = yield* writeSkill( |
| 71 | path.join(input.cwd, ".agent", "skills", "review"), |
| 72 | "---\nname: review\ndescription: Review changes.\n---\n", |
| 73 | ); |
| 74 | |
| 75 | assert.deepEqual(yield* discoverAntigravitySkills(input), [ |
| 76 | { |
| 77 | name: "review", |
| 78 | description: "Review changes.", |
| 79 | path: skillPath, |
| 80 | scope: "project", |
| 81 | enabled: true, |
| 82 | }, |
| 83 | ]); |
| 84 | }), |
| 85 | ); |
| 86 | |
| 66 | 87 | it.effect("uses native root order for duplicate names", () => |
| 67 | 88 | Effect.gen(function* () { |
| 68 | 89 | const fileSystem = yield* FileSystem.FileSystem; |
| ... | ... | @@ -73,6 +94,7 @@ it.layer(NodeServices.layer)("discoverAntigravitySkills", (it) => { |
| 73 | 94 | path.join(input.cwd, ".gemini", "skills"), |
| 74 | 95 | path.join(input.profileDirectory, "antigravity-cli", "skills"), |
| 75 | 96 | path.join(input.cwd, ".agents", "skills"), |
| 97 | path.join(input.cwd, ".agent", "skills"), |
| 76 | 98 | ]; |
| 77 | 99 | for (const [index, root] of roots.entries()) { |
| 78 | 100 | yield* writeSkill( |