Product Page Scaffolder
SkillDev toolsScaffold a new product page or screen from the compiled StyleSeed output grammar, surface adapter, brand recipe, and project lock.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Product Page Scaffolder skill
What this skill tells your AI
The instructions your AI receives, as published by bitjaru/styleseed in skills/ss-page/SKILL.md and read by ahel’s review.
Registry-first artifact boundary
When .styleseed/project.json and .styleseed/artifacts/index.json exist, resolve the requested artifact ID first, then read only .styleseed/bundles/<artifact-id>.md and .styleseed/manifests/<artifact-id>.json. Never fall back to the global legacy bundle for a registry project. Legacy projects may use .styleseed/effective-rules.md only when no registry exists.
When NOT to use
- For a single composed pattern within an existing page → use
/ss-pattern - For multi-page navigation structure → use
/ss-flowfirst - For tweaking an existing page — edit the file directly
Create a new page: $0 Description: $ARGUMENTS
Instructions
-
Resolve and read the active design method:
.styleseed/effective-rules.mdand.styleseed/manifest.json- If missing or stale, invoke
/ss-resolveor$ss-resolvefromSTYLESEED.md components/patterns/page-shell.tsxfor page layoutcomponents/patterns/top-bar.tsxfor header patterncomponents/patterns/bottom-nav.tsxfor navigation
-
Page structure template:
import { PageShell, PageContent } from "@/components/patterns/page-shell"
import { TopBar, TopBarAction } from "@/components/patterns/top-bar"
import { BottomNav } from "@/components/patterns/bottom-nav"
export default function PageName() {
return (
<PageShell recipe="enterprise-workbench">
<TopBar
logo={/* logo or page title */}
subtitle={/* optional subtitle */}
actions={/* optional action buttons */}
/>
<PageContent>
{/* Compose the grammar's focal point and recipe-fit sections */}
</PageContent>
<BottomNav items={[/* nav items */]} activeIndex={0} />
</PageShell>
)
}
-
Apply the selected adapter and recipe:
- Set
recipe="<manifest selection.recipe>"onPageShell, ordata-styleseed-recipe="<id>"on a custom artifact root. - Use the lock's viewports and the adapter's responsive contract. Do not assume 430px mobile.
- Use
ss-page-padding,ss-page-gutter,ss-pattern-stack,ss-pattern-surface,ss-pattern-inset,ss-pattern-control, andss-pattern-iconwhere bundled patterns fit. - Select components by recipe: aligned panels/rows for workbenches, flat steps for public service, reading flow for editorial, focused canvas/tool groups for creative tools, and soft grouping only when the recipe calls for it.
- A page may contain cards, panels, rules, whitespace, rows, tables, or a canvas. Never force every content block into a card.
- Set
-
Use semantic tokens for all colors — never hardcode hex values.
-
Compose the page from existing components (ui/ and patterns/) wherever possible.
-
Safe area: include
env(safe-area-inset-*)padding for modern devices. -
Post-generation verification (MANDATORY): Run
/ss-scorethen/ss-verify. Confirm:- The first viewport exposes the grammar's user job and one focal point
- Containment, geometry, controls, collections, density, and navigation fit the recipe
- Only
--brandcolor used for accents (no other accent colors) - No hardcoded hex values (all semantic tokens)
- Section types alternate (no two identical types in a row)
- Spacing uses one repeatable recipe-fit rhythm
- Touch targets ≥ 44px on all interactive elements If any violation is found, fix it before presenting the page to the user.
Signals
- GitHub stars
- 949
- Forks
- 88
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
ss-page- Source
- github.com/bitjaru/styleseed