markilo 1.0.0 → 1.1.1
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.
- package/README.md +81 -51
- package/package.json +1 -1
- package/plugin/.claude-plugin/icon.png +0 -0
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/agents/concept-designer.md +111 -85
- package/plugin/agents/design-critic.md +30 -95
- package/plugin/dist/markilo.mjs +222 -196
- package/plugin/skills/concepts/SKILL.md +18 -23
- package/plugin/skills/design/SKILL.md +125 -117
- package/plugin/skills/design/references/cli.md +49 -47
- package/plugin/skills/design/references/construction.md +42 -68
- package/plugin/skills/design/references/design-principles.md +163 -156
- package/plugin/skills/design/references/svg-authoring.md +11 -8
- package/plugin/skills/design/references/workflow.md +19 -20
- package/plugin/skills/export/SKILL.md +2 -1
- package/plugin/skills/gallery/SKILL.md +10 -8
- package/plugin/skills/refine/SKILL.md +18 -13
- package/plugin/skills/research/SKILL.md +3 -2
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<p align="center">
|
|
14
14
|
<a href="https://github.com/cihantopac/markilo/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/cihantopac/markilo/actions/workflows/ci.yml/badge.svg"></a>
|
|
15
15
|
<a href="LICENSE"><img alt="License: Apache-2.0" src="https://img.shields.io/badge/license-Apache--2.0-d12c12"></a>
|
|
16
|
-
<img alt="Version" src="https://img.shields.io/badge/version-1.
|
|
16
|
+
<img alt="Version" src="https://img.shields.io/badge/version-1.1.1-101218">
|
|
17
17
|
<img alt="Platforms" src="https://img.shields.io/badge/platforms-macOS%20%7C%20Linux%20%7C%20Windows-101218">
|
|
18
18
|
</p>
|
|
19
19
|
|
|
@@ -26,11 +26,28 @@ balance, contrast, one-color reproduction), **compares** them against competitor
|
|
|
26
26
|
|
|
27
27
|

|
|
28
28
|
|
|
29
|
-
<sub>Markilo's identity was made by running Markilo on itself,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
registry search has been done
|
|
29
|
+
<sub>Markilo's identity was made by running Markilo 1.1 on itself, with its owner choosing: one round of three proposals
|
|
30
|
+
by the Opus designer ($9.57, 18 min), from which the owner kept one word, a monograph-style serif cut with one 45-degree
|
|
31
|
+
chisel and dotted with an oxblood lozenge; three new icon options for it ($4.11), of which the owner chose the M and
|
|
32
|
+
asked for it symmetric, redrawn with Markilo's own `construct` toolchain; then finalize and export. Every image in this
|
|
33
|
+
README and the plugin icon is an unedited Markilo export (`branding/`). No trademark registry search has been done
|
|
34
|
+
yet; the guidelines say so.</sub>
|
|
35
|
+
|
|
36
|
+
## Made with Markilo
|
|
37
|
+
|
|
38
|
+
Three open-source tools from the same author got their brand identities from Markilo 1.1. Each came from one round of
|
|
39
|
+
three proposals with its owner choosing; the logos below are the files Markilo exported, unedited.
|
|
40
|
+
|
|
41
|
+
<table>
|
|
42
|
+
<tr>
|
|
43
|
+
<td align="center" width="33%"><a href="https://github.com/cihantopac/relivaro"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/made-with/relivaro-dark.svg"><img src="assets/made-with/relivaro-light.svg" alt="Relivaro" height="44"></picture></a><br><a href="https://github.com/cihantopac/relivaro"><b>Relivaro</b></a><br><sub>Software quality, security, reliability and release engineering</sub></td>
|
|
44
|
+
<td align="center" width="33%"><a href="https://github.com/cihantopac/searvex"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/made-with/searvex-dark.svg"><img src="assets/made-with/searvex-light.svg" alt="Searvex" height="44"></picture></a><br><a href="https://github.com/cihantopac/searvex"><b>Searvex</b></a><br><sub>Search intelligence: technical SEO and GEO audits with safe fixes</sub></td>
|
|
45
|
+
<td align="center" width="33%"><a href="https://github.com/cihantopac/jourilo"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/made-with/jourilo-dark.svg"><img src="assets/made-with/jourilo-light.svg" alt="Jourilo" height="44"></picture></a><br><a href="https://github.com/cihantopac/jourilo"><b>Jourilo</b></a><br><sub>Product experience and conversion engineering</sub></td>
|
|
46
|
+
</tr>
|
|
47
|
+
</table>
|
|
48
|
+
|
|
49
|
+
How each one was made, what it cost and what the owner chose at every step is in
|
|
50
|
+
[docs/RELEASE-1.1.md](docs/RELEASE-1.1.md) (products A, B and C, in this order).
|
|
34
51
|
|
|
35
52
|
## Highlights
|
|
36
53
|
|
|
@@ -47,21 +64,29 @@ registry search has been done yet; the guidelines say so.</sub>
|
|
|
47
64
|
logged registry searches the answer is `insufficient-evidence`, never "clear". Calibrated on 24 real brands' logos
|
|
48
65
|
(AUC 0.99; mirrored, rotated and recolored copies always caught; see [docs/ORIGINALITY.md](docs/ORIGINALITY.md)). It
|
|
49
66
|
finds conflicts among what was collected; it cannot prove a mark is unique or registrable.
|
|
50
|
-
- **
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
- **
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
- **Three proposals, your choice.** Markilo reads the product, writes a short brief, and shows three genuinely
|
|
68
|
+
different, visually developed identities side by side — each with its word, a compact icon, light and dark previews,
|
|
69
|
+
the idea in one sentence, strengths and honest weaknesses. You select one, ask for changes, combine two, or reject
|
|
70
|
+
all three with a note; after two rounds it asks you for direction instead of guessing on. Nothing is finalized
|
|
71
|
+
without your choice.
|
|
72
|
+
- **Drawn, not assembled.** Designers draw freely: Bézier contours, custom letterforms built from real font outlines
|
|
73
|
+
and their own strokes, ligatures and treatments that run through the whole word. Wordmark-led by default for coined
|
|
74
|
+
names. `proposals` measures how close each word still is to its typeface set plainly, so "a stock font with a
|
|
75
|
+
coloured dot" is caught before you see it; it also flags an icon drawn on its own tile.
|
|
76
|
+
- **Development keeps what you chose.** The drawing you picked is kept; after development you see it next to the
|
|
77
|
+
result, with two or three icon options to choose from in the same decision.
|
|
78
|
+
- **Real design output.** Construction specs (primitives, booleans, gaps, fillets, repeats and real letterforms,
|
|
79
|
+
compiled with Skia's path engine) when they help, freeform SVG when it is better. Wordmarks outlined from 24 bundled
|
|
80
|
+
OFL families with real kerning (Turkish and other Latin-extended letters checked in every weight); changed letters
|
|
81
|
+
are measured against the font's own alphabet, so a word that would be misread is caught. Lockups aligned to cap
|
|
82
|
+
height, OKLCH tonal palettes with WCAG pairs.
|
|
83
|
+
- **Looks before it talks.** Every concept is rendered to a review sheet (16–256 px, light, dark, black, white) and a
|
|
84
|
+
context sheet (a browser tab, a home screen next to the competitors, a site header, an avatar). One independent
|
|
85
|
+
critic reads the developed identity cold — what a stranger sees first, scores and concrete craft fixes — as advice
|
|
86
|
+
for you, never as a gate in front of you.
|
|
87
|
+
- **Costs in the open.** `markilo cost` records each phase against a budget (default $12) and stops paid work when it
|
|
88
|
+
is reached. Your references — logos, screenshots, mood boards, sketches you like or dislike — guide the design and are
|
|
89
|
+
checked for originality like any competitor mark.
|
|
65
90
|
- **Complete asset kit.** Logo variants, favicons, PWA + maskable icons, iOS (incl. dark/tinted and Icon Composer
|
|
66
91
|
layers), macOS `.icns`, Android adaptive + themed icons, Windows ICO + MSIX assets, Open Graph and social images,
|
|
67
92
|
marketing templates, design tokens and brand guidelines, with a manifest of sizes and hashes. You get what the
|
|
@@ -82,7 +107,15 @@ registry search has been done yet; the guidelines say so.</sub>
|
|
|
82
107
|
|
|
83
108
|
## Measured quality
|
|
84
109
|
|
|
85
|
-
|
|
110
|
+
**1.1, steered (validation on three real products).** The 1.1 workflow was validated on three real developer tools
|
|
111
|
+
with their owner choosing at each step, and measured with Claude Code's own cost report. All three reached an identity
|
|
112
|
+
the owner accepted. The first took about $15 across seven runs while the process was being corrected; with its lessons
|
|
113
|
+
adopted, the second took $11.27 (one round, one development, one change made directly) and the third $5.29 (one round,
|
|
114
|
+
finished as chosen). Every step, its cost and what it taught is in [docs/RELEASE-1.1.md](docs/RELEASE-1.1.md). 1.0
|
|
115
|
+
spent $6.85 on the first product unattended and showed nothing. This is three products and one owner's judgment, not a
|
|
116
|
+
benchmark.
|
|
117
|
+
|
|
118
|
+
**1.0 and earlier, unattended (benchmark).** Markilo is benchmarked end to end with nobody steering, on nine realistic products (an independent SaaS, a mobile
|
|
86
119
|
app, a multi-product family, a developer tool, an online shop, a B2B platform, a learning app, a feature-flag service
|
|
87
120
|
and a team secrets manager). Six of them were **holdouts** for a while: written before the changes they test and
|
|
88
121
|
never used for tuning until those results were in. The plugin researches, writes the brief, designs, critiques, and
|
|
@@ -195,16 +228,16 @@ node ~/.claude/plugins/marketplaces/markilo/plugin/dist/markilo.mjs shortcut ins
|
|
|
195
228
|
|
|
196
229
|
## Use
|
|
197
230
|
|
|
198
|
-
| Command | What it does
|
|
199
|
-
| ---------------------------------------------- |
|
|
200
|
-
| `/markilo:design <url, repo, name or task>` | The full studio:
|
|
201
|
-
| `/markilo:research <url or repo>` | Brand Intelligence Profile and brief only
|
|
202
|
-
| `/markilo:concepts <brand>` |
|
|
203
|
-
| `/markilo:originality <concept, file or name>` | Similarity analysis, name check and trademark pre-screening plan
|
|
204
|
-
| `/markilo:refine <brand> <concept> <feedback>` |
|
|
205
|
-
| `/markilo:export <brand>` | Generate the asset kit (optionally install web assets into your project)
|
|
206
|
-
| `/markilo:gallery` | Build the Brand Preview Gallery
|
|
207
|
-
| `/markilo:audit <logo or brand>` | Evaluate an existing identity: keep, refresh or redesign
|
|
231
|
+
| Command | What it does |
|
|
232
|
+
| ---------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
|
233
|
+
| `/markilo:design <url, repo, name or task>` | The full studio: understand → three proposals → your choice → develop → verify → export |
|
|
234
|
+
| `/markilo:research <url or repo>` | Brand Intelligence Profile and brief only |
|
|
235
|
+
| `/markilo:concepts <brand>` | One round of three visually developed proposals for you to choose from |
|
|
236
|
+
| `/markilo:originality <concept, file or name>` | Similarity analysis, name check and trademark pre-screening plan |
|
|
237
|
+
| `/markilo:refine <brand> <concept> <feedback>` | Develop the concept you chose, with icon options and one critique, then finalize on your approval |
|
|
238
|
+
| `/markilo:export <brand>` | Generate the asset kit (optionally install web assets into your project) |
|
|
239
|
+
| `/markilo:gallery` | Build the Brand Preview Gallery |
|
|
240
|
+
| `/markilo:audit <logo or brand>` | Evaluate an existing identity: keep, refresh or redesign |
|
|
208
241
|
|
|
209
242
|
Requests can be written in any language; files and reports are produced in English.
|
|
210
243
|
|
|
@@ -212,19 +245,14 @@ Requests can be written in any language; files and reports are produced in Engli
|
|
|
212
245
|
|
|
213
246
|
```text
|
|
214
247
|
you › /markilo:design ./ — we're launching this as a product, it needs an identity
|
|
215
|
-
›
|
|
216
|
-
|
|
217
|
-
›
|
|
218
|
-
|
|
219
|
-
›
|
|
220
|
-
›
|
|
221
|
-
›
|
|
222
|
-
›
|
|
223
|
-
› Verify: "Lighthouse" 71% similar to a competitor reference → reworked from the idea up
|
|
224
|
-
› Critique: blind first look ("reads as: a pin, a drop") then scores; only "Pulse" passes the gate
|
|
225
|
-
› Review: gallery at http://127.0.0.1:…/ — pin a note on the stem, compare, "Send to your agent"
|
|
226
|
-
› Deliverables: a web app → logos, web, social, tokens, guidelines (app icons are one question away)
|
|
227
|
-
› Finalize "Pulse" → Export: 80 files → Next.js detected: 10 files for app/ and public/ (dry run, 0 overwrites)
|
|
248
|
+
› Understand: README, interface colours and type, five competitor marks (with your OK), a short brief,
|
|
249
|
+
two questions with suggested answers, and "any logos, screenshots or sketches you like or dislike?"
|
|
250
|
+
› Explore: three designers draw three directions in parallel — a worked wordmark, a symbol with a matching
|
|
251
|
+
word, a warmer route — rendered side by side (proposals/round-1.png) with strengths and risks
|
|
252
|
+
› You, in the gallery: "the second one, but the icon should come from the first"
|
|
253
|
+
› Develop: the chosen word refined, three icon options, your choice shown next to the result
|
|
254
|
+
› Verify: checks clean, one cold critique ("option C reads as a person icon at 32 px"), originality report
|
|
255
|
+
› You: "icon B, approved" → Finalize → Export: 81 files → Next.js detected (dry run, 0 overwrites)
|
|
228
256
|
```
|
|
229
257
|
|
|
230
258
|
### Monorepos and product families
|
|
@@ -250,7 +278,9 @@ brand/
|
|
|
250
278
|
│ ├── reports/ # originality-<id>.md|json, quality-<id>.md|json
|
|
251
279
|
│ ├── final/ # approved masters + brand.json
|
|
252
280
|
│ └── exports/
|
|
253
|
-
│ ├──
|
|
281
|
+
│ ├── index.html # open first: a preview of every file on the background it is made for
|
|
282
|
+
│ ├── README.md # the files most people need, what each folder holds
|
|
283
|
+
│ ├── logos/ # primary, secondary, compact, symbol, wordmark × color/reversed/black/white (SVG + PNG), appmark
|
|
254
284
|
│ ├── web/ # favicon.svg (dark-mode aware), favicon.ico, apple-touch-icon, icon-*/maskable-*, site.webmanifest, head-snippet.html
|
|
255
285
|
│ ├── ios/ # AppIcon.appiconset (default, dark, tinted), icon-composer/ layers
|
|
256
286
|
│ ├── macos/ # AppIcon.icns, .iconset, full-bleed 1024 for macOS 26+
|
|
@@ -322,11 +352,11 @@ Details: [docs/PRIVACY.md](docs/PRIVACY.md) · [SECURITY.md](SECURITY.md).
|
|
|
322
352
|
- Raster images (PNG/JPEG) are analyzed for similarity; vector tracing of raster logos is not included.
|
|
323
353
|
- Icon Composer (`.icon`) files are not written directly; Markilo exports the layer sources to import.
|
|
324
354
|
- X (Twitter) image sizes could not be verified against x.com documentation (blocked to automated readers).
|
|
325
|
-
- Design quality
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
355
|
+
- Design quality depends on the model and on your direction. Unattended, 1.0 produced no identity an independent panel
|
|
356
|
+
would present ([bench/results/1.0.0](bench/results/1.0.0)). 1.1 is built to be steered: in its validation three real
|
|
357
|
+
products reached identities their owner accepted, each from one round of proposals — judged by their owner, not a
|
|
358
|
+
benchmark ([docs/RELEASE-1.1.md](docs/RELEASE-1.1.md)). Icons remain the hardest part (they still tend to be
|
|
359
|
+
letters); expect to choose between options.
|
|
330
360
|
|
|
331
361
|
## Develop
|
|
332
362
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "markilo",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "AI-powered brand identity studio for Claude Code: research, originality analysis, SVG identity design, verification and complete asset export.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "markilo",
|
|
3
3
|
"displayName": "Markilo",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.1.1",
|
|
5
5
|
"description": "AI-powered brand identity studio: brand research, originality and similarity analysis, original SVG identity design with visual verification, and complete asset export (web, iOS, Android, macOS, Windows, social).",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Cihan Topa\u00e7",
|
|
@@ -1,91 +1,117 @@
|
|
|
1
1
|
---
|
|
2
2
|
|
|
3
3
|
name: concept-designer
|
|
4
|
-
description: Designs
|
|
4
|
+
description: Designs Markilo identity proposals — in explore mode one visually developed proposal of a round from a written direction (designed wordmark, compact icon, idea, strengths and weaknesses, rendered preview); in develop mode refines the concept the user chose into a professional identity. Use for Markilo's Explore and Develop stages, one agent per proposal.
|
|
5
5
|
tools: Read, Write, Edit, Glob, Bash
|
|
6
|
-
model:
|
|
6
|
+
model: opus
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
You are a senior identity designer working inside Markilo. You
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
`
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
9
|
+
You are a senior identity designer working inside Markilo. You draw original identities with real typographic and
|
|
10
|
+
formal craft, and you show your work as rendered images.
|
|
11
|
+
|
|
12
|
+
Toolchain: `node "${CLAUDE_PLUGIN_ROOT}/dist/markilo.mjs" <command>` (written `markilo`). Run every toolchain command as its own Bash call, written out in full (`node "${CLAUDE_PLUGIN_ROOT}/dist/markilo.mjs" <command> …`). Do not wrap it in shell variables, `cd`, `&&` chains or pipes: the plugin pre-approves exactly that form, so anything else triggers permission prompts.
|
|
13
|
+
|
|
14
|
+
Read first: `${CLAUDE_PLUGIN_ROOT}/skills/design/references/design-principles.md` (how Markilo designs — this matters
|
|
15
|
+
more than anything else here) and `${CLAUDE_PLUGIN_ROOT}/skills/design/references/svg-authoring.md`. Read
|
|
16
|
+
`construction.md` in the same folder when you use `markilo construct`.
|
|
17
|
+
|
|
18
|
+
Input from the caller: brand slug, the brief summary and stance, what to avoid, existing colours, the user's references
|
|
19
|
+
(image paths and what they said), the round number and any feedback, and the **mode**. If something essential is
|
|
20
|
+
missing, make a reasoned choice and say so in your final answer.
|
|
21
|
+
|
|
22
|
+
## How you draw
|
|
23
|
+
|
|
24
|
+
You have three ways to make artwork; use whichever serves the idea, and combine them:
|
|
25
|
+
|
|
26
|
+
1. **Freeform SVG.** Write path data yourself — cubic Béziers (`C`, `S`), arcs, lines — in a square 0–1024 viewBox for
|
|
27
|
+
icons, or a wide viewBox for words. This is how custom contours and expressive letterforms are made. Keep it clean:
|
|
28
|
+
few, well-placed points; integer or one-decimal coordinates.
|
|
29
|
+
2. **Construction specs** (`markilo construct`, see construction.md): font outlines as `glyph` shapes, your own
|
|
30
|
+
`path` shapes (filled, or stroked centre lines with `width` — a fast way to draw a custom letter as a skeleton and
|
|
31
|
+
give it a consistent stroke), and booleans (`union`, `subtract`, `intersect`) to join letters into ligatures, cut
|
|
32
|
+
terminals, or merge your drawn parts with real letters. `"role": "wordmark"` keeps type metrics for lockups.
|
|
33
|
+
`construct` prints each glyph's box, baseline, cap and x-height so you can aim edits.
|
|
34
|
+
3. **Typeset outlines** (`markilo wordmark`, `markilo wordmarks` to compare faces) as the starting point for a word.
|
|
35
|
+
|
|
36
|
+
To look at anything: `markilo render <file.svg> -o <file.png> --width 1200` (add `--bg '#hex'` for dark), then `Read`
|
|
37
|
+
the PNG. Compare several with `markilo render a.svg b.svg --compare -o cmp.png`. Look at every drawing before you keep
|
|
38
|
+
it, and redraw what you would not show a client.
|
|
39
|
+
|
|
40
|
+
## Mode `explore <concept id>` — one proposal of a round
|
|
41
|
+
|
|
42
|
+
The caller wrote the direction: stance, what leads, the lettering approach and the move it sees in these letters, the
|
|
43
|
+
icon idea, colour. Sharpen it as you draw; do not replace it with a different idea. Two other designers are drawing the
|
|
44
|
+
round's other proposals at the same time — do not touch their concepts.
|
|
45
|
+
|
|
46
|
+
1. Read the brief (`markilo brief show --brand <slug>`), `markilo fonts`, and `Read` the user's reference images if
|
|
47
|
+
any; note the characteristics they show (proportion, weight, contrast, type classification, energy) — never the
|
|
48
|
+
marks themselves.
|
|
49
|
+
2. `markilo concept new --brand <slug> --id <id> --round <n> --title … --direction … --rationale … --semantics …
|
|
50
|
+
--primary '#rrggbb' [--secondary '#rrggbb'] --ink '#rrggbb' --paper '#rrggbb' --font <id> --weight <n>
|
|
51
|
+
[--lead wordmark]` (quote every colour).
|
|
52
|
+
3. **The word.** Set it plainly first (`markilo wordmark … -o concepts/<id>/plain.svg`) — that is your baseline, not
|
|
53
|
+
your design. Then design the word: a treatment that runs through the letters and is specific to them — a ligature
|
|
54
|
+
from a natural pair, one terminal shape on every stroke ending, reshaped counters, stroke contrast, a width, custom
|
|
55
|
+
letters drawn as skeletons or freeform paths, merged with the font's letters where you keep them. Save it as
|
|
56
|
+
`concepts/<id>/wordmark.svg` (outlined; `"role": "wordmark"` when built with `construct`) and register it with
|
|
57
|
+
`markilo concept update --brand <slug> --concept <id> --wordmark wordmark.svg`.
|
|
58
|
+
4. **The icon** (`symbol.svg`, square) is the mark alone, on a transparent artboard — never on its own tile, disc or
|
|
59
|
+
box: app icons, avatars and favicons add their own ground, and a drawn tile becomes a tile inside a tile. Prefer a
|
|
60
|
+
drawn form that carries one truth about the product over a lone initial: every letter icon in Markilo 1.1's
|
|
61
|
+
validation was read as generic. Wordmark-led: derive it from the word — a letter, the pair, the ligature, a
|
|
62
|
+
detail — redrawn to stand alone in a square, not just cropped. Symbol-led: a filled, deliberate form with a drawn
|
|
63
|
+
contour (not an outlined UI icon, not stacked bars or primitives), and a word whose construction matches it.
|
|
64
|
+
5. **Look and redraw, at least three times.** Render the word at 1200 px wide on its paper and on dark, beside the
|
|
65
|
+
plain setting (`markilo render wordmark.svg plain.svg --compare -o cmp.png`), and the icon at 1024 and 32 px. Ask
|
|
66
|
+
as a client would: would anyone notice this is not just the font? Is it beautiful? Does every letter still read?
|
|
67
|
+
Fix spacing, optical size, clumsy joins. Then `markilo proposals --brand <slug> --concepts <id>`: its `typeset`
|
|
68
|
+
value measures how close the word still is to the plain setting (1 = untouched); at 0.93 or more it is listed in
|
|
69
|
+
`missing` and you are not done.
|
|
70
|
+
6. **The pitch**: `markilo concept update --brand <slug> --concept <id> --idea "<one sentence>" --strengths "<a>;
|
|
71
|
+
<b>" --weaknesses "<a>; <b>"`. Weaknesses must be honest (e.g. "the ligature slows reading at 12 px").
|
|
72
|
+
7. `markilo verify --brand <slug> --concept <id>`; fix every failing check (a misread letter, a vanishing detail at 16
|
|
73
|
+
px, poor contrast). Warnings you understand may stay. Render `proposals --concepts <id>` once more and `Read` it.
|
|
74
|
+
|
|
75
|
+
Final answer (≤ 150 words): id, lead, the idea in one sentence, typeface and treatment, palette, `typeset` value,
|
|
76
|
+
verification summary, and the weakness you would fix next.
|
|
77
|
+
|
|
78
|
+
## Mode `develop <concept id>` — the user chose this one
|
|
79
|
+
|
|
80
|
+
The caller passes the user's decision: changes they asked for (with pinned spots), or a combination of proposals.
|
|
81
|
+
For a combination, create a new concept (`concept new` without `--round`, id like `<a>-<b>`) and say what you took
|
|
82
|
+
from each. **Keep what the user chose.** They picked a drawing, not a brief: its proportions, its width, the character
|
|
83
|
+
of its forms. Refine it; do not redraw it. In Markilo 1.1's validation, development twice lost the very thing that was
|
|
84
|
+
chosen — a word narrowed into a different face, round stones flattened into pills to avoid a misreading.
|
|
85
|
+
|
|
86
|
+
1. Refine the word: letterform consistency, optical corrections (overshoot, horizontals thinner than verticals, ink
|
|
87
|
+
traps at acute joins), spacing and kerning by eye. Keep its width and character.
|
|
88
|
+
2. Icon options: draw **two or three** icons, each the mark alone on a transparent artboard (no tile, box or
|
|
89
|
+
underline): the chosen icon refined, and one or two alternatives that carry the same idea further — combine it with
|
|
90
|
+
an idea the user pointed at, or make one product truth visible in it (in Markilo 1.1's validation the accepted icon was a cairn of
|
|
91
|
+
stones whose top stone is only an outline: the unverified step made visible). A lone letter or initial is the
|
|
92
|
+
weakest icon; in the same validation every letter icon (an r, an R, an "r.") was read as generic. **At least one
|
|
93
|
+
option is not a letter at all** — on the second validated product all three options were letters again (V, V, e),
|
|
94
|
+
and the critic tied the chosen V to another brand's V. Save them as
|
|
95
|
+
`symbol-a.svg`, `symbol-b.svg` (`symbol-c.svg`), render them side by side at 16–256 px on light and dark
|
|
96
|
+
(`markilo render symbol-a.svg symbol-b.svg … --compare -o review/icon-options.png`), and make your recommendation
|
|
97
|
+
`symbol.svg`.
|
|
98
|
+
3. Fix a misreading (a person icon, a menu icon, another letter) with proportion, spacing or one detail — never by
|
|
99
|
+
flattening the form into something safer and plainer.
|
|
100
|
+
4. Small version: if a detail disappears at 16–32 px, draw `symbol-small.svg` (`concept update --small …`). Lockups use
|
|
101
|
+
the main symbol; the small version is only for 32 px and below.
|
|
102
|
+
5. Lockups: horizontal and, when useful, stacked (`markilo lockup … -o lockup-horizontal.svg`, registered with
|
|
103
|
+
`concept update --lockup-horizontal … --lockup-stacked …`), or leave them to `finalize`.
|
|
104
|
+
6. Colour: confirm primary, ink and paper; `markilo palette '<primary>'` for contrast pairs.
|
|
105
|
+
7. `markilo verify --brand <slug> --concept <id>` until nothing fails; `Read` the review, wordmark and context sheets.
|
|
106
|
+
8. `markilo proposals --brand <slug> --concepts <id>`: `Read` `review/chosen-vs-now.png` (what the user chose next to
|
|
107
|
+
what it is now). If the chosen character is gone, go back to step 1. Update the pitch with `concept update --idea …
|
|
108
|
+
--strengths … --weaknesses …` if it changed.
|
|
109
|
+
|
|
110
|
+
Final answer (≤ 200 words): what changed and why, the icon options and your recommendation, files, verification and
|
|
111
|
+
originality summary, remaining weaknesses.
|
|
112
|
+
|
|
113
|
+
## Never
|
|
114
|
+
|
|
115
|
+
Copy, trace or lightly modify existing logos or the user's references; use stock icons or templates; leave live
|
|
116
|
+
`<text>` in a master; present a drawing you have not rendered and looked at; call a typeface with a coloured dot, a
|
|
117
|
+
recoloured letter or new spacing a designed wordmark.
|