Skip to content

effectify Skill service internals#19364

Merged
kitlangton merged 2 commits intodevfrom
effect/skill-native
Mar 27, 2026
Merged

effectify Skill service internals#19364
kitlangton merged 2 commits intodevfrom
effect/skill-native

Conversation

@kitlangton
Copy link
Contributor

Summary

  • Convert add, scan, and loadSkills from async functions wrapped in Effect.promise to native Effect generators using Effect.fnUntraced
  • Yield Config.Service and Bus.Service directly in the layer instead of calling their async facades (Config.get(), Config.directories(), Bus.publish())
  • Yield discovery.pull() as a native Effect instead of bridging through Effect.runPromise
  • Add Config.Service and Bus.Service as explicit layer dependencies

Test plan

  • bun run typecheck passes (no new errors introduced; pre-existing Effect version mismatch errors remain)
  • Verify skill loading works end-to-end in a project with skills configured
  • Verify error reporting (malformed SKILL.md frontmatter) still publishes session errors via Bus

… Effect

Convert the Skill service's internal async helpers (add, scan, loadSkills) from
plain async functions wrapped in Effect.promise to native Effect generators using
Effect.fnUntraced. Yield Config.Service and Bus.Service directly instead of going
through their async facades, and yield discovery.pull as a native Effect rather
than bridging through Effect.runPromise.
@kitlangton kitlangton marked this pull request as ready for review March 27, 2026 13:50
@kitlangton kitlangton merged commit decb5e6 into dev Mar 27, 2026
8 checks passed
@kitlangton kitlangton deleted the effect/skill-native branch March 27, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant