Bogdan Baciu Design
Apply Bogdan Baciu's editorial personal-site brand to digital artifacts while
preserving the user's content and judgment. The brand should feel like a
hand-finished finance/technology editorial surface: warm paper, a single
sky-blue accent, display serif headlines, restrained mono chrome, flat borders,
and dense but readable financial exhibits.
Source files
- Load
references/brand-system.md when you need detailed rules, artifact-mode
guidance, or a compact token summary.
- Copy from
assets/design-system/colors_and_type.css for web/static HTML work.
- Copy
assets/design-system/fonts/ when the output can self-host fonts.
- Copy imagery, favicons, logos, previews, or UI kits from
assets/design-system/assets/, preview/, and ui_kits/ only when the
artifact actually needs them.
- Use
fixtures/brand-regression/*.html as visual regression fixtures when
checking that the global brand and .db-scope financial-artifact styling
still render separately.
- Use
fixtures/brand-regression/screenshot-contract.json as the browser
screenshot checklist for those fixtures; it stays public-safe and stores
selectors/expectations instead of private screenshots.
- Use
reskin.example.json as the compatibility example when wiring this brand
into the reskin skill.
Provenance
- Brand source: local
Bogdan-Baciu-Design-System repo.
- Packaging pattern: adapted from the official Anthropic
brand-guidelines
skill's compact palette/type/fallback approach; brand values and rules here
are Bogdan-specific.
Workflow
- Identify the artifact type: website/static HTML, app UI, slide deck,
document, data table, or financial-model exhibit.
- Preserve the user's substantive content. Do not invent public-facing body
copy; use
TBU for missing prose.
- Apply the global brand outside financial exhibits:
- warm cream paper, ink text, Puddles sky-blue accent
- Instrument Serif for display and ledes
- Geist for body/UI
- JetBrains Mono for eyebrows, chips, chrome, code, and utility labels
- flat borders and hairlines, not shadows
- Keep financial-model artifacts inside
.db-scope or a clearly equivalent
local scope. Do not let .db-scope colors, shadows, or typography leak into
the global site brand.
- Prefer the existing token names and component classes before inventing new
CSS. For tables, prefer
div.bbt-wrap + table.bbt.
- Translate the brand carefully for non-web artifacts:
- use exact hex approximations where the target cannot use OKLCH
- use available font fallbacks when self-hosted fonts are impossible
- keep the same hierarchy, spacing, and palette separation
- Verify the result. For web work, inspect across mobile and desktop widths,
check text wrapping, confirm assets load, and confirm
.db-scope stays
scoped. For decks/docs, inspect rendered output rather than trusting source
formatting alone.
- Before final delivery, scan for unresolved
TBU placeholders in the output
artifact. TBU is acceptable while drafting missing owner-authored copy; it
must be reported explicitly and should not remain in a final publishable file
unless the user approves the gap.
Core rules
- Two palettes coexist. Global Puddles governs normal brand surfaces;
.db-scope governs embedded financial-model artifacts only.
- Use one global accent: sky-blue. Rust is reserved for text selection and focus
treatment, not general fills or calls to action.
- Default radius is sharp
2px. The only general radii are sharp 2px, card
16px, and pill 999px.
- Body prose is justified with soft hyphenation where the medium supports it.
Headings use balanced wrapping; long ledes use justified/pretty wrapping.
- Depth comes from borders, rules, tables, and spacing. Avoid global shadows,
glassmorphism, gradients, decorative blobs, and stock-looking decoration.
- Icons are sparse. Use existing logos/assets or restrained utility icons only
when the interface needs them.
- When a layout feels cramped, widen the container before shrinking the type.
Output contract
When applying this skill, report:
- which source files/assets were used
- any token, font, image, or icon substitutions
- whether
.db-scope was used
- any unresolved
TBU placeholders and why they remain
- which checks were run or which rendered surfaces were inspected
Skill maintenance checks
When editing packaged tokens, fixtures, or the reskin example, run:
PYTHONDONTWRITEBYTECODE=1 python3 scripts/check_token_integrity.py
PYTHONDONTWRITEBYTECODE=1 python3 -m unittest tests/test_brand_fixtures.py
The token checker protects the core palette/type/font contract; the fixture test
protects the public-safe screenshot contract and the reskin.example.json
manifest shape.
What this skill does not do
- Do not author the owner's public voice from scratch.
- Do not merge the global and
.db-scope palettes.
- Do not add a broad icon library, theme gradient, or shadow language unless the
target repo already requires it.
- Do not replace a repo's existing production design system without first
mapping the Bogdan tokens onto its local conventions.
Worked examples
Example 1: Personal finance HTML
User: "Brand this budget pacing page."
Do:
- Use
assets/design-system/colors_and_type.css and self-host the fonts/
directory next to the artifact if it must open from disk.
- Keep the global page in the Puddles paper/sky system.
- Put any dense table or operating-model exhibit inside
.db-scope.
- Run the repo's
brand_lint.py when present, then inspect mobile and desktop
widths for overflow.
Do not:
- Copy inlined CSS from a prior artifact.
- Invent new chip colors or use rust as a call-to-action fill.
Example 2: Client-facing artifact
User: "Make this client dashboard look polished."
Do not apply this skill directly. Client context wins. Use the client design
system (e.g. an installed *-design skill) unless the user explicitly asks for
Dan's personal brand.
Example 3: Plain document or one-pager
User: "Make this internal one-pager feel like my brand."
Do:
- Preserve the factual content and leave missing owner-authored copy as
TBU.
- Use Instrument Serif for the main title, Geist for body/UI text, and
JetBrains Mono for labels or provenance lines.
- Keep depth flat: borders, rules, spacing, no global shadows or gradients.
Example 4: Financial model exhibit embedded in a broader page
User: "The model table needs to look like finance, but the page should still be
mine."
Do:
- Use the global brand for the page shell.
- Use
.db-scope only around the model exhibit.
- Format numbers with en-dash zeros, parenthesized negatives, and provenance
colors from
number-formats.
1---2name: bogdan-baciu-design3description: Apply Bogdan Baciu's personal editorial design system to websites, static HTML, prototypes, documents, slide decks, and financial-model artifacts. Use when the user asks for "Bogdan brand", "my brand", "personal branding", "brand this", "apply the design system", "rebrand this", "make this look like bogdanbaciu.com", or when building/reviewing bogdanbaciu.com-facing interfaces. Includes the Puddles sky-blue on warm-cream palette, Instrument Serif + Geist + JetBrains Mono typography, flat editorial layout rules, and the scoped .db-scope financial-artifact styling.4---56# Bogdan Baciu Design78Apply Bogdan Baciu's editorial personal-site brand to digital artifacts while9preserving the user's content and judgment. The brand should feel like a10hand-finished finance/technology editorial surface: warm paper, a single11sky-blue accent, display serif headlines, restrained mono chrome, flat borders,12and dense but readable financial exhibits.1314## Source files1516- Load `references/brand-system.md` when you need detailed rules, artifact-mode17 guidance, or a compact token summary.18- Copy from `assets/design-system/colors_and_type.css` for web/static HTML work.19- Copy `assets/design-system/fonts/` when the output can self-host fonts.20- Copy imagery, favicons, logos, previews, or UI kits from21 `assets/design-system/assets/`, `preview/`, and `ui_kits/` only when the22 artifact actually needs them.23- Use `fixtures/brand-regression/*.html` as visual regression fixtures when24 checking that the global brand and `.db-scope` financial-artifact styling25 still render separately.26- Use `fixtures/brand-regression/screenshot-contract.json` as the browser27 screenshot checklist for those fixtures; it stays public-safe and stores28 selectors/expectations instead of private screenshots.29- Use `reskin.example.json` as the compatibility example when wiring this brand30 into the `reskin` skill.3132## Provenance3334- Brand source: local `Bogdan-Baciu-Design-System` repo.35- Packaging pattern: adapted from the official Anthropic `brand-guidelines`36 skill's compact palette/type/fallback approach; brand values and rules here37 are Bogdan-specific.3839## Workflow40411. Identify the artifact type: website/static HTML, app UI, slide deck,42 document, data table, or financial-model exhibit.432. Preserve the user's substantive content. Do not invent public-facing body44 copy; use `TBU` for missing prose.453. Apply the global brand outside financial exhibits:46 - warm cream paper, ink text, Puddles sky-blue accent47 - Instrument Serif for display and ledes48 - Geist for body/UI49 - JetBrains Mono for eyebrows, chips, chrome, code, and utility labels50 - flat borders and hairlines, not shadows514. Keep financial-model artifacts inside `.db-scope` or a clearly equivalent52 local scope. Do not let `.db-scope` colors, shadows, or typography leak into53 the global site brand.545. Prefer the existing token names and component classes before inventing new55 CSS. For tables, prefer `div.bbt-wrap` + `table.bbt`.566. Translate the brand carefully for non-web artifacts:57 - use exact hex approximations where the target cannot use OKLCH58 - use available font fallbacks when self-hosted fonts are impossible59 - keep the same hierarchy, spacing, and palette separation607. Verify the result. For web work, inspect across mobile and desktop widths,61 check text wrapping, confirm assets load, and confirm `.db-scope` stays62 scoped. For decks/docs, inspect rendered output rather than trusting source63 formatting alone.648. Before final delivery, scan for unresolved `TBU` placeholders in the output65 artifact. `TBU` is acceptable while drafting missing owner-authored copy; it66 must be reported explicitly and should not remain in a final publishable file67 unless the user approves the gap.6869## Core rules7071- Two palettes coexist. Global Puddles governs normal brand surfaces;72 `.db-scope` governs embedded financial-model artifacts only.73- Use one global accent: sky-blue. Rust is reserved for text selection and focus74 treatment, not general fills or calls to action.75- Default radius is sharp `2px`. The only general radii are sharp `2px`, card76 `16px`, and pill `999px`.77- Body prose is justified with soft hyphenation where the medium supports it.78 Headings use balanced wrapping; long ledes use justified/pretty wrapping.79- Depth comes from borders, rules, tables, and spacing. Avoid global shadows,80 glassmorphism, gradients, decorative blobs, and stock-looking decoration.81- Icons are sparse. Use existing logos/assets or restrained utility icons only82 when the interface needs them.83- When a layout feels cramped, widen the container before shrinking the type.8485## Output contract8687When applying this skill, report:8889- which source files/assets were used90- any token, font, image, or icon substitutions91- whether `.db-scope` was used92- any unresolved `TBU` placeholders and why they remain93- which checks were run or which rendered surfaces were inspected9495## Skill maintenance checks9697When editing packaged tokens, fixtures, or the reskin example, run:9899```bash100PYTHONDONTWRITEBYTECODE=1 python3 scripts/check_token_integrity.py101PYTHONDONTWRITEBYTECODE=1 python3 -m unittest tests/test_brand_fixtures.py102```103104The token checker protects the core palette/type/font contract; the fixture test105protects the public-safe screenshot contract and the `reskin.example.json`106manifest shape.107108## What this skill does not do109110- Do not author the owner's public voice from scratch.111- Do not merge the global and `.db-scope` palettes.112- Do not add a broad icon library, theme gradient, or shadow language unless the113 target repo already requires it.114- Do not replace a repo's existing production design system without first115 mapping the Bogdan tokens onto its local conventions.116117## Worked examples118119### Example 1: Personal finance HTML120121User: "Brand this budget pacing page."122123Do:124- Use `assets/design-system/colors_and_type.css` and self-host the `fonts/`125 directory next to the artifact if it must open from disk.126- Keep the global page in the Puddles paper/sky system.127- Put any dense table or operating-model exhibit inside `.db-scope`.128- Run the repo's `brand_lint.py` when present, then inspect mobile and desktop129 widths for overflow.130131Do not:132- Copy inlined CSS from a prior artifact.133- Invent new chip colors or use rust as a call-to-action fill.134135### Example 2: Client-facing artifact136137User: "Make this client dashboard look polished."138139Do not apply this skill directly. Client context wins. Use the client design140system (e.g. an installed `*-design` skill) unless the user explicitly asks for141Dan's personal brand.142143### Example 3: Plain document or one-pager144145User: "Make this internal one-pager feel like my brand."146147Do:148- Preserve the factual content and leave missing owner-authored copy as `TBU`.149- Use Instrument Serif for the main title, Geist for body/UI text, and150 JetBrains Mono for labels or provenance lines.151- Keep depth flat: borders, rules, spacing, no global shadows or gradients.152153### Example 4: Financial model exhibit embedded in a broader page154155User: "The model table needs to look like finance, but the page should still be156mine."157158Do:159- Use the global brand for the page shell.160- Use `.db-scope` only around the model exhibit.161- Format numbers with en-dash zeros, parenthesized negatives, and provenance162 colors from `number-formats`.