Commit a322c37
authored
feat(mofa-slides): list_styles tool + discourage auto_layout + skill-output-aligned paths (#62)
* feat(mofa-slides): add mofa_list_styles tool and discourage auto_layout default
* New mofa_list_styles tool scans find_styles_dir for any skill, returns
live catalog (name, description, variants, tags). Lets the LLM see
what's actually installed instead of relying on a hardcoded table
that drifts every release.
* plugin_slides no longer silently swaps in nb-pro.toml when a style
file is missing — it bails with the available-style list. The silent
fallback was masking deployment drift and producing purple output for
styles like lingnan when the deployed copy was stale.
* SKILL.md rewritten:
* Mode 2 (manual texts) is now the explicit default for "editable PPT".
* auto_layout (Mode 3) has a "when NOT to use this" section explaining
it's slow, expensive, and produces output that usually needs heavy
human cleanup. Only appropriate when user explicitly asks for VQA
or for PDF-to-PPTX (Mode 4).
* Hardcoded 17-style table replaced with a directive to call
mofa_list_styles (deployed dir actually has 20 styles, validating
the drift).
* manifest.json: declare mofa_list_styles; rewrite style + auto_layout
descriptions to match.
* Style accessors variant_names() / default_variant_name() / list_style_names()
added to back the new tool.
* Bump to 0.5.0 (was out of sync between SKILL.md 0.4.2 and manifest 0.4.5).
* docs(mofa-slides): SKILL.md output paths align with octos skill-output rebind
The Octos host rebinds plugin work_dir to <workspace>/skill-output/,
so an LLM that emits `out: "skill-output/mofa-slides-XX/deck.pptx"`
gets a double-prefix (`<workspace>/skill-output/skill-output/...`)
that the workspace contract validator never finds.
Inside an Octos slides workspace (the normal case), the LLM should
pass workspace-relative `slides/<slug>/output/deck.pptx` — the host
rebind places it at `<workspace>/skill-output/slides/<slug>/output/`,
the workspace contract picks it up via files_to_send, and delivery
is automatic.
Standalone use (mofa CLI outside Octos) keeps a unique-per-request
subdir but drops the skill-output prefix.
* docs(mofa-slides): Mode 4 example uses workspace-relative source_image
The Mode 4 (PDF-to-PPTX) example used `source_image: "skill-output/pdf-pages/..."`
which contradicts the rule added two commits ago ("never prefix
skill-output/ yourself"). Inside an Octos slides workspace the host
does NOT rebind input paths (only `out` / `slide_dir`), so the
example was still functionally valid — but the contradiction would
train the LLM to use skill-output prefixes elsewhere and trip the
double-prefix failure on output args.
Switch the example to a slides-project-relative input path
(slides/<slug>/assets/pdf-pages/...) and explicitly note that
input-path semantics differ from output-path semantics.
Codex review of #62 — MINOR.1 parent fe25b69 commit a322c37
6 files changed
Lines changed: 283 additions & 66 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
353 | 353 | | |
354 | 354 | | |
355 | 355 | | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
356 | 359 | | |
357 | 360 | | |
358 | 361 | | |
| |||
525 | 528 | | |
526 | 529 | | |
527 | 530 | | |
528 | | - | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
529 | 535 | | |
530 | 536 | | |
531 | 537 | | |
| |||
538 | 544 | | |
539 | 545 | | |
540 | 546 | | |
541 | | - | |
542 | | - | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
543 | 558 | | |
544 | 559 | | |
545 | 560 | | |
| |||
902 | 917 | | |
903 | 918 | | |
904 | 919 | | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
905 | 1026 | | |
906 | 1027 | | |
907 | 1028 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
92 | | - | |
| 91 | + | |
93 | 92 | | |
94 | 93 | | |
95 | 94 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | 7 | | |
9 | 8 | | |
10 | 9 | | |
11 | 10 | | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
155 | | - | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
156 | 163 | | |
157 | 164 | | |
158 | 165 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
26 | 57 | | |
27 | 58 | | |
28 | 59 | | |
| |||
0 commit comments