markilo 1.0.0 → 1.1.2
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 +88 -304
- package/package.json +5 -3
- package/plugin/.claude-plugin/icon.png +0 -0
- package/plugin/.claude-plugin/plugin.json +2 -2
- package/plugin/agents/concept-designer.md +111 -85
- package/plugin/agents/design-critic.md +30 -95
- package/plugin/dist/markilo.mjs +379 -285
- 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 +11 -8
- package/plugin/skills/refine/SKILL.md +18 -13
- package/plugin/skills/research/SKILL.md +3 -2
|
@@ -1,163 +1,170 @@
|
|
|
1
|
-
# Designing
|
|
2
|
-
|
|
3
|
-
This is
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
-
|
|
107
|
-
- **
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
1
|
+
# Designing identities worth choosing
|
|
2
|
+
|
|
3
|
+
This is how Markilo designs. It describes what good work looks like, not a recipe: use judgment, and break a
|
|
4
|
+
recommendation when the work is better for it. Only the technical rules (SVG validity, legibility, safety, originality)
|
|
5
|
+
are fixed — see `svg-authoring.md` and `originality.md`.
|
|
6
|
+
|
|
7
|
+
## What Markilo 1.0 got wrong, so you don't repeat it
|
|
8
|
+
|
|
9
|
+
An independent panel looked at 81 concepts from Markilo 1.0 and would present none. They were not sloppy; they were
|
|
10
|
+
mechanical. The process asked designers to assemble marks from primitives (rings, bars, cuts), to start from what a
|
|
11
|
+
stranger sees in a 32 px favicon, to change "one or two letters" of a stock typeface, and to avoid a long list of
|
|
12
|
+
rejected patterns. The results were what those instructions produce:
|
|
13
|
+
|
|
14
|
+
- **UI icons** — a metaphor (a round trip, a keystone, a gauge) drawn with uniform strokes on an icon grid reads as a
|
|
15
|
+
button, not a brand.
|
|
16
|
+
- **Primitive geometry** — a circle, a bar and a gap, however clean, is a shape, not a drawing.
|
|
17
|
+
- **Weak monograms** — the initial with a slice, offset or step.
|
|
18
|
+
- **Stock wordmarks** — a neutral grotesque with one letter tweaked or a coloured dot added.
|
|
19
|
+
- **Literal metaphors** — the product's mechanism drawn as a diagram.
|
|
20
|
+
|
|
21
|
+
The fix is not more rules. It is designing the way identity designers do: a point of view first, then drawing with
|
|
22
|
+
intent, then craft.
|
|
23
|
+
|
|
24
|
+
## Start from a point of view
|
|
25
|
+
|
|
26
|
+
Before drawing, decide what the identity should _feel_ like to the people who will see it every day — and what it must
|
|
27
|
+
not feel like. Write it as a stance, not a metaphor: "quiet authority — a tool that is sure of itself and never
|
|
28
|
+
shouts", "editorial precision, like a well-set technical book", "warm, hand-made confidence". The stance chooses the
|
|
29
|
+
typeface, the weight, the proportions, the colour and the kind of form; the metaphor, if there is one, comes second.
|
|
30
|
+
|
|
31
|
+
A strong identity usually has **one distinctive idea, executed with consistency**: a particular letter construction
|
|
32
|
+
carried through the word, a contour that is unmistakably drawn, a rhythm, a proportion. It does not need to explain
|
|
33
|
+
the product. Most identities people remember say almost nothing literal.
|
|
34
|
+
|
|
35
|
+
## Wordmark first, especially for coined names
|
|
36
|
+
|
|
37
|
+
For a coined or distinctive name (most software products), the word itself is usually the strongest identity: it says
|
|
38
|
+
the name every time, it cannot be mistaken for a UI icon, and type is where character is easiest to make ownable.
|
|
39
|
+
Default to a wordmark-led proposal unless the brief calls for a symbol above all; a separate symbol is never mandatory.
|
|
40
|
+
The compact icon (favicon, app icon, avatar) is then derived from the word — a letter, a pair, a ligature or a detail of
|
|
41
|
+
the drawing — not invented separately.
|
|
42
|
+
|
|
43
|
+
**A wordmark is designed, not typeset.** Typing the name in a font is the starting point. Then make it yours:
|
|
44
|
+
|
|
45
|
+
- **Choose the face for character, not neutrality.** Inter, Manrope and DM Sans are excellent for interfaces and
|
|
46
|
+
forgettable as logos. Look for a face whose construction already says the stance (`markilo fonts` lists traits);
|
|
47
|
+
then push it.
|
|
48
|
+
- **Work the whole word, not one letter.** A treatment that runs through every letter reads as intent; a single
|
|
49
|
+
modified letter on a stock word reads as a gimmick. Examples of whole-word decisions: one terminal shape repeated on
|
|
50
|
+
every stroke ending; a consistent cut angle; stroke contrast (thick verticals, thin joins); a unified x-height and
|
|
51
|
+
counter shape; a width (condensed, extended) that gives the word a silhouette.
|
|
52
|
+
- **Find the word's own opportunities.** Look at the actual letters: which pairs could share a stroke or form a
|
|
53
|
+
ligature (rl, li, va, ar, ex), which counters could be reshaped consistently, where an ascender or descender could
|
|
54
|
+
extend, where the word's rhythm (stems and rounds) creates a pattern worth emphasising. These moves are specific to
|
|
55
|
+
this name, which is what makes them ownable.
|
|
56
|
+
- **Draw custom letters when the face cannot say it.** Build letters from the font's outlines and your own Bézier
|
|
57
|
+
paths (`construct` with `glyph` and `path`, booleans to join or cut), or draw them fully custom. A custom `R`, `a` or
|
|
58
|
+
`x` with a distinctive construction, repeated logic in the other letters, beats any off-the-shelf face.
|
|
59
|
+
- **Space it by eye.** Tight, even colour across the word; open the pairs that clump (rn, ri), close the ones that gap
|
|
60
|
+
(Va, ro). Optical kerning is the difference between "set in a font" and "a logo".
|
|
61
|
+
- **Case is a decision.** Lowercase is approachable and modern; capitals are institutional; mixed case keeps a coined
|
|
62
|
+
name readable.
|
|
63
|
+
- **Stay readable.** Every letter must still be the letter it is — at 12 px and in a header. A wordmark that has to be
|
|
64
|
+
explained has failed.
|
|
65
|
+
|
|
66
|
+
## Symbols: drawn, not assembled
|
|
67
|
+
|
|
68
|
+
When a proposal is symbol-led, draw a form, not a diagram:
|
|
69
|
+
|
|
70
|
+
- **Use freeform paths and Bézier curves.** Write the `d` attribute directly in a 1024-unit square, or construct parts
|
|
71
|
+
and then redraw the contour. Curves with deliberate tension — a contour that speeds up and slows down — read as
|
|
72
|
+
drawn; arcs of one radius joined to straight bars read as an icon set.
|
|
73
|
+
- **Prefer solid, filled silhouettes** with a distinctive outline and purposeful negative space over outlined line
|
|
74
|
+
icons. Uniform strokes with round caps on a square grid are the visual language of interface icons; avoid it unless
|
|
75
|
+
the stance demands it.
|
|
76
|
+
- **Abstract is allowed.** An abstract form with the right energy (balanced, tense, organic, asymmetric, heavy, light)
|
|
77
|
+
can carry an identity better than a literal picture. It must still be specific: a form you could recognise again,
|
|
78
|
+
not a generic blob or swoosh.
|
|
79
|
+
- **Asymmetry and organic geometry are tools**, not mistakes. Perfect symmetry and primitive geometry are tools too —
|
|
80
|
+
choose them on purpose.
|
|
81
|
+
- **If there is a metaphor, transform it.** The product's own object (a document, a chart, a check mark, a shield, a
|
|
82
|
+
magnifying glass, a funnel) drawn plainly is what every competitor already uses. Use an idea only when the drawing
|
|
83
|
+
adds something the obvious version does not have.
|
|
84
|
+
|
|
85
|
+
## Three proposals that are genuinely different
|
|
86
|
+
|
|
87
|
+
A round is three proposals that differ in kind, not three variations of one shape. Vary at least two of: what leads
|
|
88
|
+
(word or symbol), the stance, the typeface family (grotesque, humanist, geometric, serif, custom), the form language
|
|
89
|
+
(geometric, organic, calligraphic, engineered), and colour. A useful default mix:
|
|
90
|
+
|
|
91
|
+
1. **A wordmark-led identity** with a fully worked word and an icon derived from it.
|
|
92
|
+
2. **A symbol + wordmark** where the symbol is a drawn, ownable form and the word is set with care to match it.
|
|
93
|
+
3. **A bolder or unexpected route** — a typographic emblem, an abstract system, an editorial serif, a monogram so well
|
|
94
|
+
drawn it becomes a mark — something the user might not have asked for and might love.
|
|
95
|
+
|
|
96
|
+
Adapt the mix to the brief. If the user's references point somewhere, at least one proposal should go there. Let one
|
|
97
|
+
proposal be warmer or more human than the category expects: on a release-engineering tool whose brief said
|
|
98
|
+
"rigorous, calm", the owner chose a hand-tooled humanist word and a cairn of stones over two engineered routes.
|
|
99
|
+
|
|
100
|
+
## What an accepted identity teaches (the bar for "good enough")
|
|
101
|
+
|
|
102
|
+
In Markilo 1.1's validation the owner of a real release-engineering tool accepted this identity after one round of
|
|
103
|
+
proposals, a development pass and a choice between icon options:
|
|
104
|
+
|
|
105
|
+
- **The word had a hand.** A humanist face (Alegreya Sans) softened and tooled across every letter, with a pebble for
|
|
106
|
+
the i-dot: typeset likeness 0.77 — visibly not the font, still effortless to read.
|
|
107
|
+
- **The icon was an object with character plus one product truth.** Stones at rest (a trail marker: someone checked
|
|
108
|
+
this way), the top stone drawn only as an outline — the product's "unverified is a state, never a silent pass" made visible. Letter icons
|
|
109
|
+
(an r, an R, an "r.") were all read as generic; stacked bars read as a menu.
|
|
110
|
+
- **The user combined.** The outline came from an earlier, otherwise rejected proposal. Ideas that lose as a whole
|
|
111
|
+
often carry the detail that wins — keep them visible in the gallery.
|
|
112
|
+
- **Development keeps the choice.** Two development passes lost what was chosen (a narrowed word, stones flattened into
|
|
113
|
+
pills); the version the owner accepted refined the chosen drawing and offered icon options instead.
|
|
114
|
+
|
|
115
|
+
## Craft
|
|
116
|
+
|
|
117
|
+
- **Optical corrections.** Round forms overshoot flat ones by 1–3 %; horizontals are slightly thinner than verticals;
|
|
118
|
+
the optical centre sits a little above the geometric one; acute joins need opening (ink traps) at small sizes.
|
|
119
|
+
- **Consistency.** One stroke-contrast logic, one corner logic, one terminal logic across word and icon.
|
|
120
|
+
- **Small sizes are a check, not the starting point.** Design at display size; then confirm the icon still reads at
|
|
121
|
+
16–32 px. If a detail matters only large, make a simplified small version rather than coarsening the main mark.
|
|
122
|
+
- **Monochrome first.** The identity must work in one colour; colour is added to a form that already works.
|
|
123
|
+
- **Restraint.** Every element earns its place. Decoration is not character.
|
|
124
|
+
|
|
125
|
+
## Colour
|
|
126
|
+
|
|
127
|
+
One confident primary, an optional supporting colour, ink and paper. Pick colour from the stance and the product's
|
|
128
|
+
existing interface (an existing UI palette is equity), check contrast (≥ 3:1 for the mark, `markilo palette` reports
|
|
129
|
+
WCAG pairs) and cultural meaning in the target markets. Prefer a palette that still works in greyscale.
|
|
130
|
+
|
|
131
|
+
## User references
|
|
132
|
+
|
|
133
|
+
When the user shares logos, screenshots, mood boards, sketches or identities they like or dislike
|
|
134
|
+
(`markilo reference add --category inspiration|dislike|existing`), read them for **characteristics**: proportion,
|
|
135
|
+
weight, contrast, typeface classification, case, spacing, corner and terminal shapes, density, energy, colour
|
|
136
|
+
temperature. Write those down and design from them. Never reproduce a referenced mark or its distinctive device;
|
|
137
|
+
references are compared in the originality check like any competitor mark. A sketch from the user is an idea to
|
|
138
|
+
develop, credited to them. Without references, design from the brief — references help, they are never required.
|
|
139
|
+
|
|
140
|
+
## Avoid (short list)
|
|
141
|
+
|
|
142
|
+
The category's clichés named in the brief; the product's object drawn plainly; outlined line icons; a stock face
|
|
143
|
+
untouched; one tweaked letter or a coloured dot on an otherwise stock word; the initial with a slice or offset as the
|
|
144
|
+
whole idea; gradient blobs, swooshes, connected dots, generic arrows and check marks.
|
|
145
|
+
|
|
146
|
+
## Typography notes
|
|
147
|
+
|
|
148
|
+
- Bundled faces are SIL OFL 1.1 (commercial use allowed; outlined logos carry no font obligations). `markilo fonts`
|
|
149
|
+
lists them with traits; with network approval `markilo fonts search` / `fonts add` reach ~1,800 open-licensed
|
|
150
|
+
families. Record any user-supplied font and its license.
|
|
151
|
+
- Check every letter pair for confusion (rn → m, cl → d, Il1) and diacritics in target markets (Turkish İ/ı, ş, ğ;
|
|
152
|
+
German ß; Nordic å/ø). Use `--locale tr` for Turkish casing.
|
|
153
|
+
- Wordmarks are always outlined (no live `<text>`).
|
|
140
154
|
|
|
141
155
|
## Refresh vs. redesign
|
|
142
156
|
|
|
143
|
-
Keep equity that exists
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
(legibility, originality conflict, scalability), contradicts the positioning, or the business changed.
|
|
147
|
-
State which one you recommend and why, with evidence.
|
|
157
|
+
Keep equity that exists: list what people already recognise (shape, colour, letter, sound) before changing it. A
|
|
158
|
+
refresh keeps the idea and improves craft; a redesign is justified when the current mark fails measurably, contradicts
|
|
159
|
+
the positioning, or the business changed. Recommend one with evidence.
|
|
148
160
|
|
|
149
|
-
## Families
|
|
161
|
+
## Families
|
|
150
162
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
- Each product gets its own idea expressed in the shared language. Family members should be clearly
|
|
154
|
-
related at a glance and clearly distinguishable at 16 px. Check both with `markilo diversity` per brand
|
|
155
|
-
and by comparing members with `markilo compare`.
|
|
156
|
-
- Architecture: decide master brand vs. endorsed vs. independent per product, and record it (`--role`,
|
|
157
|
-
`--parent`).
|
|
158
|
-
- Preserved (locked) members are inputs to the system, not things to change.
|
|
163
|
+
Define the shared system first (type, stroke and corner logic, colour logic, one structural motif), then give each
|
|
164
|
+
product its own expression inside it. Members must be related at a glance and distinct at 16 px.
|
|
159
165
|
|
|
160
|
-
## Judgment criteria (
|
|
166
|
+
## Judgment criteria (used in the final review)
|
|
161
167
|
|
|
162
|
-
brand-fit, semantic-relevance, distinctiveness, memorability, simplicity, balance, craft (geometry and
|
|
163
|
-
|
|
168
|
+
brand-fit, semantic-relevance, distinctiveness, memorability, simplicity, balance, craft (geometry and optical
|
|
169
|
+
alignment), typography, color, cultural-fit, timelessness, premium-perception, versatility. Scores inform; the user
|
|
170
|
+
decides.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# SVG authoring rules for Markilo masters
|
|
2
2
|
|
|
3
|
-
`markilo svg lint --master` and `markilo verify` enforce these.
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
`markilo svg lint --master` and `markilo verify` enforce these. Write SVG by hand — freeform paths and Bézier curves
|
|
4
|
+
are first-class — or build it with `markilo construct` (`construction.md`), which produces masters that already follow
|
|
5
|
+
these rules. Either way, the rules below are fixed: they keep masters valid, safe, legible and exportable.
|
|
6
6
|
|
|
7
7
|
## Required
|
|
8
8
|
|
|
@@ -23,9 +23,10 @@ construction shape can express.
|
|
|
23
23
|
- Snap coordinates to the construction grid; use integers or one decimal where possible.
|
|
24
24
|
- Keep the mark inside the artboard with a small margin: ink should span 80–98% of the viewBox.
|
|
25
25
|
- Use `fill-rule="evenodd"` for counters (holes) inside one path when it keeps the path simple.
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
-
|
|
26
|
+
- Draw curves with a few precise cubic Béziers: place points at extremes (top, bottom, left, right of a curve) with
|
|
27
|
+
horizontal or vertical handles where the curve turns; that is how type designers draw smooth contours. Avoid
|
|
28
|
+
auto-traced noise; verify reports complexity.
|
|
29
|
+
- Keep one logic for corners (sharp, one radius family, or soft) across the mark and its word.
|
|
29
30
|
- For overlaps that should read as separate parts in one color, cut a real gap: ≥ 1/13 of the artboard (≥ 80 units
|
|
30
31
|
on 1024), which is 1.2 px at 16 px — the verify threshold. Under 1/23 (~45 units) fails.
|
|
31
32
|
|
|
@@ -41,8 +42,10 @@ construction shape can express.
|
|
|
41
42
|
|
|
42
43
|
## Wordmarks and lockups
|
|
43
44
|
|
|
44
|
-
-
|
|
45
|
-
baseline
|
|
45
|
+
- Start from `markilo wordmark --text … --font … --weight … -o wordmark.svg` or a construct spec with
|
|
46
|
+
`"role": "wordmark"`; both embed `data-baseline`, `data-cap-height` and `data-x-height` used by `markilo lockup` and
|
|
47
|
+
`finalize`. A wordmark drawn fully by hand needs `data-markilo-role="wordmark"`, `data-baseline` and
|
|
48
|
+
`data-cap-height` on its root (in its own viewBox units) so lockups align it.
|
|
46
49
|
- Tune tracking in thousandths of an em (`--tracking=-15` tight display, `0` default, `+40` airy caps).
|
|
47
50
|
- Manual letter edits are allowed after generation: edit individual `<path data-char="…">` elements and
|
|
48
51
|
keep the root attributes.
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
## Stage gates
|
|
4
4
|
|
|
5
|
-
| Stage
|
|
6
|
-
|
|
|
7
|
-
|
|
|
8
|
-
|
|
|
9
|
-
|
|
|
10
|
-
|
|
|
11
|
-
|
|
|
12
|
-
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
5
|
+
| Stage | Done when | Saved in |
|
|
6
|
+
| ---------- | ------------------------------------------------------------------------------------------------ | --------------------------------- |
|
|
7
|
+
| Understand | Sources read, existing identity seen, concise brief, essential questions answered, references in | profile.json, brief.json, answers |
|
|
8
|
+
| Explore | Three proposals in the round: word, icon, idea, strengths, weaknesses, rendered board | concepts/<id>/, proposals/round-N |
|
|
9
|
+
| Choose | The user selected, asked for changes, combined, or rejected the round with a note | feedback/, concept status |
|
|
10
|
+
| Develop | The chosen concept refined: letterforms, spacing, icon, small version, lockups, colour | concepts/<id>/ |
|
|
11
|
+
| Verify | No `fail` checks, originality not `redesign`, one independent critique applied, user approved | reports/, final/ |
|
|
12
|
+
| Export | Export ran without skipped groups the user needs | exports/ |
|
|
13
|
+
|
|
14
|
+
Rounds: at most two rounds of three proposals on Markilo's own initiative; a third needs the user's direction
|
|
15
|
+
(`concept new --round 3 --directed "<their words>"`). Track cost per phase with `markilo cost`; the default budget is
|
|
16
|
+
$12 per brand (`markilo cost --brand <slug> --budget <usd>` to change it).
|
|
17
17
|
|
|
18
18
|
Append one dated line per significant decision to `brand/brands/<slug>/decisions.md` (Edit the file):
|
|
19
19
|
what was decided, why, and the evidence.
|
|
@@ -32,7 +32,8 @@ Recommend a mode with evidence (measurements of the current mark + findings) and
|
|
|
32
32
|
|
|
33
33
|
- "Research X": Discover + Research + Brief, then stop with a summary of the profile.
|
|
34
34
|
- "Check this logo": evaluate mode (`score`, `analyze`, `compare` against references, `name check`).
|
|
35
|
-
- "Make variations of concept A":
|
|
35
|
+
- "Make variations of concept A": Develop (develop mode on that concept).
|
|
36
|
+
- "Show me three directions": Understand (briefly) + Explore, then stop for the user's choice.
|
|
36
37
|
- "Export / give me favicons": Export (+ `install-assets` dry run).
|
|
37
38
|
- "Show me": `markilo gallery`.
|
|
38
39
|
|
|
@@ -60,14 +61,12 @@ Recommend a mode with evidence (measurements of the current mark + findings) and
|
|
|
60
61
|
(`--role product --parent <master>`). Locked members: `brand add "<Name>" --locked` then
|
|
61
62
|
`markilo lock --brand <slug> --symbol … --primary …`.
|
|
62
63
|
2. Research the family once (master brand), then product-specific facts per product.
|
|
63
|
-
3.
|
|
64
|
-
|
|
65
|
-
sketches`
|
|
66
|
-
|
|
67
|
-
review judges the system: do the members belong together, and can each be told apart at 16 px?
|
|
68
|
-
4. When the master passes the gate, build each product from the same spec: `markilo concept new --brand <product> …`,
|
|
64
|
+
3. Propose the family as one system, not the master alone: each proposal shows the master and two or three members.
|
|
65
|
+
With construction specs, a `members` block draws them from one parameter set (construction.md → Families;
|
|
66
|
+
`markilo sketches` renders `sketches/family.png` and flags members that read as the same mark).
|
|
67
|
+
4. When the user has chosen the master, build each product from the same system: `markilo concept new --brand <product> …`,
|
|
69
68
|
then `markilo construct <spec> --brand <product> --concept <id> --member <name>` (its parameters and colours),
|
|
70
|
-
`markilo verify`, and
|
|
69
|
+
`markilo verify`, and show the family together. Record the system (construction, colour logic) in
|
|
71
70
|
`shared/system.json`.
|
|
72
71
|
5. Products that need their own idea (an acquired brand, a different audience) are designed separately with the
|
|
73
72
|
concept-designer agent, inside the shared system.
|
|
@@ -33,6 +33,7 @@ Toolchain: `node "${CLAUDE_PLUGIN_ROOT}/dist/markilo.mjs" <command>` (written `m
|
|
|
33
33
|
the plan), and `--force` only if they want existing icons replaced — those are backed up to `.markilo-backup/`.
|
|
34
34
|
Applying is all-or-nothing; `markilo install-assets --undo [--project <dir>]` previews reversing it, `--apply`
|
|
35
35
|
does it (files the user edited since are kept). Do not edit their source files; give them the snippet instead.
|
|
36
|
-
7. Tell the user where everything is
|
|
36
|
+
7. Tell the user where everything is: open `exports/index.html` first (every file previewed on its own background,
|
|
37
|
+
with links); `exports/README.md` lists the files most people need; `guidelines/index.html` explains usage. Say that more groups
|
|
37
38
|
can be added any time (`markilo deliverables --add ios` then `markilo export`), and mention that
|
|
38
39
|
X (Twitter) header sizes could not be verified against x.com documentation.
|
|
@@ -17,14 +17,17 @@ 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:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
done.
|
|
20
|
+
2. Explain the review flow in two lines: the round's three proposals (A, B, C) are side by side; **Select** one,
|
|
21
|
+
**Request changes** on one (add tags or a note, or click on the big mark to pin what should change at that spot),
|
|
22
|
+
tick **combine with another** on two to mix them, or **Reject all three** with a note on what is missing. **Add to
|
|
23
|
+
comparison** on two or more, then **Compare** shows them side by side. Then press **Send to your agent** (served)
|
|
24
|
+
or **Download decisions** (file) and tell you when done. The choice is theirs; no critic score decides it. The page
|
|
25
|
+
has EN/TR and light/dark/system switches at the top; if the user writes in Turkish, mention the TR switch.
|
|
25
26
|
3. Read the decisions: `markilo feedback --brand <slug>` (after a download: `markilo feedback --import <file>`). It
|
|
26
27
|
returns each decision with tags, notes and pinned spots (e.g. "at top-right: thicker stem"), the preferred concept
|
|
27
28
|
and ready-to-act requests. Repeat them back to the user in one short summary.
|
|
28
|
-
4. Act: `markilo feedback --brand <slug> --apply`
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
4. Act, after the user confirmed your summary: `markilo feedback --brand <slug> --apply` marks selected concepts
|
|
30
|
+
shortlisted and dropped or round-rejected ones rejected. Log what was decided (`markilo answers`). Then: a selection
|
|
31
|
+
or change request → the refine skill (develop the chosen concept; pinned spots tell you where the change belongs);
|
|
32
|
+
a combination → a new concept developed from the named parts; a rejected round → the concepts skill for the next
|
|
33
|
+
round, with the user's note.
|
|
@@ -1,25 +1,30 @@
|
|
|
1
1
|
---
|
|
2
2
|
|
|
3
3
|
name: refine
|
|
4
|
-
description: Markilo
|
|
4
|
+
description: Markilo development — turn the concept the user chose (or a combination of two) into a professional identity (letterforms, spacing, optical balance, icon, small version, lockups, colour), verify it, get one independent critique, and finalize it on the user's approval. Use when the user picks a concept or asks for changes to one.
|
|
5
5
|
argument-hint: "[brand slug, concept id and the feedback]"
|
|
6
6
|
allowed-tools: Bash(node "${CLAUDE_PLUGIN_ROOT}/dist/markilo.mjs" *) Bash(node ${CLAUDE_PLUGIN_ROOT}/dist/markilo.mjs *) Read Write Edit Glob Grep
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
# Markilo ·
|
|
9
|
+
# Markilo · Develop, verify and finalize
|
|
10
10
|
|
|
11
11
|
Request: $ARGUMENTS
|
|
12
12
|
|
|
13
13
|
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. Craft rules: `${CLAUDE_PLUGIN_ROOT}/skills/design/references/design-principles.md`, `${CLAUDE_PLUGIN_ROOT}/skills/design/references/svg-authoring.md`.
|
|
14
14
|
|
|
15
|
-
1.
|
|
16
|
-
|
|
17
|
-
2.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
1. Collect the user's decision (`markilo feedback --brand <slug>`, or their words) and log it with `markilo answers`.
|
|
16
|
+
Never develop a concept the user dropped. `markilo cost --brand <slug>` before spending.
|
|
17
|
+
2. If the user selected without changes and `markilo proposals --brand <slug> --concepts <id>` lists nothing missing
|
|
18
|
+
and `verify` has no failing check, ask whether to finish as chosen; on yes, skip to step 5 without a designer or
|
|
19
|
+
critic. A small, precise change they describe is done directly with the toolchain (`construct`, `lockup`,
|
|
20
|
+
`verify`). Otherwise: one `markilo:concept-designer` agent in `develop <concept id>` mode with the user's changes, pinned spots, or the
|
|
21
|
+
combination (it creates a new concept for a combination). Record `--phase refine` with its usage.
|
|
22
|
+
3. `markilo verify --brand <slug> --concept <id>` until nothing fails; `Read` the review, wordmark and context sheets.
|
|
23
|
+
4. After a development pass only, one `markilo:design-critic` agent in `final <concept id>` mode. Apply the fixes that improve the work without
|
|
24
|
+
changing what the user chose — once, then verify again; do not critique an unchanged image twice. Record
|
|
25
|
+
`--phase verify`.
|
|
26
|
+
5. Show the user the refined identity (`markilo proposals --brand <slug> --concepts <id>`, the gallery), the measured
|
|
27
|
+
checks, the originality verdict and the critic's notes labelled as judgment. Further changes go back to step 2.
|
|
28
|
+
6. When the user approves: `markilo finalize --brand <slug> --concept <id> --user-choice "<their words>" --tagline "<tagline>"`
|
|
29
|
+
(`--accept-risk` only on their explicit yes to an `insufficient-evidence` or `needs-review` verdict), append the
|
|
30
|
+
decision to `decisions.md`, then offer the export.
|
|
@@ -20,8 +20,9 @@ Toolchain: `node "${CLAUDE_PLUGIN_ROOT}/dist/markilo.mjs" <command>` (written `m
|
|
|
20
20
|
(one call researches every package). Single project → `markilo research repo <path> --brand <slug>`. Read the design
|
|
21
21
|
docs and icon sets the scan reports. `Read` the existing logo files it lists.
|
|
22
22
|
4. Website: ask the user before fetching. Then `markilo research site <url> --brand <slug> --allow-network`.
|
|
23
|
-
5. Market research
|
|
24
|
-
|
|
23
|
+
5. Market research, proportionate and once: about five category or competitor brands is enough to differentiate.
|
|
24
|
+
Delegate to the `markilo:brand-researcher` agent only for a broad brief; for most products do it yourself following
|
|
25
|
+
the playbook. Research that will not change a design decision is not worth its cost.
|
|
25
26
|
6. Write the brief: `markilo brief update --brand <slug> --file <patch.json>` (write the patch to a temp file first).
|
|
26
27
|
7. Ask the user only the open questions that change the design (batched, each with your suggested answer), and log them.
|
|
27
28
|
8. Finish with a short summary: what the brand is, who it is for, the competitive landscape and category codes,
|