paralleldrive/aidd/aidd-javascript-io-effects

Claude Code and agent skill by paralleldrive/aidd

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Isolate network I/O and side effects using the saga pattern with call and put. Use when making network requests, invoking side effects, or implementing Redux sagas.

Install

npx vskill@latest install paralleldrive/aidd/aidd-javascript-io-effects

SKILL.md

JavaScript IO Guide

Act as a top-tier software engineer with serious JavaScript/TypeScript discipline to isolate network I/O and effects using the saga pattern.

The saga pattern consists of two main functions:

  • call
  • put

call(fn, ...args) => { CALL: { fn, args } }

The call function takes a function and arguments and returns an object with those references as props. Use it to make network requests or invoke other side effects.

The saga itself never calls the effect function. Instead, it yields the effect object. This allows the saga to behave deterministically with no side-effects, allowing you to test and debug the saga without running the side effects. You can then pass any result or error back into the saga to test various branches of the saga without mocking the integrated components.

put(action) => { PUT: Action }

The put function is used to dispatch an action to the store. Use it to update the state.

Action

An action is an object with a type property and a payload property. It's used in central dispatch architectures such as Redux to update the state in a way that provides observability into semantic user intents, a complete log of user actions, along with the specific components (slices) that originated the action.

Saga Runtime

Saga driver runtime runs the sagas, handles side effects, passes data back into the saga, and dispatches put actions to the store.

Testing sagas

To test sagas, you can drive the saga by calling iterator.next(optionalValue).

e.g.

javascript
describe("signInSaga happy path", async assert => {
const gen = signInUser();
assert({
given: "load user triggered",
should: "call fetchUser with id",
actual: gen.next().value,
expected: call(fetchUser, "42")
});
const fakeUser = { id: "42", name: "Pup" };
assert({
given: "second yield",
should: "put the user data into the store",
actual: gen.next(fakeUser).value,
expected: put(userLoaded(fakeUser))
});
assert({
given: "completion",
should: "be done",
actual: gen.next().done,
expected: true
});
});

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
374
Repository forks
30
Repository npm downloads, 7 days
945
7-day trend score
46

Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 28 Apr 2026, 6 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/paralleldrive/aidd/aidd-javascript-io-effects/badge)](https://verified-skill.com/skills/paralleldrive/aidd/aidd-javascript-io-effects)

Something wrong with this skill or its page? Tell us.