paralleldrive/aidd/aidd-observe

Claude Code and agent skill by paralleldrive/aidd

Trust tier 2
  • community
Source check pending

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

Enforces Observe pattern best practices from @adobe/data/observe. Use when working with Observe, observables, reactive data flow, service Observe properties, or when the user asks about Observe.withMap, Observe.withFilter, Observe.fromConstant, Observe.fromProperties, or similar.

Install

npx vskill@latest install paralleldrive/aidd/aidd-observe

SKILL.md

Observe pattern

Observe<T> from @adobe/data/observe — a subscription function: (notify: (value: T) => void) => Unobserve. Callback may be invoked synchronously or asynchronously, zero or more times. Returns Unobserve to stop observing.


Creation helpers

HelperUsage
Observe.fromConstant(value)Observe<T> from a constant value
Observe.fromProperties({ a, b })Combine named observables into Observe<{ a, b }>
Observe.fromArray([obs1, obs2])Combine array of observables into Observe<T[]>
Observe.fromPromise(() => Promise)Lazy; notifies once when promise resolves
Observe.createState(initial?)[Observe<T>, (value: T) => void] — mutable state
ts
const constant = Observe.fromConstant(42);
const combined = Observe.fromProperties({ a: db.observe.resources.a, b: db.observe.resources.b });
const [count, setCount] = Observe.createState(0);

Transformation helpers

HelperUsage
Observe.withMap(obs, fn)Transform value; map from one type to another
Observe.withFilter(obs, fn)Transform or filter; return undefined to skip
Observe.withDefault(default, obs)Use default when value is undefined
ts
const doubled = Observe.withMap(count, n => n * 2);
const isDev = Observe.withMap(service.type, t => t === 'development');
const max = Observe.withFilter(
Observe.fromProperties({ a, b }),
({ a, b }) => Math.max(a, b)
);
const withFallback = Observe.withDefault('unknown', maybeName);

Conversion helpers

HelperUsage
Observe.toPromise(obs)Resolve with first value (one-shot)
ts
const first = await Observe.toPromise(service.states);

Common patterns

Derived observable from service:

ts
export const isDevelopment = memoize((service: Pick<EnvironmentService, 'type'>) =>
Observe.withMap(service.type, type => type === 'development')
);

Computed from multiple resources:

ts
Observe.withFilter(
Observe.fromProperties({ a: db.observe.resources.a, b: db.observe.resources.b }),
({ a, b }) => Math.max(a, b)
);

Lazy creation: Observe.withLazy(() => expensiveObs) — defers until first subscription.


Execute

sudolang
fn whenAddingOrUsingObserve() {
Constraints {
Use Observe.fromConstant for static values
Use Observe.fromProperties to combine multiple observables
Use Observe.withFilter when mapping and/or filtering
Use Observe.createState for mutable state with a setter
Call unobserve() when cleaning up (e.g. component unmount)
}
}

Related

  • service — Observe in front-end services (data up via Observe)

Security

  • Security scanPassed, 100 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
908
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 29 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-observe/badge)](https://verified-skill.com/skills/paralleldrive/aidd/aidd-observe)

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