isometric-design – skill Thiết kế & UI cho agent AI
Hướng dẫn triển khai Isometric Design cho web và ứng dụng. Kích hoạt khi người dùng muốn giao diện 3D nghiêng không có điểm tụ, thường dùng cho minh họa kỹ thuật.
Cài skill isometric-design 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/isometric-design-e24e8.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /isometric-design – 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/isometric-design-e24e8.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $isometric-design – 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/isometric-design-e24e8.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /isometric-design – 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/isometric-design-e24e8.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /isometric-design – 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.
Isometric Design
> "The architect's view. A parallel projection where depth is constant and parallel lines never converge."
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. Parallel Lines: Isometric projection is an orthographic 3D projection with equal axis foreshortening; its projected axes are 120 degrees apart. Perspective is not required.
2. Top-Down, Angled View: The classic "SimCity" perspective.
3. Blocky Architecture: UI elements often look like city blocks or stacked tiles.
Visual DNA
- Colors: Warm Tech or Earth-Grounded Elegance. Isometric designs often look like physical models, so slightly muted, realistic colors work well.
- Typography: Keep text flat to the screen, or map it perfectly to the isometric planes (top, left, right).
- Shadows: Hard, long drop shadows cast at an exact angle (usually -45 or 45 degrees).
Web Implementation
- CSS transforms are perfect for this. The 60°/−45° examples below are stylized oblique tiles, not exact mathematical isometric projections. An orthographic camera aligned to (1,1,1) gives equal axis foreshortening.
- CSS Example:
.isometric-grid {
/* The foundation */
transform-style: preserve-3d;
transform: rotateX(60deg) rotateZ(-45deg);
}
.iso-block {
width: 100px;
height: 100px;
background-color: var(--secondary-base);
position: relative;
transition: transform 0.3s;
}
/* Creating the 3D block with pseudo-elements */
.iso-block::before {
content: '';
position: absolute;
width: 20px; /* Depth */
height: 100%;
background-color: var(--primary-text); /* Darker shade for side */
right: 100%;
transform-origin: right;
transform: skewY(-45deg);
}
.iso-block::after {
content: '';
position: absolute;
width: 100%;
height: 20px; /* Depth */
background-color: var(--cta-highlight); /* Lightest shade for top/bottom */
top: 100%;
transform-origin: top;
transform: skewX(-45deg);
}
.iso-block:hover {
transform: translateZ(20px) translate(-10px, -10px);
}App Implementation
SwiftUI
struct IsometricView: View {
var body: some View {
ZStack {
Color.white.ignoresSafeArea()
// Isometric Stack
VStack(spacing: 0) {
// Top layer
Rectangle()
.fill(Color.blue)
.frame(width: 150, height: 150)
.overlay(Text("TOP").foregroundColor(.white))
// Shadow simulation
Rectangle()
.fill(Color.black.opacity(0.2))
.frame(width: 150, height: 20)
}
// Stylized oblique transform, not exact isometric projection
.rotationEffect(.degrees(-45))
.rotation3DEffect(.degrees(60), axis: (x: 1, y: 0, z: 0))
}
}
}- SwiftUI's
.rotation3DEffectcan produce a stylized tile; its default perspective must be disabled when strict parallel projection is needed. Rotate Z by -45 degrees first (via.rotationEffect), then rotate X by 60 degrees. - You can stack multiple views along the Z-axis (or simulate it with Y offsets before the 3D rotation) to create towering isometric city blocks.
Flutter
import 'dart:math';
class IsometricScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: Center(
child: Transform(
// The Isometric Matrix Math
alignment: FractionalOffset.center,
transform: Matrix4.identity()
// No perspective term for parallel projection.
..rotateX(pi / 3) // 60 degrees
..rotateZ(-pi / 4), // -45 degrees
child: Container(
width: 150,
height: 150,
decoration: BoxDecoration(
color: Colors.blue,
boxShadow: [
// Hard isometric drop shadow
BoxShadow(
color: Colors.black.withOpacity(0.3),
offset: const Offset(20, 20),
blurRadius: 0, // No blur for isometric
),
],
),
child: const Center(child: Text('ISO BLOCK', style: TextStyle(color: Colors.white))),
),
),
),
);
}
}TransformwithMatrix4is required in Flutter. ApplyingrotateXandrotateZproduces the stylized tile shown here.- Isometric shadows are usually completely hard (0
blurRadius) and offset perfectly along the grid axes.
React Native
const IsometricScreen = () => {
return (
<View style={{ flex: 1, backgroundColor: '#FFF', justifyContent: 'center', alignItems: 'center' }}>
<View style={{
width: 150,
height: 150,
backgroundColor: '#2196F3',
justifyContent: 'center',
alignItems: 'center',
// Isometric Transforms
transform: [
{ rotateX: '60deg' },
{ rotateZ: '-45deg' }
],
// Hard isometric shadow
shadowColor: '#000',
shadowOffset: { width: 20, height: 20 },
shadowOpacity: 0.3,
shadowRadius: 0, // Hard edge
elevation: 10,
}}>
<Text style={{ color: '#FFF', fontWeight: 'bold' }}>ISO BLOCK</Text>
</View>
</View>
);
};- The
transformarray processes in order. ApplyrotateXthenrotateZ. - Hard shadows (
shadowRadius: 0) sell the illustration look.
Jetpack Compose
@Composable
fun IsometricScreen() {
Box(
modifier = Modifier.fillMaxSize().background(Color.White),
contentAlignment = Alignment.Center
) {
Box(
modifier = Modifier
.graphicsLayer {
// Isometric Transforms
rotationX = 60f
rotationZ = -45f
// Add subtle scale if it gets clipped
scaleX = 0.8f
scaleY = 0.8f
}
.size(150.dp)
// Draw a hard shadow behind the box
.drawBehind {
drawRect(
color = Color.Black.copy(alpha = 0.3f),
topLeft = Offset(40f, 40f), // Isometric offset
size = size
)
}
.background(Color(0xFF2196F3)),
contentAlignment = Alignment.Center
) {
Text("ISO BLOCK", color = Color.White, fontWeight = FontWeight.Bold)
}
}
}- Use
Modifier.graphicsLayerto applyrotationXandrotationZ. - To get a true hard isometric drop shadow in Compose without elevation blurring, use
Modifier.drawBehindto manually draw a dark rectangle offset from the main content.
Do's and Don'ts
- DO: Use it for infographics, feature diagrams, or hero sections.
- DON'T: Build your entire app's functional UI in isometric projection. It's too hard to interact with.
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
- json-canvas – Tạo và chỉnh sửa file JSON Canvas (.canvas) với node, cạnh, nhóm và kết nối. Dùng khi…
- ui-design-system – Bộ công cụ hệ thống thiết kế UI dành cho Senior UI Designer, gồm tạo design token, tài…
- ux-researcher-designer – Bộ công cụ nghiên cứu và thiết kế UX cho Senior UX Designer/Researcher, gồm tạo persona…
- kpi-dashboard-design – Các mẫu toàn diện để thiết kế dashboard KPI (Key Performance Indicator) hiệu quả, hỗ trợ…
- layered-design – Hướng dẫn triển khai Layered Design cho web và app. Kích hoạt khi người dùng muốn nhiều…
- liuguang-banlan-ui – Xây dựng hai chế độ giao diện có tham số, 流光溢彩白 (trắng ánh cầu vồng) và 五彩斑斓黑 (đen sặc…
- llm-application-dev-ai-assistant – Thiết kế và triển khai trợ lý AI hội thoại với quản lý ngữ cảnh, ranh giới tích hợp và…
- logo-image-design – Sổ đăng ký tài sản thương hiệu: loại tài sản, định dạng, kích thước và tỷ lệ khung hình…