agentsclimarketplace

Plugin hook system

Skill a5c-ai/babysitter/library/specializations/cli-mcp-development/skills/plugin-hook-system

Generate hook-based plugin extension system with event emitter patterns.From its SKILL.md

Install
npx -y skills add a5c-ai/babysitter --skill plugin-hook-system

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

1.4 KB, 238 tokens by cl100k_base, as published. Nobody here has run it

Plugin Hook System

Generate hook-based plugin extension system.

Generated Patterns

type HookCallback = (...args: any[]) => Promise<any> | any;

export class HookSystem {
  private hooks = new Map<string, HookCallback[]>();

  register(hookName: string, callback: HookCallback): void {
    const callbacks = this.hooks.get(hookName) || [];
    callbacks.push(callback);
    this.hooks.set(hookName, callbacks);
  }

  async trigger(hookName: string, ...args: any[]): Promise<any[]> {
    const callbacks = this.hooks.get(hookName) || [];
    const results = [];
    for (const cb of callbacks) {
      results.push(await cb(...args));
    }
    return results;
  }

  async waterfall<T>(hookName: string, initial: T): Promise<T> {
    const callbacks = this.hooks.get(hookName) || [];
    let result = initial;
    for (const cb of callbacks) {
      result = await cb(result);
    }
    return result;
  }
}

Target Processes

  • plugin-architecture-implementation

What ships with it: 1 file

144 B alongside SKILL.md

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.