From harness-claude
Implements JavaScript Provider pattern to share data like themes, locales, or user info across modules without prop-drilling. Use when multiple components need the same data.
npx claudepluginhub intense-visions/harness-engineering --plugin harness-claudeThis skill uses the workspace's default tool permissions.
> Make shared data available to multiple consumers without prop-drilling
Implements React Provider Pattern with Context API to share data like theme, locale, or user across component trees without prop drilling. Use when multiple nested components need same data or prop drilling burdens maintenance.
Guides React Context patterns for state management to share state across component trees without prop drilling. Includes TypeScript examples for auth providers.
Implements React component patterns: compound components with context, render props, HOCs, custom hooks, provider with reducer, controlled/uncontrolled, prop getters, state reducer.
Share bugs, ideas, or general feedback.
Make shared data available to multiple consumers without prop-drilling
provide(value) function to register the data and a consume() / inject() function to retrieve it.// Simple module-level provider
let _theme = 'light';
export function provideTheme(theme) {
_theme = theme;
}
export function useTheme() {
return _theme;
}
The Provider pattern is the plain-JavaScript equivalent of what React Context and Vue's provide/inject formalize. The core idea: establish a value at one level and make it available to any consumer below that level without explicit passing.
Trade-offs:
When NOT to use:
https://patterns.dev/javascript/provider-pattern