Holographic ui
Skill sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills-claude/skills/design-it/holographic-ui
AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 1,987+ agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench.
npx -y skills add sickn33/agentic-awesome-skills --skill holographic-uiAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Web and App implementation guide for Holographic UI. Trigger when user wants light-based appearance, projected interfaces, and transparent floating elements.
SKILL.md
11.1 KB, as published. Nobody here has run it
Holographic UI
"Made of light. Interfaces projected into thin air, visible but completely translucent."
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
- Zero Opacity Backgrounds: Elements are never fully solid. Everything is semi-transparent, allowing the background to show through.
- Scanlines and Interference: The illusion of a projection is sold by horizontal scanlines, slight chromatic aberration, or flickering.
- Luminous Edges: The borders of elements are brighter than the centers, mimicking how lasers or light projections focus at the edges.
Visual DNA
- Colors: Almost exclusively monochrome Cyan, Blue, or Green, with white core highlights.
- Typography: Thin, technical sans-serifs. Must have a glowing
text-shadow. - Styling: Intensive use of
rgba(),mix-blend-mode: screenoradd, and CSS filters.
Web Implementation
- CSS Example:
body {
background-color: #020202; /* Must be dark for holograms to show */
background-image: url('dark-lab-background.jpg');
background-size: cover;
color: #88ffff;
}
.hologram-panel {
background: rgba(0, 200, 255, 0.05); /* Extremely sheer */
border: 1px solid rgba(136, 255, 255, 0.5);
border-radius: 4px;
padding: 30px;
/* The glowing edge */
box-shadow:
inset 0 0 20px rgba(0, 200, 255, 0.2),
0 0 15px rgba(0, 200, 255, 0.3);
/* Scanline effect */
background-image: linear-gradient(
rgba(136, 255, 255, 0.1) 1px,
transparent 1px
);
background-size: 100% 4px;
}
.holo-text {
font-family: 'Rajdhani', sans-serif;
text-transform: uppercase;
text-shadow: 0 0 8px rgba(136, 255, 255, 0.8);
mix-blend-mode: screen;
}
/* Subtle flicker */
.holo-flicker {
animation: hologramFlicker 4s infinite;
}
@keyframes hologramFlicker {
0%, 100% { opacity: 1; }
92% { opacity: 1; }
93% { opacity: 0.4; }
94% { opacity: 0.9; }
96% { opacity: 0.2; }
98% { opacity: 1; }
}
App Implementation
SwiftUI
struct HolographicUIView: View {
@State private var isFlickering = false
var body: some View {
ZStack {
Color.black.ignoresSafeArea()
VStack {
Text("HOLOGRAM ACTIVE")
.font(.custom("Courier", size: 24))
.foregroundColor(Color(hex: "88FFFF"))
.shadow(color: Color(hex: "88FFFF"), radius: 10)
.blendMode(.screen) // Critical for light UI
Spacer().frame(height: 40)
VStack {
Text("SYSTEM DIAGNOSTICS")
.foregroundColor(Color(hex: "88FFFF"))
}
.padding(30)
.frame(maxWidth: .infinity)
.background(Color(hex: "88FFFF").opacity(0.05))
.border(Color(hex: "88FFFF").opacity(0.5), width: 1)
// The glowing edge effect
.shadow(color: Color(hex: "88FFFF").opacity(0.5), radius: 15)
.blendMode(.screen)
.opacity(isFlickering ? 0.4 : 1.0)
}
.padding()
// Scanline Overlay
LinearGradient(
stops: [
.init(color: Color(hex: "88FFFF").opacity(0.1), location: 0),
.init(color: .clear, location: 0.5)
],
startPoint: .top, endPoint: .bottom
)
.frame(height: 4)
.background(Color.clear)
// You would tile this in a real app using an Image or custom shape
.blendMode(.screen)
}
.onAppear {
// Simulate flicker
Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
if Int.random(in: 1...100) > 95 {
isFlickering.toggle()
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
isFlickering = false
}
}
}
}
}
}
.blendMode(.screen)is absolutely critical. It makes elements act like projected light.- Stack multiple
.shadow()modifiers to create a bloom effect around text and borders.
Flutter
class HolographicScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black, // Dark lab background
body: Stack(
children: [
Padding(
padding: const EdgeInsets.all(24.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
// Glowing Text
const Text(
'HOLOGRAM ACTIVE',
style: TextStyle(
fontFamily: 'Courier',
fontSize: 24,
color: Color(0xFF88FFFF),
shadows: [Shadow(color: Color(0xFF88FFFF), blurRadius: 10)],
),
),
const SizedBox(height: 40),
// Hologram Panel
Container(
width: double.infinity,
padding: const EdgeInsets.all(30),
decoration: BoxDecoration(
color: const Color(0xFF88FFFF).withOpacity(0.05),
border: Border.all(color: const Color(0xFF88FFFF).withOpacity(0.5)),
boxShadow: [
BoxShadow(color: const Color(0xFF88FFFF).withOpacity(0.2), blurRadius: 15, spreadRadius: 5),
],
),
child: const Text(
'SYSTEM DIAGNOSTICS',
textAlign: TextAlign.center,
style: TextStyle(color: Color(0xFF88FFFF)),
),
),
],
),
),
// Scanlines (IgnorePointer so it doesn't block taps)
IgnorePointer(
child: ShaderMask(
blendMode: BlendMode.screen, // Makes it act like light
shaderCallback: (bounds) => const LinearGradient(
begin: Alignment.topCenter, end: Alignment.bottomCenter,
stops: [0.0, 0.5, 0.5, 1.0],
colors: [Colors.black12, Colors.black12, Colors.transparent, Colors.transparent],
).createShader(bounds),
// To actually tile in Flutter, you often need a CustomPainter.
// Here we simulate the blend mode.
child: Container(color: const Color(0xFF88FFFF).withOpacity(0.1)),
),
),
],
),
);
}
}
- The
Shadowarray insideTextStylecreates the glowing text. BoxShadowwithspreadRadiuscreates the glowing panel border.ShaderMaskwithBlendMode.screenlayered over the UI gives it that light-projection quality.
React Native
const HolographicScreen = () => {
return (
<View style={{ flex: 1, backgroundColor: '#020202', padding: 24, justifyContent: 'center' }}>
<Text style={{
fontFamily: 'monospace', fontSize: 24, textAlign: 'center', color: '#88FFFF',
textShadowColor: '#88FFFF', textShadowRadius: 10, marginBottom: 40
}}>
HOLOGRAM ACTIVE
</Text>
<View style={{
backgroundColor: 'rgba(0, 200, 255, 0.05)',
borderWidth: 1, borderColor: 'rgba(136, 255, 255, 0.5)',
padding: 30, borderRadius: 4,
// The glowing edge
shadowColor: '#88FFFF', shadowOffset: { width: 0, height: 0 },
shadowOpacity: 0.5, shadowRadius: 15, elevation: 10
}}>
<Text style={{ color: '#88FFFF', textAlign: 'center', fontFamily: 'monospace' }}>
SYSTEM DIAGNOSTICS
</Text>
</View>
{/* Pseudo-scanlines overlay. In a real app, use an repeating Image background. */}
<View pointerEvents="none" style={{
position: 'absolute', top: 0, left: 0, right: 0, bottom: 0,
backgroundColor: 'rgba(136, 255, 255, 0.03)',
}} />
</View>
);
};
- React Native doesn't support
mix-blend-modeout of the box, so you must rely heavily on low-opacity backgrounds and intensetextShadow/shadowRadius. - Use
pointerEvents="none"on scanline overlays so they don't block user interactions.
Jetpack Compose
@Composable
fun HolographicScreen() {
Box(modifier = Modifier.fillMaxSize().background(Color(0xFF020202))) {
Column(
modifier = Modifier.fillMaxSize().padding(24.dp),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
) {
// Glowing Text
Text(
text = "HOLOGRAM ACTIVE",
fontFamily = FontFamily.Monospace,
fontSize = 24.sp,
color = Color(0xFF88FFFF),
style = TextStyle(
shadow = Shadow(color = Color(0xFF88FFFF), blurRadius = 10f)
),
modifier = Modifier.graphicsLayer { blendMode = BlendMode.Screen }
)
Spacer(Modifier.height(40.dp))
// Glowing Panel
Box(
modifier = Modifier
.fillMaxWidth()
.graphicsLayer { blendMode = BlendMode.Screen }
.shadow(15.dp, ambientColor = Color(0xFF88FFFF), spotColor = Color(0xFF88FFFF))
.background(Color(0xFF88FFFF).copy(alpha = 0.05f))
.border(1.dp, Color(0xFF88FFFF).copy(alpha = 0.5f))
.padding(30.dp),
contentAlignment = Alignment.Center
) {
Text("SYSTEM DIAGNOSTICS", color = Color(0xFF88FFFF), fontFamily = FontFamily.Monospace)
}
}
// Simulating scanlines overlay
Box(
modifier = Modifier
.fillMaxSize()
.background(Color(0xFF88FFFF).copy(alpha = 0.03f))
)
}
}
Modifier.graphicsLayer { blendMode = BlendMode.Screen }is exactly what you need in Compose to make elements act like projected light.- Use Compose's
shadowmodifier withambientColorandspotColorset to cyan to make the panels emit light.
Do's and Don'ts
- DO: Use
mix-blend-mode: screen(web) or additive blending so overlapping holographic panels get brighter where they intersect. - DON'T: Use any dark colors or drop shadows for the UI elements. Shadows don't exist in light projections.
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.