cyberpunk-ui – skill Thiết kế & UI cho agent AI
Hướng dẫn triển khai Web và App cho Cyberpunk UI. Kích hoạt khi người dùng muốn màu neon, nền tối, thẩm mỹ công nghệ cao kiểu dystopia và giao diện hacker.
Cài skill cyberpunk-ui bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/cyberpunk-ui-169c1.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /cyberpunk-ui – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/cyberpunk-ui-169c1.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $cyberpunk-ui – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/cyberpunk-ui-169c1.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /cyberpunk-ui – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/cyberpunk-ui-169c1.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /cyberpunk-ui – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Cyberpunk UI
> "High tech, low life. Neon signs cutting through the smog of a dystopian megacity."
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. Neon on Black: The foundation is absolute black (#000000) or deep charcoal, cut by searingly bright neon accents.
2. Angled Geometries: Clipped corners (chamfers) rather than rounded corners. UI elements often look like they were cut from metal plates.
3. Glitch and Data: Random streams of hexadecimal data, barcode accents, and intentional visual tearing.
Visual DNA
- Colors: Acid Yellow (
#FCE205), Cyan (#00FFFF), Hot Pink (#FF003C), against Black. - Typography: Industrial, squared-off sans-serifs (like
Rajdhani,Blender Pro, orTeko), mixed with small monospace fonts for data. - Styling: Diagonal stripes, warning tape patterns, and heavy outer glows.
Web Implementation
- Rely on
clip-pathfor the angled cuts. - CSS Example:
body {
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);
}App Implementation
SwiftUI
struct 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
)
}
}- Define a custom
Shapethat physically cuts off the corners, bypassing standardcornerRadius. - Use
.clipShape()for the background, and.overlay()with.stroke()for high-tech borders.
Flutter
class 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',
),
),
),
);
}
}- Extend
CustomClipper<Path>to calculate the precise angular cuts. - Wrap your containers in
ClipPath. - For borders, you must use a
CustomPaintwith aCustomPainterthat traces the exact same path.
React Native
import 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 does not natively support clipping paths on views easily.
- Solution: Use
react-native-svgto draw a<Polygon>that acts as the absolute-positioned background behind transparent text.
Jetpack Compose
class 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
)
}
}- Create a custom
Shapeby overridingcreateOutlineand tracing thePath. - Pass this shape directly into
Modifier.clip()andModifier.background(). - You can elegantly apply a border stroke directly to the custom shape using
Modifier.border().
Do's and Don'ts
- DO: Keep decorative technical details out of accessibility labels; controls need clear action names and visible keyboard focus that is not clipped.
- DON'T: Use soft, organic curves or gradients. It must be sharp and aggressive.
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.
Skill liên quan
- daily-gift – Công cụ tạo quà tặng hằng ngày nhận biết mối quan hệ, với quy trình sáng tạo năm giai…
- dark-mode – Hướng dẫn triển khai Web và App cho Dark Mode Design. Kích hoạt khi người dùng muốn bề…
- dashboard-design – Hướng dẫn triển khai Web và App cho Dashboard Design. Kích hoạt khi người dùng muốn bố…
- data-dense-design – Hướng dẫn triển khai Web và App cho Data-Dense Design. Kích hoạt khi người dùng muốn…
- database-design – Nguyên tắc và ra quyết định thiết kế cơ sở dữ liệu. Thiết kế schema, chiến lược index…
- segment-anything-model – SAM: phân đoạn ảnh zero-shot qua điểm, hộp và mặt nạ.
- ddd-strategic-design – Thiết kế các artifact chiến lược DDD gồm subdomain, bounded context và ngôn ngữ chung…
- visual-recon – Chụp ảnh màn hình tất cả host đang hoạt động để phân loại trực quan nhanh và nhận diện…