Agent skill

help-system-architect

Design and generate the in-app help system: havainnepolku (visual guidance path) components, help mode (apua-tila), contextual help content, and searchable help index. Use when (1) creating or updating help pages, (2) building the havainnepolku breadcrumb-path component, (3) implementing help mode overlay, (4) generating help search index, (5) adding contextual tips to pages, (6) brainstorming which guidance paths to create. Triggers: "help system", "apua", "havainnepolku", "guidance path", "help mode", "apua-tila", "contextual help", "help content", "help search", "user guidance", "breadcrumb path", "ohje", "opaste".

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/help-system-architect

SKILL.md

Help System Architect

Design and generate the in-app help system for Raamattu Nyt.

Authority

  • Consumes Docs/ai/core-user-model.json as the single source of truth for tasks and paths
  • NEVER redefines tasks or paths — only explains, guides, and contextualizes them
  • The core-ux-detective skill owns task/path definitions; this skill owns help presentation

Architecture

Havainnepolku (Visual Guidance Path)

A horizontal strip at the top of the page showing the full user journey as linked blocks:

┌──────────┐   ┌────────────────┐   ┌───────────┐   ┌────────────────┐   ┌─────────────┐
│ MUISTIO  │ → │ VALITSE JAKEET │ → │ LUO REELS │ → │ EDITOI REELSIÄ │ → │ JULKAISE    │
│          │   │                │   │           │   │  ◄ olet tässä  │   │             │
│          │   │                │   │           │   │  Muokkaa tyyliä │   │             │
└──────────┘   └────────────────┘   └────────────┘   └────────────────┘   └─────────────┘

Each block:

  • Is a clickable link to the page where that step happens
  • Shows the step label (Finnish, from core_tasks[].label)
  • When the user is on that step's page: highlighted + short contextual tip below

Shared Package: packages/help-guide/

Havainnepolku and help mode as a shared monorepo package:

packages/help-guide/
  package.json          # @raamattu-nyt/help-guide
  tsconfig.json
  src/
    index.ts
    types.ts            # HelpPath, HelpStep, HelpContent, HelpSearchEntry
    GuidancePath.tsx    # Havainnepolku component
    HelpModeProvider.tsx # Context provider for help mode state
    useHelpMode.ts      # Hook: isHelpMode, toggleHelp, currentPath
    HelpTooltip.tsx     # Contextual tip bubble (non-blocking, dismissible)
    HelpSearchIndex.ts  # Search index builder from core-user-model

Help Mode (Apua-tila)

Toggle-based overlay that reveals:

  1. Havainnepolku bar at page top
  2. Contextual tooltips on interactive elements
  3. Non-blocking, dismissible — never prevents user from working
  4. Persists in session storage (survives page navigation, clears on tab close)

Help Search ("?")

Maps search queries to core_tasks and user_paths:

  • Finnish keyword index built from task labels, path labels, and help content
  • Never invents new terminology — only uses canonical labels from core-user-model.json

Workflow

1. Read the User Model

Read Docs/ai/core-user-model.json

If file doesn't exist, inform the user to run core-ux-detective first.

2. Choose What to Generate

Determine scope from user request:

  • Full system: All components + content + search index
  • Havainnepolku only: Just the GuidancePath component + path data
  • Help content: Help pages for specific tasks/paths
  • Search index: Keyword-to-task/path mapping

3. Brainstorm Paths (Optional)

When the user needs help deciding which guidance paths to create:

  • Invoke the brainstorming skill
  • Provide it with the user_paths from core-user-model.json
  • Focus questions on: which paths are most confusing, which need step-by-step guidance

4. Generate Components

See references/component-specs.md for detailed component specifications.

5. Generate Help Content

For each task/path, generate help content in Finnish:

json
{
  "task_id": "create_reel",
  "title": "Reelsin luominen",
  "what": "Luo kaunis kuvajae Raamatun jakeesta.",
  "when": "Kun haluat jakaa jakeen someen kuvana.",
  "steps": [
    "Valitse jae Raamatusta",
    "Paina 'Luo reels' -painiketta",
    "Valitse malli ja tyyli",
    "Esikatsele ja julkaise"
  ]
}

Rules:

  • Finnish language, calm and supportive tone
  • Non-technical — describe what the user sees, not implementation details
  • Short sentences, max 15 words per step
  • Reference canonical core_tasks[].label for consistency

6. Generate Search Index

Map Finnish keywords to task/path IDs:

json
{
  "entries": [
    { "keywords": ["reels", "kuva", "jae", "julkaise"], "type": "path", "id": "create_and_share_reel" },
    { "keywords": ["haku", "etsi", "jae"], "type": "task", "id": "search_verses" }
  ]
}

Never add keywords that don't appear in the canonical model or help content.

7. Output Files

File Purpose
packages/help-guide/src/*.tsx Shared components
apps/.../data/help-content.json Help content for all tasks/paths
apps/.../data/help-search-index.json Search keyword index
apps/.../components/help/HelpModeToggle.tsx App-level help button
apps/.../components/help/HelpPage.tsx Full help page (optional)

Rules

  • All user-facing text in Finnish
  • Calm, supportive, non-technical tone
  • Never redefine tasks or paths from core-user-model.json
  • Havainnepolku steps must exactly match canonical path steps
  • Help mode is non-blocking — user can always dismiss
  • Search only uses canonical terminology
  • Components go in packages/help-guide/, app wiring in apps/raamattu-nyt/

Didn't find tool you were looking for?

Be as detailed as possible for better results