Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Web and App implementation guide for Cyberpunk UI. Trigger when user wants neon colors, dark backgrounds, high-tech dystopian aesthetics, and hacking interfaces.
.claude/skills/lingxling-cyberpunk-ui/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 91% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 128% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 82% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 97% | 0% |
> "High tech, low life. Neon signs cutting through the smog of a dystopian megacity."
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.
#000000) or deep charcoal, cut by searingly bright neon accents.#FCE205), Cyan (#00FFFF), Hot Pink (#FF003C), against Black. Rajdhani, Blender Pro, or Teko), mixed with small monospace fonts for data.clip-path for the angled cuts.cssbody { background-color: #050505; color: #00FFFF; font-family: 'Rajdhani', sans-serif; background-image: repeating-linear-gradient( 45deg, #050505, #050505 10px, #0a0a0a 10px, #0a0a0a 20px ); } .cyberpunk-button { background-color: #FF003C; /* Cyberpunk Red/Pink */ color: #FFF; font-size: 1.5rem; font-weight: bold; text-transform: uppercase; border: none; padding: 16px 32px; /* The signature clipped corner */ clip-path: polygon( 0 0, calc(100% - 15px) 0, 100% 15px, 100% 100%, 15px 100%, 0 calc(100% - 15px) ); position: relative; transition: all 0.2s ease; } /* The glitch/shadow effect */ .cyberpunk-button:hover { background-color: #FCE205; /* Acid Yellow */ color: #000; box-shadow: -4px 0 0 #00FFFF, 4px 0 0 #FF003C; } .data-stream { font-family: monospace; font-size: 0.8rem; color: rgba(0, 255, 255, 0.5); }
swiftstruct CyberpunkShape: Shape { let cutSize: CGFloat = 15 func path(in rect: CGRect) -> Path { var path = Path() // Top left path.move(to: CGPoint(x: 0, y: 0)) // Top right (cut) path.addLine(to: CGPoint(x: rect.maxX - cutSize, y: 0)) path.addLine(to: CGPoint(x: rect.maxX, y: cutSize)) // Bottom right path.addLine(to: CGPoint(x: rect.maxX, y: rect.maxY)) // Bottom left (cut) path.addLine(to: CGPoint(x: cutSize, y: rect.maxY)) path.addLine(to: CGPoint(x: 0, y: rect.maxY - cutSize)) path.closeSubpath() return path } } struct CyberButton: View { var body: some View { Button(action: {}) { Text("SYS.OVERRIDE") .font(.custom("Rajdhani", size: 24)) .fontWeight(.bold) .foregroundColor(.white) .padding(.horizontal, 32) .padding(.vertical, 16) } .background(Color(red: 1.0, green: 0.0, blue: 0.24)) // Cyberpunk Red .clipShape(CyberpunkShape()) .overlay( CyberpunkShape() .stroke(Color(red: 0.0, green: 1.0, blue: 1.0), lineWidth: 2) // Cyan border ) } }
Shape that physically cuts off the corners, bypassing standard cornerRadius..clipShape() for the background, and .overlay() with .stroke() for high-tech borders.dartclass CyberpunkClipper extends CustomClipper<Path> { final double cutSize = 15.0; @override Path getClip(Size size) { Path path = Path(); path.lineTo(size.width - cutSize, 0); // Top right cut start path.lineTo(size.width, cutSize); // Top right cut end path.lineTo(size.width, size.height); path.lineTo(cutSize, size.height); // Bottom left cut start path.lineTo(0, size.height - cutSize);// Bottom left cut end path.close(); return path; } @override bool shouldReclip(CustomClipper<Path> oldClipper) => false; } class CyberButton extends StatelessWidget { @override Widget build(BuildContext context) { return ClipPath( clipper: CyberpunkClipper(), child: Container( color: const Color(0xFFFF003C), // Cyberpunk Red padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 16), child: const Text( 'SYS.OVERRIDE', style: TextStyle( color: Colors.white, fontSize: 24, fontWeight: FontWeight.bold, fontFamily: 'Rajdhani', ), ), ), ); } }
CustomClipper<Path> to calculate the precise angular cuts.ClipPath. CustomPaint with a CustomPainter that traces the exact same path.jsximport Svg, { Polygon } from 'react-native-svg'; const CyberButton = () => { return ( <View style={{ alignItems: 'center', justifyContent: 'center', width: 200, height: 60 }}> {/* Background SVG to achieve the clipped corner look */} <View style={{ position: 'absolute', top: 0, bottom: 0, left: 0, right: 0 }}> <Svg height="100%" width="100%" viewBox="0 0 200 60" preserveAspectRatio="none"> <Polygon points="0,0 185,0 200,15 200,60 15,60 0,45" fill="#FF003C" stroke="#00FFFF" strokeWidth="2" /> </Svg> </View> <Text style={{ color: '#FFF', fontSize: 20, fontWeight: 'bold', fontFamily: 'Rajdhani-Bold' }}> SYS.OVERRIDE </Text> </View> ); };
react-native-svg to draw a <Polygon> that acts as the absolute-positioned background behind transparent text.kotlinclass CyberpunkShape(private val cutSize: Dp) : Shape { override fun createOutline( size: Size, layoutDirection: LayoutDirection, density: Density ): Outline { val cutPx = with(density) { cutSize.toPx() } val path = Path().apply { moveTo(0f, 0f) lineTo(size.width - cutPx, 0f) lineTo(size.width, cutPx) lineTo(size.width, size.height) lineTo(cutPx, size.height) lineTo(0f, size.height - cutPx) close() } return Outline.Generic(path) } } @Composable fun CyberButton() { Box( modifier = Modifier .clip(CyberpunkShape(15.dp)) .background(Color(0xFFFF003C)) .border(2.dp, Color(0xFF00FFFF), CyberpunkShape(15.dp)) .clickable { } .padding(horizontal = 32.dp, vertical = 16.dp) ) { Text( text = "SYS.OVERRIDE", color = Color.White, fontSize = 24.sp, fontWeight = FontWeight.Bold, // Assuming custom font is loaded ) } }
Shape by overriding createOutline and tracing the Path.Modifier.clip() and Modifier.background().Modifier.border().| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 21,799 | 33,554 | +54% | 1 | 1 | 0% | 4,293 | 6,953 | +62% | 0 | 0 | — |
case-02 | pass→pass | 22,204 | 16,557 | -25% | 1 | 1 | 0% | 3,341 | 5,102 | +53% | 0 | 0 | — |
case-03 | fail→pass | 18,449 | 19,061 | +3% | 1 | 1 | 0% | 2,855 | 5,442 | +91% | 0 | 0 | — |
case-04 | fail→fail | 21,745 | 19,359 | -11% | 1 | 1 | 0% | 3,286 | 5,366 | +63% | 0 | 0 | — |
case-05 | fail→pass | 17,478 | 23,562 | +35% | 1 | 1 | 0% | 2,779 | 6,323 | +128% | 0 | 0 | — |
case-06 | fail→pass | 14,655 | 13,019 | -11% | 1 | 1 | 0% | 2,428 | 4,423 | +82% | 0 | 0 | — |
case-07 | fail→pass | 18,365 | 18,415 | +0% | 1 | 1 | 0% | 2,573 | 5,065 | +97% | 0 | 0 | — |
case-08 | fail→pass | 16,426 | 10,904 | -34% | 1 | 1 | 0% | 2,502 | 4,078 | +63% | 0 | 0 | — |
case-09 | pass→pass | 18,375 | 12,544 | -32% | 1 | 1 | 0% | 2,959 | 4,324 | +46% | 0 | 0 | — |
case-10 | fail→fail | 10,610 | 8,131 | -23% | 1 | 1 | 0% | 1,916 | 3,927 | +105% | 0 | 0 | — |
case-11 | pass→pass | 15,736 | 15,486 | -2% | 1 | 1 | 0% | 2,602 | 4,734 | +82% | 0 | 0 | — |
case-12 | pass→pass | 17,327 | 10,046 | -42% | 1 | 1 | 0% | 2,158 | 3,919 | +82% | 0 | 0 | — |
case-13 | pass→pass | 21,136 | 22,083 | +4% | 1 | 1 | 0% | 2,973 | 6,155 | +107% | 0 | 0 | — |
case-14 | pass→pass | 19,241 | 13,102 | -32% | 1 | 1 | 0% | 3,665 | 5,157 | +41% | 0 | 0 | — |
case-15 | fail→fail | 19,925 | 15,690 | -21% | 1 | 1 | 0% | 2,935 | 5,373 | +83% | 0 | 0 | — |
case-16 | pass→pass | 9,169 | 5,066 | -45% | 1 | 1 | 0% | 1,500 | 3,201 | +113% | 0 | 0 | — |
case-17 | pass→pass | 31,040 | 14,394 | -54% | 1 | 1 | 0% | 5,392 | 4,731 | -12% | 0 | 0 | — |
case-18 | fail→fail | 19,854 | 17,913 | -10% | 1 | 1 | 0% | 2,913 | 5,024 | +72% | 0 | 0 | — |
case-19 | pass→pass | 12,722 | 10,312 | -19% | 1 | 1 | 0% | 2,465 | 4,663 | +89% | 0 | 0 | — |
case-20 | pass→pass | 12,502 | 8,648 | -31% | 1 | 1 | 0% | 1,906 | 4,139 | +117% | 0 | 0 | — |
case-21 | pass→pass | 17,171 | 23,689 | +38% | 1 | 1 | 0% | 3,556 | 6,309 | +77% | 0 | 0 | — |
case-22 | pass→pass | 16,661 | 12,515 | -25% | 1 | 1 | 0% | 2,360 | 4,930 | +109% | 0 | 0 | — |
case-23 | pass→fail | 10,113 | 15,876 | +57% | 1 | 1 | 0% | 1,823 | 5,552 | +205% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +22 percentage points is the difference between those two pass rates over the 23 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.