markilo 0.4.0 → 1.0.0

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 (140) hide show
  1. package/README.md +70 -47
  2. package/THIRD_PARTY_NOTICES.md +26 -12
  3. package/package.json +15 -1
  4. package/plugin/.claude-plugin/plugin.json +1 -1
  5. package/plugin/THIRD_PARTY_NOTICES.md +26 -12
  6. package/plugin/agents/concept-designer.md +14 -5
  7. package/plugin/agents/design-critic.md +32 -3
  8. package/plugin/dist/markilo.mjs +213 -146
  9. package/plugin/fonts/alegreya-sans/OFL.txt +93 -0
  10. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-400-normal.woff +0 -0
  11. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-500-normal.woff +0 -0
  12. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-700-normal.woff +0 -0
  13. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-800-normal.woff +0 -0
  14. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-ext-400-normal.woff +0 -0
  15. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-ext-500-normal.woff +0 -0
  16. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-ext-700-normal.woff +0 -0
  17. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-ext-800-normal.woff +0 -0
  18. package/plugin/fonts/archivo/OFL.txt +93 -0
  19. package/plugin/fonts/archivo/archivo-latin-400-normal.woff +0 -0
  20. package/plugin/fonts/archivo/archivo-latin-500-normal.woff +0 -0
  21. package/plugin/fonts/archivo/archivo-latin-600-normal.woff +0 -0
  22. package/plugin/fonts/archivo/archivo-latin-700-normal.woff +0 -0
  23. package/plugin/fonts/archivo/archivo-latin-800-normal.woff +0 -0
  24. package/plugin/fonts/archivo/archivo-latin-900-normal.woff +0 -0
  25. package/plugin/fonts/archivo/archivo-latin-ext-400-normal.woff +0 -0
  26. package/plugin/fonts/archivo/archivo-latin-ext-500-normal.woff +0 -0
  27. package/plugin/fonts/archivo/archivo-latin-ext-600-normal.woff +0 -0
  28. package/plugin/fonts/archivo/archivo-latin-ext-700-normal.woff +0 -0
  29. package/plugin/fonts/archivo/archivo-latin-ext-800-normal.woff +0 -0
  30. package/plugin/fonts/archivo/archivo-latin-ext-900-normal.woff +0 -0
  31. package/plugin/fonts/atkinson-hyperlegible-next/OFL.txt +93 -0
  32. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-400-normal.woff +0 -0
  33. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-500-normal.woff +0 -0
  34. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-600-normal.woff +0 -0
  35. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-700-normal.woff +0 -0
  36. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-800-normal.woff +0 -0
  37. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-400-normal.woff +0 -0
  38. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-500-normal.woff +0 -0
  39. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-600-normal.woff +0 -0
  40. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-700-normal.woff +0 -0
  41. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-800-normal.woff +0 -0
  42. package/plugin/fonts/bricolage-grotesque/OFL.txt +93 -0
  43. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-400-normal.woff +0 -0
  44. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-500-normal.woff +0 -0
  45. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-600-normal.woff +0 -0
  46. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-700-normal.woff +0 -0
  47. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-800-normal.woff +0 -0
  48. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-400-normal.woff +0 -0
  49. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-500-normal.woff +0 -0
  50. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-600-normal.woff +0 -0
  51. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-700-normal.woff +0 -0
  52. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-800-normal.woff +0 -0
  53. package/plugin/fonts/dm-serif-display/OFL.txt +93 -0
  54. package/plugin/fonts/dm-serif-display/dm-serif-display-latin-400-normal.woff +0 -0
  55. package/plugin/fonts/dm-serif-display/dm-serif-display-latin-ext-400-normal.woff +0 -0
  56. package/plugin/fonts/familjen-grotesk/OFL.txt +93 -0
  57. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-400-normal.woff +0 -0
  58. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-500-normal.woff +0 -0
  59. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-600-normal.woff +0 -0
  60. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-700-normal.woff +0 -0
  61. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-ext-400-normal.woff +0 -0
  62. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-ext-500-normal.woff +0 -0
  63. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-ext-600-normal.woff +0 -0
  64. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-ext-700-normal.woff +0 -0
  65. package/plugin/fonts/fonts.json +628 -0
  66. package/plugin/fonts/instrument-serif/OFL.txt +93 -0
  67. package/plugin/fonts/instrument-serif/instrument-serif-latin-400-normal.woff +0 -0
  68. package/plugin/fonts/instrument-serif/instrument-serif-latin-ext-400-normal.woff +0 -0
  69. package/plugin/fonts/newsreader/OFL.txt +93 -0
  70. package/plugin/fonts/newsreader/newsreader-latin-400-normal.woff +0 -0
  71. package/plugin/fonts/newsreader/newsreader-latin-500-normal.woff +0 -0
  72. package/plugin/fonts/newsreader/newsreader-latin-600-normal.woff +0 -0
  73. package/plugin/fonts/newsreader/newsreader-latin-700-normal.woff +0 -0
  74. package/plugin/fonts/newsreader/newsreader-latin-800-normal.woff +0 -0
  75. package/plugin/fonts/newsreader/newsreader-latin-ext-400-normal.woff +0 -0
  76. package/plugin/fonts/newsreader/newsreader-latin-ext-500-normal.woff +0 -0
  77. package/plugin/fonts/newsreader/newsreader-latin-ext-600-normal.woff +0 -0
  78. package/plugin/fonts/newsreader/newsreader-latin-ext-700-normal.woff +0 -0
  79. package/plugin/fonts/newsreader/newsreader-latin-ext-800-normal.woff +0 -0
  80. package/plugin/fonts/schibsted-grotesk/OFL.txt +93 -0
  81. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-400-normal.woff +0 -0
  82. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-500-normal.woff +0 -0
  83. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-600-normal.woff +0 -0
  84. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-700-normal.woff +0 -0
  85. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-800-normal.woff +0 -0
  86. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-900-normal.woff +0 -0
  87. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-400-normal.woff +0 -0
  88. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-500-normal.woff +0 -0
  89. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-600-normal.woff +0 -0
  90. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-700-normal.woff +0 -0
  91. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-800-normal.woff +0 -0
  92. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-900-normal.woff +0 -0
  93. package/plugin/fonts/space-mono/OFL.txt +93 -0
  94. package/plugin/fonts/space-mono/space-mono-latin-400-normal.woff +0 -0
  95. package/plugin/fonts/space-mono/space-mono-latin-700-normal.woff +0 -0
  96. package/plugin/fonts/space-mono/space-mono-latin-ext-400-normal.woff +0 -0
  97. package/plugin/fonts/space-mono/space-mono-latin-ext-700-normal.woff +0 -0
  98. package/plugin/fonts/syne/OFL.txt +93 -0
  99. package/plugin/fonts/syne/syne-latin-400-normal.woff +0 -0
  100. package/plugin/fonts/syne/syne-latin-500-normal.woff +0 -0
  101. package/plugin/fonts/syne/syne-latin-600-normal.woff +0 -0
  102. package/plugin/fonts/syne/syne-latin-700-normal.woff +0 -0
  103. package/plugin/fonts/syne/syne-latin-800-normal.woff +0 -0
  104. package/plugin/fonts/syne/syne-latin-ext-400-normal.woff +0 -0
  105. package/plugin/fonts/syne/syne-latin-ext-500-normal.woff +0 -0
  106. package/plugin/fonts/syne/syne-latin-ext-600-normal.woff +0 -0
  107. package/plugin/fonts/syne/syne-latin-ext-700-normal.woff +0 -0
  108. package/plugin/fonts/syne/syne-latin-ext-800-normal.woff +0 -0
  109. package/plugin/fonts/unbounded/OFL.txt +93 -0
  110. package/plugin/fonts/unbounded/unbounded-latin-400-normal.woff +0 -0
  111. package/plugin/fonts/unbounded/unbounded-latin-500-normal.woff +0 -0
  112. package/plugin/fonts/unbounded/unbounded-latin-600-normal.woff +0 -0
  113. package/plugin/fonts/unbounded/unbounded-latin-700-normal.woff +0 -0
  114. package/plugin/fonts/unbounded/unbounded-latin-800-normal.woff +0 -0
  115. package/plugin/fonts/unbounded/unbounded-latin-900-normal.woff +0 -0
  116. package/plugin/fonts/unbounded/unbounded-latin-ext-400-normal.woff +0 -0
  117. package/plugin/fonts/unbounded/unbounded-latin-ext-500-normal.woff +0 -0
  118. package/plugin/fonts/unbounded/unbounded-latin-ext-600-normal.woff +0 -0
  119. package/plugin/fonts/unbounded/unbounded-latin-ext-700-normal.woff +0 -0
  120. package/plugin/fonts/unbounded/unbounded-latin-ext-800-normal.woff +0 -0
  121. package/plugin/fonts/unbounded/unbounded-latin-ext-900-normal.woff +0 -0
  122. package/plugin/fonts/young-serif/OFL.txt +93 -0
  123. package/plugin/fonts/young-serif/young-serif-latin-400-normal.woff +0 -0
  124. package/plugin/fonts/young-serif/young-serif-latin-ext-400-normal.woff +0 -0
  125. package/plugin/fonts/zilla-slab/OFL.txt +93 -0
  126. package/plugin/fonts/zilla-slab/zilla-slab-latin-400-normal.woff +0 -0
  127. package/plugin/fonts/zilla-slab/zilla-slab-latin-500-normal.woff +0 -0
  128. package/plugin/fonts/zilla-slab/zilla-slab-latin-600-normal.woff +0 -0
  129. package/plugin/fonts/zilla-slab/zilla-slab-latin-700-normal.woff +0 -0
  130. package/plugin/fonts/zilla-slab/zilla-slab-latin-ext-400-normal.woff +0 -0
  131. package/plugin/fonts/zilla-slab/zilla-slab-latin-ext-500-normal.woff +0 -0
  132. package/plugin/fonts/zilla-slab/zilla-slab-latin-ext-600-normal.woff +0 -0
  133. package/plugin/fonts/zilla-slab/zilla-slab-latin-ext-700-normal.woff +0 -0
  134. package/plugin/skills/concepts/SKILL.md +4 -4
  135. package/plugin/skills/design/SKILL.md +35 -12
  136. package/plugin/skills/design/references/cli.md +37 -36
  137. package/plugin/skills/design/references/construction.md +34 -1
  138. package/plugin/skills/design/references/design-principles.md +30 -0
  139. package/plugin/skills/export/SKILL.md +4 -2
  140. package/plugin/skills/gallery/SKILL.md +7 -6
@@ -29,8 +29,10 @@ Toolchain: `node "${CLAUDE_PLUGIN_ROOT}/dist/markilo.mjs" <command>` (written `m
29
29
  6. To place assets in the user's project, plan first: `markilo install-assets --brand <slug> --framework auto
30
30
  [--project <dir>]`. It detects Next.js, Laravel, Flutter or a static site and lists where each file goes and what
31
31
  (if anything) the user must add by hand (a head snippet). Show the plan; only with the user's OK re-run with
32
- `--apply` (and `--force` only if they want existing icons replaced — those are backed up to `.markilo-backup/`).
33
- Do not edit their source files; give them the snippet instead.
32
+ `--apply --expect <planId>` (the dry run's `planId`: the apply refuses if the project changed after the user saw
33
+ the plan), and `--force` only if they want existing icons replaced — those are backed up to `.markilo-backup/`.
34
+ Applying is all-or-nothing; `markilo install-assets --undo [--project <dir>]` previews reversing it, `--apply`
35
+ does it (files the user edited since are kept). Do not edit their source files; give them the snippet instead.
34
36
  7. Tell the user where everything is (`exports/`, `asset-manifest.json`, `guidelines/index.html`), that more groups
35
37
  can be added any time (`markilo deliverables --add ios` then `markilo export`), and mention that
36
38
  X (Twitter) header sizes could not be verified against x.com documentation.
@@ -17,13 +17,14 @@ Toolchain: `node "${CLAUDE_PLUGIN_ROOT}/dist/markilo.mjs" <command>` (written `m
17
17
  on this computer, needs the token, serves only the gallery and exported artwork, and stops by itself when idle.
18
18
  Without a background shell, run `markilo gallery` instead: it writes `brand/gallery/index.html`, a self-contained
19
19
  file that works offline; give the user its `file://` URL.
20
- 2. Explain the review flow in two lines: on each concept choose Keep / Refine / Drop, add revision tags or a note, click
21
- on the big mark to pin what should change at that spot, tick "Compare" on two or more concepts to see them side by
22
- side and mark one "Prefer this". Then press **Send to Claude** (served) or **Download decisions** (file) and tell
23
- you when done.
20
+ 2. Explain the review flow in two lines: at the sketch stage, pick one sketch per direction to develop (or "None of
21
+ these"); on each developed concept choose Keep / Refine / Drop, add revision tags or a note, click on the big mark
22
+ to pin what should change at that spot, tick "Compare" on two or more concepts to see them side by side and mark
23
+ one "Prefer this". Then press **Send to your agent** (served) or **Download decisions** (file) and tell you when
24
+ done.
24
25
  3. Read the decisions: `markilo feedback --brand <slug>` (after a download: `markilo feedback --import <file>`). It
25
26
  returns each decision with tags, notes and pinned spots (e.g. "at top-right: thicker stem"), the preferred concept
26
27
  and ready-to-act requests. Repeat them back to the user in one short summary.
27
- 4. Act: `markilo feedback --brand <slug> --apply` marks dropped concepts rejected and kept ones shortlisted (only after
28
- the user confirmed the summary). Log what was decided (`markilo answers`) and continue with the refine skill for
28
+ 4. Act: `markilo feedback --brand <slug> --apply` records sketch picks (the user's pick wins over the critic's) and
29
+ marks dropped concepts rejected and kept ones shortlisted (only after the user confirmed the summary). Log what was decided (`markilo answers`) and continue with the refine skill for
29
30
  each "refine" request — pinned spots tell you where on the mark the change belongs.