word-maker Skill Card
Use this plugin when the user asks to create, revise, audit, or export a Word document. Prefer it over ad-hoc DOCX scripts when the task needs guided requirements, source files, template variables, section iteration, or a downloadable editable DOCX.
Trigger Scenarios
- Weekly, monthly, or daily reports.
- Meeting minutes.
- Project proposals and acceptance reports.
- Contract or agreement drafts.
- SOPs, policies, and internal process documents.
- Preparing a structured brief before making a PPT.
Tool Order
word_start_projectword_ingest_sourceswhen files or notes are providedword_upload_templateandword_extract_template_varswhen a template is usedword_clarify_requirementswhen requirements are vague or incompleteword_generate_outlineword_confirm_outlineword_extract_fieldswhen a template needs values from sourcesword_fill_templateword_auditword_export
Do not claim a document is generated unless word_export returns a real output
path. Ask the user to confirm missing template fields instead of silently
leaving them blank.
Brain Usage
Use Brain for lightweight sub-tasks only:
- requirement clarification;
- outline generation;
- template field extraction;
- section rewriting;
- summary for future PPT generation.
If brain.access is unavailable, continue with manual fields and template
rendering.
Output Schema
Every tool response should include enough state for the user to continue:
project_id;status;next_actionwhen a user decision is needed;output_pathwhen a file exists;errorandmissingwhen generation is blocked.
Error Policy
Never return a vague "generation failed" message. Prefer specific categories:
missing_template_vars;source_parse_failed;template_render_failed;brain_unavailable;dependency_missing;audit_failed.
PPT Handoff
When the user asks to turn the document into a PPT, export first and then call
word_export with publish_for_ppt=true. This publishes a
word_document_brief asset for ppt-maker when assets.publish is granted.
Testing
Run:
py -3.11 -m pytest plugins/word-maker/tests -q
py -3.11 -m ruff check plugins/word-maker --ignore N999
The N999 ignore is needed because OpenAkita plugin IDs use hyphenated
directories such as word-maker.