Fundamental Library Styles is a framework-independent CSS component library for creating SAP web interfaces with reusable styles and components. Developers can use it with Angular, React, Vue, or plain HTML to build consistent SAP applications and apply supported visual themes.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add SAP/fundamental-styles --skill component-compositiongit clone --depth 1 https://github.com/SAP/fundamental-stylesWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/sap/fundamental-styles/component-composition)<a href="https://agentmods.dev/skills/sap/fundamental-styles/component-composition"><img src="https://agentmods.dev/badge/skills/sap/fundamental-styles/component-composition/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/sap/fundamental-styles/component-composition"><img src="https://agentmods.dev/badge/skills/sap/fundamental-styles/component-composition.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Prompt Injection · line 47 Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.Fix: Audit all comments and invisible characters. Remove any instructions that direct the agent to perform unauthorized actions. Use plain, reviewable content.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00023 | $0.05576 |
| Opus 5.5 | $0.00009 | $0.02230 |
| Sonnet 5.5 | $0.00005 | $0.01115 |
| Haiku 4.5 | $0.00002 | $0.00558 |
Grade A, and why
component-composition scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 807 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Component Composition
This skill explains how to combine fundamental-styles components correctly, including required wrappers, nesting rules, and common composition patterns.
When to Use This Skill
Use this skill when:
- The user asks "How do I combine [component A] with [component B]?"
- The user needs to understand component structure and nesting
- The user asks about required wrapper elements
- The user's component isn't working due to incorrect composition
- The user asks "Why do I need this wrapper element?"
- The user wants to understand parent-child relationships between components
Core Composition Principles
1. Always Include Required Wrappers
Many components require specific wrapper elements to function correctly:
<!-- ❌ Wrong - missing wrapper -->
<label class="fd-form-label">Name</label>
<input class="fd-input" />
<!-- ✅ Correct - wrapped in form-item -->
<div class="fd-form-item">
<label class="fd-form-label">Name</label>
<input class="fd-input" />
</div>
2. Follow the Component Hierarchy
Each component has a specific structure - don't skip levels:
<!-- ❌ Wrong - missing table__row -->
<table class="fd-table">
<tbody class="fd-table__body">
<td class="fd-table__cell">Data</td>
</tbody>
</table>
<!-- ✅ Correct - proper hierarchy -->
<table class="fd-table">
<tbody class="fd-table__body">
<tr class="fd-table__row">
<td class="fd-table__cell">Data</td>
</tr>
</tbody>
</table>
3. Understand Block Independence
Each component (block) is independent. Nesting blocks doesn't create a hierarchy:
<!-- Both are independent blocks, not parent-child -->
<button class="fd-button">
<i class="sap-icon--edit"></i>
</button>
.fd-button and .sap-icon--edit are two separate blocks living together, not a parent-child BEM relationship.
Common Composition Patterns
Form Item Composition
Components: Form Item + Form Label + Input + Form Message
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 807 lines · 23 tokens per session scan A c94616312e7f
component-composition is a skill published in the GitHub repository SAP/fundamental-styles (236 stars, last pushed 2d ago), licensed Apache-2.0. It adds 23 tokens to every session and 5,576 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
static-web-artifacts-builder
Build self-contained static HTML artifacts opened in a browser: interactive diagrams, dashboards, infographics. Pure HTML5+CSS3+inline SVG, zero toolchain. Triggers on: "interactive HTML", "open in browser", "HTML artifact", "visual dashboard", "HTML infographic". NOT for PNG/SVG output, use concept-to-image.
make-interfaces-feel-better
Design engineering principles for making interfaces feel polished. Use when building UI components, reviewing frontend code, implementing animations, hover states, shadows, borders, typography, micro-interactions, enter/exit animations, or any visual detail work. Triggers on UI polish, design details, "make it feel…
grainient
Recreate grainient.supply's 16 dark-mode visual effects as single-file HTML pages: WebGL shader gradients, vignette overlays, 9-layer box shadows, smooth scroll, spring animations, hover-zoom, ticker marquees, glassmorphism, 3D card flips, bento grids, gradient CTAs. Dark-mode-first with lime green (#C2F13C) accent.…
figma-mcp
Convert Figma designs into production-ready code using MCP server tools. Use this skill when users provide Figma URLs, request design-to-code conversion, ask to implement Figma mockups, or need to extract design tokens and system values from Figma files. Works with frames, components, and entire design files to…
kortix-genui
Renders rich UI in the Kortix web and mobile chat: step rows with photos, option cards, checklists, maps, image galleries, tables, charts, stat rows, comparisons. Load it FIRST, before you answer, when the user asks for: a guide, how-to or first-time process done in the real world (a trip, a flight, a visa, a recipe…
shadcn
Install, customize, and compose shadcn/ui components with design-system awareness. Covers CLI v4, custom registries, Tailwind v4 OKLCH theming, components.json, presets, and monorepo setup. Pairs with minoan-frontend-design for creative direction. Triggers on shadcn, install component, shadcn theme, OKLCH colors…