skills/design-it-editorial-design/SKILL.md
Web and App implementation guide for Editorial Design. Trigger when user wants a magazine-inspired layout, large headlines, and elegant typography pairing.
npx skillsauth add ranbot-ai/awesome-skills editorial-designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
"The digital magazine. Sophisticated typography pairings and deliberate, elegant pacing."
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.
Playfair Display, Merriweather, Bodoni.Lato, Open Sans, Source Sans Pro.body {
background-color: #F9F9F9; /* Paper white */
color: #121212; /* Ink black */
}
/* Typography Pairing */
.editorial-headline {
font-family: 'Playfair Display', serif;
font-size: 4rem;
font-weight: 700;
font-style: italic;
margin-bottom: 24px;
border-bottom: 1px solid #121212;
padding-bottom: 24px;
}
.editorial-body {
font-family: 'Lato', sans-serif;
font-size: 1.1rem;
line-height: 1.8;
column-count: 2; /* Magazine columns */
column-gap: 40px;
}
/* Drop Cap */
.editorial-body::first-letter {
font-family: 'Playfair Display', serif;
font-size: 4rem;
float: left;
line-height: 0.8;
padding-right: 12px;
color: var(--cta-highlight);
}
.pull-quote {
font-family: 'Playfair Display', serif;
font-size: 2rem;
text-align: center;
margin: 48px 0;
padding: 24px 0;
border-top: 2px solid #121212;
border-bottom: 2px solid #121212;
}
struct EditorialView: View {
var body: some View {
ScrollView {
VStack(alignment: .leading, spacing: 24) {
// Editorial Headline
Text("The Digital\nMagazine")
.font(.custom("Playfair Display", size: 48))
.fontWeight(.bold)
.italic()
.foregroundColor(Color(white: 0.05))
.padding(.bottom, 16)
Divider().background(Color.black)
// Drop Cap and Body
HStack(alignment: .top, spacing: 8) {
Text("I")
.font(.custom("Playfair Display", size: 64))
.foregroundColor(Color(red: 0.7, green: 0.2, blue: 0.2))
// Negative padding to pull the body text tighter to the drop cap
.padding(.top, -10)
Text("n an era of sterile, flat interfaces, the return to elegant typography feels like a breath of fresh air. The interplay of serif and sans-serif...")
.font(.custom("Lato", size: 16))
.lineSpacing(6)
.foregroundColor(Color(white: 0.1))
}
// Pull Quote
VStack {
Divider().background(Color.black)
Text("“Sophistication is in the spacing.”")
.font(.custom("Playfair Display", size: 28))
.italic()
.multilineTextAlignment(.center)
.padding(.vertical, 24)
Divider().background(Color.black)
}
.padding(.vertical, 24)
}
.padding(24)
}
.background(Color(red: 0.98, green: 0.98, blue: 0.96)) // Warm paper white
}
}
.font(.custom()) is mandatory. System fonts look too app-like.Divider() to create the hairlines that are so common in print design.HStack aligning top.class EditorialScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: const Color(0xFFF9F9F8), // Paper background
body: SingleChildScrollView(
padding: const EdgeInsets.all(24.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const SizedBox(height: 40),
const Text(
'The Digital\nMagazine',
style: TextStyle(fontFamily: 'PlayfairDisplay', fontSize: 48, fontWeight: FontWeight.bold, fontStyle: FontStyle.italic, height: 1.1),
),
const SizedBox(height: 24),
const Divider(color: Colors.black, thickness: 1)
tools
Use when a user asks to mine or update a private, evidence-backed work profile from local Claude Code, Codex, Copilot CLI, or OpenCode sessions.
data-ai
Use when diagnosing Android overheating, idle heat, thermal throttling, charging or radio heat, or abnormal battery drain with read-only ADB evidence and approval gates.
research
Research public competitor ads, analyze creative patterns and landing pages, and produce an evidence-labeled strategic teardown.
tools
Compiled CLI covering all 52 endpoints of the Anytype local API — objects, properties, tags, search, chat, files — one binary, no MCP server needed.