@litfamily/litclaude 1.0.19 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +14 -8
  3. package/README_ko-KR.md +13 -8
  4. package/docs/assets/readme/badge-version.svg +1 -1
  5. package/docs/hooks.md +3 -2
  6. package/package.json +1 -1
  7. package/plugins/litclaude/.claude-plugin/plugin.json +1 -1
  8. package/plugins/litclaude/bin/litclaude-hook.js +4 -4
  9. package/plugins/litclaude/bin/litclaude-mcp.js +1 -1
  10. package/plugins/litclaude/lib/canonical-skill-resources.mjs +91 -31
  11. package/plugins/litclaude/skills/frontend-ui-ux/ATTRIBUTION.md +3 -6
  12. package/plugins/litclaude/skills/lit-docx/SKILL.md +50 -19
  13. package/plugins/litclaude/skills/lit-docx/references/components.md +207 -0
  14. package/plugins/litclaude/skills/lit-docx/references/direction-step.md +277 -0
  15. package/plugins/litclaude/skills/lit-docx/references/examples/01-report-ko.md +166 -0
  16. package/plugins/litclaude/skills/lit-docx/references/examples/02-brief-ko.md +105 -0
  17. package/plugins/litclaude/skills/lit-docx/references/examples/03-manual-ko.md +164 -0
  18. package/plugins/litclaude/skills/lit-docx/references/examples/04-proposal-ko.md +138 -0
  19. package/plugins/litclaude/skills/lit-docx/references/examples/05-memo-en.md +55 -0
  20. package/plugins/litclaude/skills/lit-docx/references/examples/06-journal-en.md +130 -0
  21. package/plugins/litclaude/skills/lit-docx/references/examples/07-report-en.md +123 -0
  22. package/plugins/litclaude/skills/lit-docx/references/examples/08-proposal-en.md +123 -0
  23. package/plugins/litclaude/skills/lit-docx/references/examples/09-memo-ko.md +45 -0
  24. package/plugins/litclaude/skills/lit-docx/references/page-composition.md +221 -0
  25. package/plugins/litclaude/skills/lit-docx/references/tonalities/brief.md +143 -0
  26. package/plugins/litclaude/skills/lit-docx/references/tonalities/journal.md +142 -0
  27. package/plugins/litclaude/skills/lit-docx/references/tonalities/manual.md +148 -0
  28. package/plugins/litclaude/skills/lit-docx/references/tonalities/memo.md +137 -0
  29. package/plugins/litclaude/skills/lit-docx/references/tonalities/proposal.md +140 -0
  30. package/plugins/litclaude/skills/lit-docx/references/tonalities/report.md +156 -0
  31. package/plugins/litclaude/skills/lit-docx/scripts/convert_md_to_docx.py +274 -73
  32. package/plugins/litclaude/skills/lit-docx/scripts/docx_design.py +2449 -0
  33. package/plugins/litclaude/skills/lit-docx/scripts/docx_layout.py +959 -0
  34. package/plugins/litclaude/skills/lit-docx/scripts/qa_docx.py +66 -9
  35. package/plugins/litclaude/skills/lit-docx/scripts/slop_lint.py +18 -6
  36. package/plugins/litclaude/skills/lit-docx/templates/tonalities/brief.yaml +28 -0
  37. package/plugins/litclaude/skills/lit-docx/templates/tonalities/journal.yaml +25 -0
  38. package/plugins/litclaude/skills/lit-docx/templates/tonalities/manual.yaml +26 -0
  39. package/plugins/litclaude/skills/lit-docx/templates/tonalities/memo.yaml +26 -0
  40. package/plugins/litclaude/skills/lit-docx/templates/tonalities/proposal.yaml +26 -0
  41. package/plugins/litclaude/skills/lit-docx/templates/tonalities/report.yaml +26 -0
  42. package/plugins/litclaude/skills/lit-pptx/SKILL.md +105 -48
  43. package/plugins/litclaude/skills/lit-pptx/references/agents/analyst.md +1 -1
  44. package/plugins/litclaude/skills/lit-pptx/references/agents/thesis.md +1 -1
  45. package/plugins/litclaude/skills/lit-pptx/references/anti-slop-checklist.md +59 -30
  46. package/plugins/litclaude/skills/lit-pptx/references/authoring-guide.md +119 -42
  47. package/plugins/litclaude/skills/lit-pptx/references/consensus-protocol.md +1 -1
  48. package/plugins/litclaude/skills/lit-pptx/references/data-display-cookbook.md +13 -6
  49. package/plugins/litclaude/skills/lit-pptx/references/density-and-fill.md +164 -0
  50. package/plugins/litclaude/skills/lit-pptx/references/design-system-azure.md +7 -4
  51. package/plugins/litclaude/skills/lit-pptx/references/direction-step.md +186 -0
  52. package/plugins/litclaude/skills/lit-pptx/references/examples/01-pitch-signal-ko.md +210 -0
  53. package/plugins/litclaude/skills/lit-pptx/references/examples/02-pitch-studio-ko.md +147 -0
  54. package/plugins/litclaude/skills/lit-pptx/references/examples/03-business-review-ledger-ko.md +199 -0
  55. package/plugins/litclaude/skills/lit-pptx/references/examples/04-business-review-night-en.md +203 -0
  56. package/plugins/litclaude/skills/lit-pptx/references/examples/05-research-talk-paper-en.md +179 -0
  57. package/plugins/litclaude/skills/lit-pptx/references/examples/06-lecture-chalk-ko.md +199 -0
  58. package/plugins/litclaude/skills/lit-pptx/references/examples/07-data-review-night-en.md +194 -0
  59. package/plugins/litclaude/skills/lit-pptx/references/examples/08-image-led-atlas-ko.md +175 -0
  60. package/plugins/litclaude/skills/lit-pptx/references/examples/09-briefing-gazette-ko.md +204 -0
  61. package/plugins/litclaude/skills/lit-pptx/references/examples/10-status-update-ledger-ko.md +179 -0
  62. package/plugins/litclaude/skills/lit-pptx/references/examples/11-portfolio-studio-en.md +164 -0
  63. package/plugins/litclaude/skills/lit-pptx/references/examples/12-research-tutorial-chalk-en.md +174 -0
  64. package/plugins/litclaude/skills/lit-pptx/references/interview-protocol.md +1 -1
  65. package/plugins/litclaude/skills/lit-pptx/references/layout-families.md +198 -0
  66. package/plugins/litclaude/skills/lit-pptx/references/stages/autopilot.md +1 -1
  67. package/plugins/litclaude/skills/lit-pptx/references/stages/interview.md +2 -2
  68. package/plugins/litclaude/skills/lit-pptx/references/stages/plan.md +1 -1
  69. package/plugins/litclaude/skills/lit-pptx/references/title-treatments.md +109 -0
  70. package/plugins/litclaude/skills/lit-pptx/references/tonalities/atlas.md +139 -0
  71. package/plugins/litclaude/skills/lit-pptx/references/tonalities/chalk.md +148 -0
  72. package/plugins/litclaude/skills/lit-pptx/references/tonalities/gazette.md +149 -0
  73. package/plugins/litclaude/skills/lit-pptx/references/tonalities/ledger.md +149 -0
  74. package/plugins/litclaude/skills/lit-pptx/references/tonalities/night.md +147 -0
  75. package/plugins/litclaude/skills/lit-pptx/references/tonalities/paper.md +151 -0
  76. package/plugins/litclaude/skills/lit-pptx/references/tonalities/signal.md +150 -0
  77. package/plugins/litclaude/skills/lit-pptx/references/tonalities/studio.md +132 -0
  78. package/plugins/litclaude/skills/lit-pptx/scripts/compile-deck.js +64 -16
  79. package/plugins/litclaude/skills/lit-pptx/scripts/craft_extras.py +664 -3
  80. package/plugins/litclaude/skills/lit-pptx/scripts/deck_craft.py +48 -6
  81. package/plugins/litclaude/skills/lit-pptx/scripts/lib/grid-resolver.js +521 -0
  82. package/plugins/litclaude/skills/lit-pptx/scripts/lib/layout-resolver.js +362 -11
  83. package/plugins/litclaude/skills/lit-pptx/scripts/lib/markdown-loader.js +6 -4
  84. package/plugins/litclaude/skills/lit-pptx/scripts/lib/render-adapter-pptx.js +211 -65
  85. package/plugins/litclaude/skills/lit-pptx/scripts/lib/render-pack.js +3559 -0
  86. package/plugins/litclaude/skills/lit-pptx/scripts/lib/slide-ast.js +10 -6
  87. package/plugins/litclaude/skills/lit-pptx/scripts/lib/template-registry.js +286 -1
  88. package/plugins/litclaude/skills/lit-pptx/scripts/qa_deck.py +39 -10
  89. package/plugins/litclaude/skills/lit-pptx/scripts/validate_pptx.py +22 -7
  90. package/plugins/litclaude/skills/lit-pptx/templates/enrolled/AZURE-A2Z/layout-mapping.yaml +1 -1
  91. package/plugins/litclaude/skills/lit-pptx/templates/enrolled/AZURE-A2Z/template.yaml +4 -1
  92. package/plugins/litclaude/skills/lit-pptx/templates/enrolled/AZURE-PRO/layout-mapping.yaml +1 -1
  93. package/plugins/litclaude/skills/lit-pptx/templates/enrolled/AZURE-PRO/template.yaml +4 -1
  94. package/plugins/litclaude/skills/lit-pptx/templates/tonalities/atlas/pack.yaml +92 -0
  95. package/plugins/litclaude/skills/lit-pptx/templates/tonalities/chalk/pack.yaml +97 -0
  96. package/plugins/litclaude/skills/lit-pptx/templates/tonalities/gazette/pack.yaml +93 -0
  97. package/plugins/litclaude/skills/lit-pptx/templates/tonalities/ledger/pack.yaml +94 -0
  98. package/plugins/litclaude/skills/lit-pptx/templates/tonalities/night/pack.yaml +93 -0
  99. package/plugins/litclaude/skills/lit-pptx/templates/tonalities/paper/pack.yaml +98 -0
  100. package/plugins/litclaude/skills/lit-pptx/templates/tonalities/signal/pack.yaml +94 -0
  101. package/plugins/litclaude/skills/lit-pptx/templates/tonalities/studio/pack.yaml +92 -0
@@ -0,0 +1,147 @@
1
+ # Night
2
+
3
+ Night is a screen in a dark room. The ground is a deep blue-black, type is off-white, and the one
4
+ warm accent is amber, with a soft blue as the second series. Numbers sit in labelled rows at title
5
+ size at most, each with its basis, charts take most of the page, and a header band marks the slides that hold data. The
6
+ look keeps contrast high without glare, so a chart stays readable from the back of a hall. A plot or
7
+ diagram brought in as a picture on white would stand as a white card here: give it a `.dark` variant
8
+ beside the file, or its numbers as a `::: chart` block (authoring guide, "Charts").
9
+
10
+ ## When to use it
11
+
12
+ Use Night for data and technical keynotes, product demos, architecture talks and quarterly reviews
13
+ shown on a big screen. It is the first candidate for a data-heavy review and moves up whenever the
14
+ brief says the deck is presented on a stage, at a demo day or in a darkened room. It also earns a
15
+ place when a third or more of the slides hold charts, because its families give charts the most
16
+ room of any pack.
17
+
18
+ ## When it is the wrong choice
19
+
20
+ Night is wrong for decks that will be printed or read at a desk: a dark page wastes toner and tires
21
+ the eye on paper, so Ledger or Gazette serve those readers. It never mixes with light slides inside
22
+ one deck. It also lacks a table-led family, so a deck that is mostly lookup tables belongs in
23
+ Ledger.
24
+
25
+ ## Tokens
26
+
27
+ These values are read from the pack file `pack.yaml` of the `night` tonality.
28
+
29
+ | Token | Value |
30
+ |---|---|
31
+ | ground / surface | `#0F1419` / `#1A222B` |
32
+ | ink / ink-muted | `#E8EDF2` / `#A3AEBA` |
33
+ | line | `#5A6672` |
34
+ | accent / accent-deep / accent-tint | `#E3A857` / `#F2C98A` / `#2A2418` |
35
+ | field / on-field | `#1E2A36` / `#F5F7FA` |
36
+ | positive / negative | `#6CC08B` / `#F08A7E` |
37
+ | series | `#E3A857`, `#7FB8E0`, `#A3AEBA`, `#C58FD0` |
38
+ | faces | display, title Pretendard Bold; body, label and numeral Pretendard Regular; `faces: a2z` swaps numerals to A2Z Light |
39
+ | ramp / hero | compact (body 13 pt, labels 11, sources 9) / not allowed, figures at most title size |
40
+ | density / variance | 10 / 6 |
41
+ | radius / edge | 6 / fill |
42
+ | table | header row on the surface colour with bold ink, hairline rows, no banding, numbers right-aligned, totals bold, the row the title names in the accent tint |
43
+ | chart | hairline gridlines, direct labels, accent on the item that matters and muted colours on the rest |
44
+ | decoration | header band, hairline rule, numeral, rail fill |
45
+
46
+ ## Treatments by slide role
47
+
48
+ Text slides and image slides take `top-plain-large`, a title with no rule. Data slides take
49
+ `band`, the header band across the top. Charts with a takeaway take `side-rail`, sequences take
50
+ `kicker-numeral`, definitions take `side-rail`, and a pull quote takes `statement`. When the role's
51
+ treatment would leave an empty lower band, the engine tries the other treatments the family allows
52
+ and keeps the one that fills, while staying inside the variance cap. Write `title: side-rail` (or
53
+ another allowed treatment) under the `layout:` line to fix a slide's treatment; the business review
54
+ example does this for a big number and a timeline so the deck mixes enough compositions.
55
+
56
+ ## Families and variants
57
+
58
+ - `full-chart`: one chart across the body with a short note under it.
59
+ - `chart-insight`: a chart with two or three takeaways.
60
+ - `kpi-row`: two to four headline values at title size, each with what it measures and its basis.
61
+ - `kpi-over-chart`: a value row above the trend it summarises.
62
+ - `dashboard-grid`: two to four small charts read together.
63
+ - `big-number`: a panel of two to four related figures (value, label, basis) with its evidence.
64
+ - `method`: how a metric is defined, formula first.
65
+ - `comparison`: two options or two periods, row by row.
66
+ - `timeline`: dated events on one axis.
67
+ - `statement`: a pull quote, or a display-led slide the user asks for.
68
+
69
+ Covers are `cover-numeral`, `cover-typographic` and `cover-figures`. Sections are `section-numeral`
70
+ and `section-field`. Closings are `closing-statement` and `closing-decision-box`.
71
+
72
+ Display slides. The typographic cover sets the year from the deck's date at title size beside the
73
+ topic name. A statement sets its quoted line in up to three balanced lines. A big-number panel
74
+ stands in amber on the dark amber tint, one row per figure with its label and basis. A closing's rows are keyed by date or amount, and the next step runs in the
75
+ field band above the footer.
76
+
77
+ ## Do
78
+
79
+ Give each chart one highlighted series in amber and let the rest sit in muted tones. Keep titles
80
+ short labels (subject, measure, period): the open title and the band have tight glyph budgets, and the compile log warns when a title
81
+ runs over. Put the source on the last slide, inside the decision box. Use big numbers only for real
82
+ figures from the source, each with its basis and a sourced caption.
83
+
84
+ ## Avoid
85
+
86
+ Avoid neon or saturated glows, a pure black ground, and any light slide mixed in. Avoid thin light
87
+ type below 18 pt; it breaks up on a projector. Do not lean on red and green alone for change; pair
88
+ the
89
+ colour with a sign and an arrow.
90
+
91
+ ## Two worked slides
92
+
93
+ A value row above its trend states each number once with its basis, and the chart shows where it
94
+ came from and anchors the floor of the slide.
95
+
96
+ ```markdown
97
+ ---
98
+ layout: kpi-over-chart
99
+
100
+ ## Cost per million requests, Q3 2025-Q3 2026
101
+
102
+ | Cost per million | Target | Change on Q2 |
103
+ |---|---|---|
104
+ | $1.82 | $2.00 | ▼ −9% |
105
+ | Q3 2026 | 9% under target | fourth fall in a row |
106
+
107
+ ::: chart type=line unit="$"
108
+ | Quarter | Cost per million requests ($) |
109
+ |---|---|
110
+ | Q3 2025 | 2.61 |
111
+ | Q4 2025 | 2.34 |
112
+ | Q1 2026 | 2.12 |
113
+ | Q2 2026 | 2.00 |
114
+ | Q3 2026 | 1.82 |
115
+ > Cost per million requests by quarter (example data)
116
+ :::
117
+ ---
118
+ ```
119
+
120
+ A big-number panel holds three related figures with their basis and three lines of evidence, so
121
+ the figures are explained on the same page.
122
+
123
+ ```markdown
124
+ ---
125
+ layout: big-number
126
+ title: side-rail
127
+
128
+ ## Incident recovery time, Q3 2026
129
+
130
+ | Median time to recover | Auto rollbacks | Slowest recovery |
131
+ |---|---|---|
132
+ | 8 min | 2 of 3 | 21 min |
133
+ | Q2: 27 min | before paging | database failover |
134
+
135
+ > Incident log, July-September 2026 (example)
136
+
137
+ - Recovery time is now under ten minutes
138
+ - The median fell from 27 minutes in Q2 after automatic rollback went live in July
139
+ - Two of the three incidents were rolled back before a person was paged
140
+ - The slowest recovery, 21 minutes, was a database failover in week 9
141
+ ---
142
+ ```
143
+
144
+ ## Examples
145
+
146
+ `04-business-review-night-en.md` and `07-data-review-night-en.md` both use the pack defaults
147
+ (density 10, variance 6).
@@ -0,0 +1,151 @@
1
+ # Paper
2
+
3
+ Paper treats the screen like a printed journal page. The ground is white, the type is near-black,
4
+ and structure comes from thin rules rather than filled boxes. Figures do most of the talking, each
5
+ with a numbered caption and a source, and tables are set in the three-rule style readers know from
6
+ papers. One deep crimson is the only colour with a job: it marks the method or result the talk
7
+ proposes, and nothing else. The effect is calm and checkable, which is what a room of peers wants
8
+ when they are deciding whether to believe a result.
9
+
10
+ ## When to use it
11
+
12
+ Pick Paper for research talks, thesis defences, lab meetings and technical reviews where the
13
+ audience reads the evidence closely. It is the first candidate for the research-talk deck type, and
14
+ it moves up the list when the source carries numbered citations, DOIs or a references section, or
15
+ when a third or more of the slides hold a chart. It also suits a written analysis that happens to be
16
+ delivered as slides, because its hairline tables and numbered figures survive printing.
17
+
18
+ ## When it is the wrong choice
19
+
20
+ Paper reads as cold to a sales, launch or investor audience; there Signal or Studio carry the
21
+ energy the room expects. It is also a poor fit for a deck of mostly photographs, since the pack has
22
+ no full-bleed image family and keeps pictures inside the grid. If the talk is given on a large
23
+ stage in a dark room, Night keeps charts legible at distance where Paper's thin rules disappear.
24
+
25
+ ## Tokens
26
+
27
+ These values are read from the pack file `pack.yaml` of the `paper` tonality.
28
+
29
+ | Token | Value |
30
+ |---|---|
31
+ | ground / surface | `#FFFFFF` / `#F5F5F6` |
32
+ | ink / ink-muted | `#111418` / `#50565E` |
33
+ | line | `#C9CDD2` |
34
+ | accent / accent-deep / accent-tint | `#8C1C2B` / `#5E121C` / `#F6E6E8` |
35
+ | field / on-field | `#111418` / `#FFFFFF` |
36
+ | positive / negative | `#1E6B3A` / `#50565E` |
37
+ | series | `#8C1C2B`, `#111418`, `#50565E`, `#2E5E8A` |
38
+ | faces | display and title Pretendard Bold; body, label and numeral Pretendard Regular (`faces: a2z` keeps the same map) |
39
+ | ramp / hero | compact (body 13 pt, labels 11, sources 9) / no hero step, figures at most title size |
40
+ | density / variance | 10 / 5 |
41
+ | radius / edge | 0 / border |
42
+ | table | booktabs: heavy rule over the header, light rule under it, heavy rule at the end; no fill, no banding; numbers right-aligned; totals bold |
43
+ | chart | hairline gridlines, direct labels, series in order (the proposed method takes the accent, baselines take ink and muted ink) |
44
+ | decoration | hairline rule, box outline |
45
+
46
+ Negative values share the muted ink on purpose: a drop is shown with a sign and a glyph, never with
47
+ a
48
+ warning colour that would compete with the accent.
49
+
50
+ ## Treatments by slide role
51
+
52
+ Text slides, data tables, sequences and reference pages take `top-rule`, where the rule under the
53
+ title is a full hairline. Charts and figures that carry the slide take `bottom-anchor`, so the
54
+ picture fills the upper body and the title labels it from below. Definitions and method slides
55
+ take `side-rail`, a comparison is drawn as a ruled table under a `top-rule` title (the pack's
56
+ `structure`, kept even when the deck already leans on that title), and a quoted line takes `statement`. The engine keeps the role's treatment when
57
+ the body fills to the density band; when it would leave a tall empty band, it lays the slide out
58
+ under the other treatments the family allows and keeps the one that fills best, while capping how
59
+ many treatments one deck mixes. A slide can ask for a specific treatment with a `title:` line under
60
+ its `layout:` line, for example `title: top-rule`, as long as the family allows it.
61
+
62
+ ## Families and variants
63
+
64
+ - `figure-academic`: one figure with its numbered caption and a short observation, limitation and
65
+ implication.
66
+ - `figure-pair`: two figures side by side, for before and after or two conditions.
67
+ - `method`: a formula or process figure beside the definitions of its symbols.
68
+ - `chart-insight`: a native chart with two or three takeaways beside it.
69
+ - `full-chart`: a chart across the body when the plot itself is the argument.
70
+ - `table-insight`: a booktabs table with its caption and the takeaway it supports.
71
+ - `comparison`: contributions against limits, or two methods row by row.
72
+ - `quote`: a participant's or reviewer's words as a statement.
73
+ - `statement`: an epigraph or quoted line; the research question and the finding go in a labelled
74
+ content slide with their evidence.
75
+ - `text-column`: running argument at reading measure.
76
+ - `references-appendix`: the reference list, one entry per row.
77
+
78
+ Covers are `cover-index` (lists the deck's sections, so it needs at least two), `cover-typographic`
79
+ and `cover-split-image`. Sections are `section-rule` and `section-field`. Closings are
80
+ `closing-summary-list` and `closing-ask`.
81
+
82
+ Display slides. The typographic cover is a journal title page: a heavy rule, the title, a hairline,
83
+ then the presenter and, under it, the place and date. A statement sits between two hairlines, like
84
+ an epigraph. A section shows the deck's parts in one line under its rule, this part in the accent. A
85
+ closing's next step sits under a rule at the foot of the page, its rows keyed by date.
86
+
87
+ ## Do
88
+
89
+ Number every figure and table caption and give each a source. Title each slide with what it shows
90
+ ("Conversion at 60 min by feed rate"), and put the finding in the first observation. Keep the crimson for the proposed
91
+ method in every chart, so the audience learns its meaning on the first plot. Put the limitation on
92
+ the same slide as the result it limits. End with the reference list, so the last page carries the
93
+ deck's sources.
94
+
95
+ ## Avoid
96
+
97
+ Avoid the short accent bar under a title; in this direction the rule is a hairline. Avoid coloured
98
+ card fills, which turn a paper into a dashboard. Do not let the accent mark anything that is not the
99
+ proposed method, and never show a figure without its numbered caption.
100
+
101
+ ## Two worked slides
102
+
103
+ A table slide labels the table in the title and states the takeaway first beside it, so the body
104
+ fills and the reader does not have to compute the gain.
105
+
106
+ ```markdown
107
+ ---
108
+ layout: table-insight
109
+
110
+ ## Conversion at 60 min by feed rate and feed mode
111
+
112
+ | Feed rate (L/min) | Single feed (%) | Staged feed (%) | Gain (points) |
113
+ |---|---|---|---|
114
+ | 0.5 | 52 | 77 | 25 |
115
+ | 0.75 | 51 | 76 | 25 |
116
+ | 1.0 | 50 | 75 | 25 |
117
+ | 1.5 | 47 | 71 | 24 |
118
+ | 2.0 | 41 | 64 | 23 |
119
+
120
+ > Table 1. Conversion at 60 minutes by feed rate, three replicates each (example data)
121
+
122
+ - The gain holds at all five feed rates tested (+23 to +25 points)
123
+ - The relative gain is 48-56% at every rate
124
+ - The gap narrows by two points at the highest rate
125
+ - Heat removal, not the feed schedule, limits the fastest runs
126
+ ---
127
+ ```
128
+
129
+ A method slide pairs the process figure with every symbol the talk will use, so later charts need
130
+ no legend.
131
+
132
+ ```markdown
133
+ ---
134
+ layout: method
135
+
136
+ ## Three-stage feed layout and symbols
137
+
138
+ ![Figure 2. Process layout used in all runs | Source: example image](assets/example-b.png)
139
+
140
+ - **Layout** feed split into three stages along the reactor
141
+ - **X** conversion, the fraction of feed that reacted
142
+ - **k** first-order rate constant, 1/min
143
+ - **τ** residence time per stage, min
144
+ - **n** number of feed stages, three in every run
145
+ - **q** feed split between stages, 50/30/20 by volume
146
+ ---
147
+ ```
148
+
149
+ ## Examples
150
+
151
+ `05-research-talk-paper-en.md` uses the pack defaults (density 10, variance 5).
@@ -0,0 +1,150 @@
1
+ # Signal
2
+
3
+ Signal is the direction for a talk given out loud. Each slide carries one topic with the facts that
4
+ support it, set on the reading ramp so the room can follow while the speaker talks and a reader can
5
+ still check the figures later. The ground stays white, almost everything is near-black ink, and a
6
+ single red-orange accent marks the one figure or word the slide exists for. There are no cards and
7
+ very few lines; space, weight and colour do the grouping.
8
+
9
+ ## When to use it
10
+
11
+ Reach for Signal when someone will stand in front of decision makers and speak for ten to fifteen
12
+ minutes: an investment pitch, a product launch, a proposal that has to land in one sitting. The
13
+ content signals that point here are short bodies (about 40 Korean glyphs or 80 Latin characters per
14
+ content slide or less), a handful of real headline numbers, and a story that moves from a problem
15
+ to an ask. It is the first candidate for the pitch deck type, and the third one for an image-led
16
+ launch when the pictures are few.
17
+
18
+ ## When it is the wrong choice
19
+
20
+ Signal fails when the deck will be read alone later, because its open pages hold less detail than a
21
+ reader needs without a speaker. It also fails when tables make up a third of the slides or
22
+ more: tables at Signal's sizes either run out of room or shrink to a size that contradicts the rest
23
+ of the deck. If the brief says the deck is sent ahead or circulated, Ledger or Gazette fits better.
24
+
25
+ ## Tokens
26
+
27
+ The values below come from the pack file and are what the engine draws.
28
+
29
+ | Token | Value |
30
+ |---|---|
31
+ | ground / surface | #FFFFFF / #F4F4F5 |
32
+ | ink / ink-muted / line | #15131A / #55525C / #D4D4D8 |
33
+ | accent / accent-deep / accent-tint | #C8361A / #6E1A0C / #FBE7E2 |
34
+ | field / on-field | #C8361A / #FFFFFF |
35
+ | positive / negative | #1E7A3F / #15131A |
36
+ | series | #C8361A, #15131A, #6B6870, #2F6F8F |
37
+ | faces | Pretendard Bold for display, title and numerals, Pretendard Regular for body and labels; `faces: a2z` swaps to A2Z Black display and numerals, A2Z Bold titles |
38
+ | ramp / hero | compact (body 13 pt, labels 11, sources 9) / not allowed (figures at most title size, 26 pt) |
39
+ | density / variance | 10 / 6 |
40
+ | radius / edge | 0 / fill |
41
+ | table | open style, no header fill, rules at top and bottom, protagonist row in accent-tint, bold totals |
42
+ | chart | no gridlines, direct labels, accent on the highlighted bar over muted bars |
43
+
44
+ Density 10 sets the pitch on the compact grid (24 pt side margins), body 13 pt and no step-up: a
45
+ pitch read after the meeting carries its basis and sources on every slide. Lower it to 8 (body 14 pt,
46
+ 36 pt margins) for a pitch given only from the stage. Losses use ink with a ▼ sign, because red already means
47
+ "look here" in this direction.
48
+
49
+ ## Treatments by slide role
50
+
51
+ Content slides take `top-plain-large`, data and sequence slides `top-rule`, data with a takeaway
52
+ `top-plain-large`, image slides `bottom-anchor`, statements `statement`, and references and
53
+ definitions `top-rule`. The engine treats that map as a starting point: for each slide it lays out
54
+ every treatment the family allows, keeps the role's own when the body fills, and otherwise picks the
55
+ one that leaves the least empty band without letting one title cover more than about a third of the
56
+ deck. To force a treatment, put `title: bottom-anchor` (or another allowed id) on the line after
57
+ `layout:`.
58
+
59
+ ## Families and variants
60
+
61
+ - `statement` is kept for a pull quote or a display-led deck the user asks for; a claim is not a title.
62
+ - `big-number` is a data panel of two to four related figures, each with its label and basis, beside
63
+ the facts that explain them.
64
+ - `image-split` pairs a product picture with three short labelled points.
65
+ - `asymmetric-feature` gives a picture or number the narrow side and the explanation the wide one.
66
+ - `process` shows three to five steps across the page, each with a head and two lines of detail.
67
+ - `kpi-row` runs two to four results at title size, each with its label and a basis row under it.
68
+ - `chart-insight` and `full-chart` carry growth curves and comparisons with one highlighted series.
69
+ - `comparison` reads two columns across shared rows, such as before and after.
70
+ - `table-insight` holds the one table a pitch needs, usually unit economics, with its takeaway.
71
+ - `quote` sets a customer's sentence as the statement.
72
+
73
+ Covers are `cover-numeral`, `cover-typographic` and `cover-split-field`; sections are
74
+ `section-field` and `section-numeral`; closings are `closing-statement` and `closing-ask`.
75
+
76
+ Display slides. The typographic cover is the red field from edge to edge, the topic name in up to
77
+ three balanced lines at display size, anchored low. A statement (pull quote) sets its text in up to
78
+ three balanced lines on white. A big number is a red data panel: one row per figure with value, label
79
+ and basis in white, its evidence beside it. A closing's rows carry their amounts at title size, each
80
+ with a bar for its share of the ask, and the next step runs in
81
+ a red band across the grid just above the footer.
82
+
83
+ ## Do
84
+
85
+ - Write every title as a topic label (subject, measure, period); the claim is the first body line.
86
+ - Give every figure its basis or comparison and a caption with period and source.
87
+ - Give a big-number panel two to four figures and two or three lines of evidence.
88
+ - Keep bullet lists to four items or fewer and let each item carry a number or a name.
89
+ - End on `closing-ask` with the amount, its uses in a table and the next meeting with an owner.
90
+
91
+ ## Avoid
92
+
93
+ - Red for a loss; red belongs to the protagonist.
94
+ - Display text running past two lines, or one giant figure alone on a slide.
95
+ - Cards or boxed groups; this direction groups with space.
96
+ - A table slide with no sentence that tells the room what to take from it.
97
+
98
+ ## Two worked slides
99
+
100
+ A big number on its own reads as decoration, so the panel holds three related figures with their
101
+ basis, and the evidence sits beside it and ends level with it.
102
+
103
+ ```markdown
104
+ ---
105
+ layout: big-number
106
+
107
+ ## 수도권 세탁 대행 시장 규모와 앱 주문 비중
108
+
109
+ | 시장 규모 (연) | 앱 주문 비중 | 수거·배송 하는 세탁소 |
110
+ |---|---|---|
111
+ | 1조 2천억 원 | 6% | 20% |
112
+ | 2025년 기준 | 2023년 3% | 다섯 곳 중 한 곳 |
113
+
114
+ > 수도권 세탁 대행 시장 추정, 예시 업계 통계 2025 (예시)
115
+
116
+ - 시장은 아직 대부분 오프라인이다: 앱 주문은 6%, 약 720억 원
117
+ - 동네 세탁소 다섯 곳 중 네 곳은 수거·배송을 하지 않는다
118
+ - 앱 주문 비중은 2023년 3%에서 2025년 6%로 늘었다
119
+ ---
120
+ ```
121
+
122
+ The closing labels the request in the title, shows where the money goes, states the ask in the
123
+ first line and ends with the next step.
124
+
125
+ ```markdown
126
+ ---
127
+ layout: closing-ask
128
+
129
+ ## 18개월 운영 자금 30억 원 사용 계획
130
+
131
+ | 쓰임 | 금액 | 시점 |
132
+ |---|---|---|
133
+ | 수거·배송 권역 확대 (6개 구 → 15개 구) | 14억 원 | 2027년 상반기 |
134
+ | 제휴 세탁소 품질 관리 체계 | 6억 원 | 2026년 4분기 |
135
+ | 앱 개발 인력 | 5억 원 | 상시 |
136
+ | 신규 제휴 세탁소 120곳 모집 | 3억 원 | 2027년 1분기 |
137
+ | 운영 예비비 | 2억 원 | 필요 시 |
138
+ | 합계 | 30억 원 | 18개월 |
139
+
140
+ > 표 2. 투자금 쓰임 (예시 데이터)
141
+
142
+ - 요청: 18개월 운영 자금 30억 원 투자 승인
143
+ - 기대 성과: 18개월 뒤 월 주문 6만 건, 월 영업이익 흑자 전환
144
+ - 다음 단계: 11월 둘째 주 실사 미팅, 담당 예시 재무팀
145
+ ---
146
+ ```
147
+
148
+ ## Examples
149
+
150
+ `01-pitch-signal-ko.md`
@@ -0,0 +1,132 @@
1
+ # Studio
2
+
3
+ Studio treats a deck like a magazine spread. The twelve-column grid shows through as thin column
4
+ lines, titles often stand in a side rail or open the page at title size, real figures sit in labelled
5
+ panels with their basis, and pages split unevenly so that one side clearly leads. A dark ochre accent marks the single
6
+ thing to look at; everything else is black, grey and white.
7
+
8
+ ## When to use it
9
+
10
+ Studio fits stories that are told more than they are audited: a design or brand narrative, a
11
+ strategy told through cases, a public lecture, a portfolio of built work, or a pitch for a product
12
+ people judge by seeing it. The content signals that move Studio up are a high share of slides with
13
+ pictures (about 30% or more) and short to medium bodies. It is the second candidate for pitches,
14
+ image-led decks and public lectures, and it can lead when the pictures are strong but the narrative
15
+ matters as much as the images.
16
+
17
+ ## When it is the wrong choice
18
+
19
+ The editorial splits starve table-heavy data. A business review with several tables, a status
20
+ update or a briefing that is read at a desk all need more rows on each page than Studio's uneven
21
+ splits give them; Ledger or Gazette serve those. Studio also needs real figures for its numeral
22
+ panels: a deck without counts, shares or years loses one of the direction's main devices.
23
+
24
+ ## Tokens
25
+
26
+ Read from the pack file; these are the values the engine draws.
27
+
28
+ | Token | Value |
29
+ |---|---|
30
+ | ground / surface | #FFFFFF / #F2F2F0 |
31
+ | ink / ink-muted / line | #141414 / #525252 / #D2D2CE |
32
+ | accent / accent-deep / accent-tint | #8A5A00 / #4D3200 / #F5ECD9 |
33
+ | field / on-field | #141414 / #FFFFFF |
34
+ | positive / negative | #1E7A3F / #B3261E |
35
+ | series | #8A5A00, #141414, #525252, #3B5F7F |
36
+ | faces | Pretendard Bold for display, title and numerals, Pretendard Regular for body and labels; `faces: a2z` swaps to A2Z Black display and numerals, A2Z Medium titles |
37
+ | ramp / hero | compact (body 13 pt, labels 11, sources 9) / not allowed, figures at most title size |
38
+ | density / variance | 10 / 8 |
39
+ | radius / edge | 0 / fill |
40
+ | table | open style, no header fill, a 2 pt ink rule under the header, no row rules, bold totals |
41
+ | chart | no gridlines, direct labels, accent on the highlighted series over muted ones |
42
+
43
+ Density 10 puts the deck on the compact grid with body 13 pt. Variance 8 lets one deck mix up to five
44
+ title treatments, which is the point of this direction.
45
+
46
+ ## Treatments by slide role
47
+
48
+ Content, data with a takeaway, references, definitions and sequences take `side-rail`; data
49
+ slides take `top-plain-large`; a pull quote takes `statement`; image slides take `side-rail`, the
50
+ picture across columns 5-12 and its facts in the rail under the title (an asymmetric split, where
51
+ Atlas would set the title under the picture); the `image-full` family takes `overlay`. For each slide the engine tries every
52
+ treatment its family
53
+ allows and keeps the role default when the body fills, otherwise the one that leaves the least empty
54
+ band, while keeping any single treatment under about a third of the deck. A line such as
55
+ `title: top-plain-large` after `layout:` overrides that choice for one slide.
56
+
57
+ ## Families and variants
58
+
59
+ - `asymmetric-feature` gives a tall picture the narrow side and four lines of argument the wide one.
60
+ - `big-number` sets two to four real figures as a panel (value, label, basis) with the facts that
61
+ explain them.
62
+ - `image-split` and `image-full` carry the work itself; the full-bleed slide puts its title on a
63
+ panel.
64
+ - `photo-grid` shows two or three pictures side by side with one shared sentence.
65
+ - `text-two-column` holds a brief and a response, or two halves of an argument.
66
+ - `chart-insight` and `kpi-row` carry the few numbers the story needs.
67
+ - `timeline` shows a programme or a history along one axis.
68
+ - `comparison` reads before and after across shared rows.
69
+
70
+ Covers are `cover-split-image` (which takes the deck's first picture), `cover-rail` and
71
+ `cover-numeral`; sections are `section-numeral` and `section-rail`; closings are
72
+ `closing-contact-split`
73
+ and `closing-summary-list`.
74
+
75
+ Display slides. The cover opens on the deck's first picture when there is one, otherwise on the
76
+ rail. A statement stands between two hairlines on the open page (a light rail beside it stood empty). A
77
+ big-number panel stands in ochre on its tint, its figures at title size. The contact-split closing keeps the field: it holds each
78
+ row's amount or date in line with its row, and the next step runs under the rows on the white side.
79
+
80
+ ## Do
81
+
82
+ - Let the picture or the number lead each slide and keep the text to the side that serves it.
83
+ - Use a numeral only for a real figure (a count, a share, a year), with its label and basis.
84
+ - Title each slide with its topic; the claim opens the body beside the picture.
85
+ - Alternate splits: after a side-rail slide, follow with a top title or a full-bleed picture.
86
+ - Keep titles short; a side-rail title has about eight Korean glyphs or sixteen Latin characters per
87
+ line, and a long one overflows its frame.
88
+
89
+ ## Avoid
90
+
91
+ - Numerals used as ornaments, such as step numbers on points that are not a sequence.
92
+ - Column lines running through text; they belong in gutters.
93
+ - Two side-rail slides with the same split back to back.
94
+ - Centred body text; Studio aligns everything to the column lines.
95
+
96
+ ## Two worked slides
97
+
98
+ A tall portrait picture takes the narrow side, so the five facts beside it fill the page; the first
99
+ carries the claim.
100
+
101
+ ```markdown
102
+ ---
103
+ layout: asymmetric-feature
104
+
105
+ ## 1인 가구 이사 주기와 가구 폐기 실태
106
+
107
+ ![도 1. 이사 철 배출된 가구 | 출처: 예시 이미지](assets/example-c.png)
108
+
109
+ - 1인 가구는 2년마다 이사하며 가구를 버린다
110
+ - 수도권 1인 가구의 평균 거주 기간은 2.1년이다 (예시 조사)
111
+ - 이사 때 버려지는 가구의 절반은 산 지 3년이 안 된 것이다
112
+ - 대형 폐기물 수수료와 운반비로 한 번에 평균 9만 원을 쓴다
113
+ - 새 집 구조에 맞지 않아 버리는 경우가 가장 많다
114
+ ---
115
+ ```
116
+
117
+ A full-bleed picture carries its label title on a panel; the caption, which states what changed,
118
+ stays on the panel with it.
119
+
120
+ ```markdown
121
+ ---
122
+ layout: image-full
123
+
124
+ ## East branch reading room after the renovation
125
+
126
+ ![East branch reading room, now open onto its street (glazed front, 2026) | Source: example image](assets/example-a.png)
127
+ ---
128
+ ```
129
+
130
+ ## Examples
131
+
132
+ `02-pitch-studio-ko.md`, `11-portfolio-studio-en.md`