sickn33/agentic-awesome-skills/brutalist-typography

Claude Code and agent skill by sickn33/agentic-awesome-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Web and App implementation guide for Brutalist Typography. Trigger when user wants huge fonts, raw presentation, and aggressive layout decisions.

Install

npx vskill@latest install sickn33/agentic-awesome-skills/brutalist-typography

SKILL.md

Brutalist Typography

"Aggressive, unpolished, and unapologetic. Text that demands attention by breaking the rules."

When to Use

Use this sub-style when the user's request matches the aesthetic described above. This is a child reference of the design-it skill and is not meant to be triggered directly.

Core Principles

  1. Rule Breaking: Text that overlaps, ignores margins, or deliberately clips off the edge of the screen.
  2. Anti-Design: Intentional use of system fonts or "ugly" fonts (Times New Roman, Courier) in massive sizes.
  3. Harsh Contrast: Clashing colors or stark monochrome.

Visual DNA

  • Colors: Industrial Chic (Black, White, Red) or aggressive neon clashing (e.g., pure blue on pure red).
  • Typography: System default fonts (Times New Roman, Arial, Courier New) blown up to 150px.
  • Styling: Marquees, blinking text, underlines that cut through descenders.

Web Implementation

  • Break the grid. Use absolute positioning or negative margins.
  • CSS Example:
css
body {
background-color: #fff;
color: #000;
font-family: 'Times New Roman', serif;
}
.brutalist-headline {
font-size: 15vw;
line-height: 0.7;
letter-spacing: -5px;
margin-left: -10px; /* Bleeds off screen intentionally */
word-wrap: break-word; /* Let words break awkwardly */
}
.brutalist-highlight {
background-color: #ff0000;
color: #fff;
padding: 0 10px;
}
.marquee-container {
border-top: 5px solid #000;
border-bottom: 5px solid #000;
overflow: hidden;
white-space: nowrap;
font-family: 'Courier New', monospace;
font-size: 2rem;
font-weight: bold;
padding: 10px 0;
}
/* A nod to early 90s web */
.brutalist-link {
color: #0000ee;
text-decoration: underline;
text-transform: uppercase;
}
.brutalist-link:hover {
background-color: #0000ee;
color: #fff;
}

App Implementation

SwiftUI
swift
struct BrutalistTypeView: View {
var body: some View {
ScrollView {
VStack(alignment: .leading, spacing: -20) {
// Bleeds off the edge intentionally
Text("BREAK")
.font(.custom("Times New Roman", size: 120))
.padding(.leading, -20)
Text("THE")
.font(.custom("Arial", size: 140))
.fontWeight(.black)
.foregroundColor(.clear)
.overlay(
Text("THE").foregroundColor(.red) // Solid fallback: Text has no Shape.stroke API
)
.offset(x: 40)
Text("GRID.")
.font(.custom("Courier New", size: 100))
.background(Color.blue)
.foregroundColor(.white)
.rotationEffect(.degrees(-5))
.offset(y: -40)
}
.frame(maxWidth: .infinity, alignment: .leading)
.padding(.top, 50)
}
.ignoresSafeArea() // Critical for Brutalist type
.background(Color.white)
}
}
  • Keep readable text and controls within safe areas. Only decorative artwork may extend behind system cutouts.
  • Use negative spacing in VStack or explicit negative .offset() to force text elements to overlap each other aggressively.
  • SwiftUI Text does not implement Shape.stroke. Use solid text as shown, or a separately implemented and tested text-path renderer for true outlines.
Flutter
dart
class BrutalistTypeScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
// Scaffold without SafeArea
return Scaffold(
backgroundColor: Colors.white,
body: Stack(
children: [
Positioned(
top: -20,
left: -20,
child: const Text(
'BREAK',
style: TextStyle(
fontFamily: 'Times New Roman',
fontSize: 150,
height: 0.8, // Negative line-spacing
color: Colors.black,
),
),
),
Positioned(
top: 100,
left: 40,
child: Text(
'THE',
style: TextStyle(
fontFamily: 'Arial',
fontSize: 140,
fontWeight: FontWeight.w900,
foreground: Paint()
..style = PaintingStyle.stroke
..strokeWidth = 3
..color = Colors.red,
),
),
),
Positioned(
top: 220,
left: 10,
child: Transform.rotate(
angle: -0.1,
child: Container(
color: Colors.blue,
child: const Text(
'GRID.',
style: TextStyle(
fontFamily: 'Courier',
fontSize: 120,
color: Colors.white,
),
),
),
),
),
],
),
);
}
}
  • Do not use SafeArea.
  • Absolute positioning via Stack and Positioned is the easiest way to break the grid and force overlaps.
  • Use height: 0.8 (or less than 1.0) in TextStyle to smash lines of text together.
React Native
jsx
const BrutalistTypeScreen = () => {
return (
<View style={{ flex: 1, backgroundColor: '#FFF' }}>
{/*
Note: React Native text clipping can be tricky on Android.
Ensure parent views don't have overflow: 'hidden'.
*/}
<Text style={{
fontFamily: 'Times New Roman',
fontSize: 130,
lineHeight: 110,
color: '#000',
marginLeft: -15, // Bleed off edge
marginTop: 40
}}>
BREAK
</Text>
<Text style={{
fontFamily: 'Arial',
fontSize: 140,
fontWeight: '900',
color: 'transparent',
textShadowColor: '#FF0000',
textShadowRadius: 1, // Fake stroke effect
marginLeft: 40,
marginTop: -30 // Overlap previous text
}}>
THE
</Text>
<Text style={{
fontFamily: 'monospace',
fontSize: 100,
backgroundColor: '#0000FF',
color: '#FFF',
transform: [{ rotate: '-5deg' }],
marginTop: -20,
alignSelf: 'flex-start'
}}>
GRID.
</Text>
</View>
);
};
  • React Native doesn't have a native text-stroke property, so you either simulate it with text shadows or use @shopify/react-native-skia for true stroked text.
  • Use negative marginTop and marginLeft to force the layout chaos.
Jetpack Compose
kotlin
@Composable
fun BrutalistTypeScreen() {
// Use Box for absolute overlapping layouts
Box(
modifier = Modifier
.fillMaxSize()
.background(Color.White)
) {
Text(
text = "BREAK",
fontFamily = FontFamily.Serif, // Times New Roman equivalent
fontSize = 130.sp,
color = Color.Black,
lineHeight = 100.sp,
modifier = Modifier.offset(x = (-15).dp, y = (-20).dp)
)
Text(
text = "THE",
fontFamily = FontFamily.SansSerif,
fontSize = 140.sp,
fontWeight = FontWeight.Black,
style = TextStyle(
drawStyle = Stroke(width = 5f)
),
color = Color.Red,
modifier = Modifier.offset(x = 40.dp, y = 100.dp)
)
Text(
text = "GRID.",
fontFamily = FontFamily.Monospace,
fontSize = 100.sp,
color = Color.White,
modifier = Modifier
.offset(x = 10.dp, y = 220.dp)
.rotate(-5f)
.background(Color.Blue)
)
}
}
  • A Box with explicit Modifier.offset(x, y) allows freeform overlapping placement, breaking away from standard Column/Row grids.
  • Compose TextStyle supports drawStyle = Stroke(width = 5f), making outline typography incredibly simple.

Do's and Don'ts

  • DO: Mix serif and monospace fonts aggressively.
  • DON'T: Add drop shadows, gradients, or rounded corners. The design must look raw and unstyled.

Limitations

  • This is a styling reference and does not replace environment-specific validation, accessibility testing, or expert review.
  • Ensure appropriate contrast ratios and responsive behaviors are verified separately.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
47,061
Repository forks
6,855
7-day trend score
54

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/sickn33/agentic-awesome-skills/brutalist-typography/badge)](https://verified-skill.com/skills/sickn33/agentic-awesome-skills/brutalist-typography)

Something wrong with this skill or its page? Tell us.