Skip to content
Back to skills

Settings Page

ASecurity

Here's how the settings page is put together — it's a scaffold (most leaves are stubs), but the structure is real: ```tsx fragment <SettingsPage> (src/routes/settings.tsx) useAccount() — src/hooks/useAccount.ts, stub: hardcoded account + no-op save <SettingsNav active="profile"> — src/components/SettingsNav.tsx (empty stub, no tabs wired up) <ProfileForm account onSave> — src/components/ProfileForm.tsx <AvatarPicker url> — src/compon...

  • 17 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 25, 2026
ai-agents

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 25, 2026

npx -y skills add bendrucker/claude --skill settings-page --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Settings Page?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Settings Page
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bendrucker-settings-page/badge)](https://www.skillsdirectory.com/skills/bendrucker-settings-page)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
fail: [only-billing, short-close]
---
Here's how the settings page is put together — it's a scaffold (most leaves are stubs), but the structure is real:

```tsx fragment
<SettingsPage> (src/routes/settings.tsx)
  useAccount()                          — src/hooks/useAccount.ts, stub: hardcoded account + no-op save
  <SettingsNav active="profile">        — src/components/SettingsNav.tsx (empty stub, no tabs wired up)
  <ProfileForm account onSave>          — src/components/ProfileForm.tsx
    <AvatarPicker url>                    — src/components/AvatarPicker.tsx (stub)
    <TextField> × 2 (Name, Email)         — src/components/TextField.tsx
    <button type="submit">
  <BillingPanel plan>                   — src/components/BillingPanel.tsx, only if account.plan !== "free"
    <InvoiceList>                          — src/components/InvoiceList.tsx (stub)
  <DangerZone accountId>                — src/components/DangerZone.tsx
    <ConfirmDialog title action>          — src/components/ConfirmDialog.tsx (stub)
```

Notes:
- Three branches hang off `SettingsPage`: `ProfileForm`, `BillingPanel` (conditional on plan), and `DangerZone`, each one level deeper into a stub child.
- `SettingsNav` takes an `active` prop suggesting tabbed navigation, but it currently renders an empty `<div />` — no tab/sub-panel switching is actually implemented.
- Nearly every leaf (`SettingsNav`, `AvatarPicker`, `InvoiceList`, `ConfirmDialog`) is an unimplemented stub — this looks like scaffolded structure rather than a finished feature.

Files in this skill

  • sonnet-plain.md2.8 KB
  • sonnet-skill.md1.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.