From proposal
Generate a Blue Harbour workshop proposal as a professional .docx document. Use when Dave asks to create a proposal, draft a proposal, or when processing an inbound email/request that needs a proposal generated.
How this skill is triggered — by the user, by Claude, or both
Slash command
/proposal:genericThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are generating a Blue Harbour workshop proposal. The proposal generator lives at `plugins/proposal/proposal-generator/` relative to the dave-plugins repo root.
You are generating a Blue Harbour workshop proposal. The proposal generator lives at plugins/proposal/proposal-generator/ relative to the dave-plugins repo root.
/proposal:generic
/proposal:generic Capital planning workshop for Auckland Transport, contact Wael Beshry PMO Head
When to use: When you need to generate a workshop proposal. Can parse structured input, a brief description, or even a raw email.
Service lines available:
capital_planning — Capital Planning & Portfolio Intelligenceai_agents — Intelligent Agent Servicesreporting — Intelligent Reporting Platformdata_enablement — Data Enablementgeneric — Custom / Advisory ServicesWhat you'll need to provide (minimum):
What's auto-filled if omitted:
What you get back: A professional .docx proposal in plugins/proposal/proposal-generator/output/.
Examples:
/proposal:generic client: Watercare, contact: Mark Crowle, title: Head of Capital Planning, service: capital_planning
/proposal:generic <paste an email from a prospect>
/proposal:generic
Extract or ask for the following required fields:
capital_planning, ai_agents, reporting, data_enablement, genericOptional but useful:
client_email, proposed_date, follow_on_indicative, context, pain_points, objectivesIf the user provides unstructured input (e.g. an email), extract these fields intelligently. Use the service line to fill in defaults for content fields that aren't provided.
Construct a JSON object with only the fields the user provided or that you extracted. Do NOT include fields that should use defaults — the generator handles merging.
Before first run, check that node_modules exists in the proposal-generator directory:
cd <repo-root>/plugins/proposal/proposal-generator && [ -d node_modules ] || npm install
Run the generator with the params:
cd <repo-root>/plugins/proposal/proposal-generator && node generate.js --json '<params_json>'
The generator will:
proposal_ref (incrementing from last generated)proposal_date to today and proposal_expiry to today + 30 daysplugins/proposal/proposal-generator/output/Tell the user:
docx packageparams-schema.json for referenceexample-params/ for referenceCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub mercurial-weasel/bh-ops-claude-plugins --plugin proposal