Skip to content

contrib(common-utilities): add docx-conversion and parallel-combinator utilities#73

Open
rogelsm wants to merge 4 commits intoa5c-ai:stagingfrom
rogelsm:contrib/process/common-utilities/docx-conversion-and-parallel-combinator
Open

contrib(common-utilities): add docx-conversion and parallel-combinator utilities#73
rogelsm wants to merge 4 commits intoa5c-ai:stagingfrom
rogelsm:contrib/process/common-utilities/docx-conversion-and-parallel-combinator

Conversation

@rogelsm
Copy link
Copy Markdown

@rogelsm rogelsm commented Mar 23, 2026

Library Contribution

Type: process (reusable task definitions)
Name: common-utilities
Specialization: common-utilities
Location: plugins/babysitter/skills/babysit/process/specializations/common-utilities/

Description

Two reusable library modules extracted from a retrospective analysis of essay-critique, extract-oral-prep, and essay-grading processes:

1. docx-conversion.js

A shared HTML-to-DOCX conversion task using pandoc with graceful fallback. This identical pattern was duplicated across multiple process files and has been extracted into a reusable module.

  • Uses defineTask with kind: 'shell'
  • Gracefully falls back when pandoc is not installed
  • Returns structured JSON with success status and converter info

2. parallel-combinator.js

Utility functions for parallel task execution with fan-out/fan-in patterns:

  • fanOutFanIn(ctx, sharedArgs, taskSpecs) - Run multiple tasks in parallel with shared input
  • pipeline(ctx, initialInput, phases) - Sequential phases with optional parallel steps, accumulating results

3. index.js

Re-exports all modules for clean importing.

4. README.md

Documentation with usage examples for both modules.

Files Added

  • plugins/babysitter/skills/babysit/process/specializations/common-utilities/docx-conversion.js
  • plugins/babysitter/skills/babysit/process/specializations/common-utilities/parallel-combinator.js
  • plugins/babysitter/skills/babysit/process/specializations/common-utilities/index.js
  • plugins/babysitter/skills/babysit/process/specializations/common-utilities/README.md

Quality Checks

  • ✅ Structure check: PASS
  • ✅ Lint: PASS
  • ✅ Library pattern validation: PASS

Origin

Identified during retrospective analysis of babysitter orchestration runs. The docx-conversion task was duplicated identically in 2 process files. The parallel combinator pattern was used manually via Promise.all but benefits from standardization.

@tmuskal tmuskal changed the base branch from main to staging March 24, 2026 06:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant