S

SideButton Marketing Website Knowledge Module

Knowledge Packs Directory — SideButton Marketing Website Knowledge Module

The Knowledge Packs directory at `/skills` is the public-facing catalog of installable skill packs for SideButton AI agents. It lets users browse 21 available packs and 35 coming-soon packs, search b…

Available free v1.0.3 Browser
$ sidebutton install sidebutton.com
Download ZIP
Verified 2026-04-01

What This Is

The Knowledge Packs directory at /skills is the public-facing catalog of installable skill packs for SideButton AI agents. It lets users browse 21 available packs and 35 coming-soon packs, search by name/description, filter by category, and view detail pages with module lists, roles, and install commands. A "Publish knowledge packs for free" banner encourages community contributions via /contribute. No authentication required.

URL Patterns

RoutePurpose
/skillsDirectory listing — all available + coming soon packs
/skills/{slug}Detail page for a single pack (e.g., /skills/github, /skills/sidebutton)

No query params observed — search and filters are client-side state only.

Page Structure — Directory (/skills)

+--[Header: logo, nav, Book a Demo, GitHub]--+
|                                             |
|  [H1: Knowledge Packs]                     |
|  [Description paragraph]                   |
|                                             |
|  [Publish CTA banner: init → publish]      |
|                        [Learn how button]   |
|                                             |
|  [Search box]  [All][devops][marketing]...  |
|                                             |
|  AVAILABLE (N)                              |
|  [Card] [Card] [Card]  ← 3-column grid     |
|  [Card] [Card] [Card]                       |
|  ...                                        |
|                                             |
|  COMING SOON (35)                           |
|  [Card] [Card] [Card]  ← 3-column grid     |
|  ...                                        |
|                                             |
|  [Missing a knowledge pack? CTA]           |
|                                             |
+--[Footer]-----------------------------------+

Page Structure — Detail (/skills/{slug})

+--[Header]-----------------------------------+
|                                             |
|  [Breadcrumb: Knowledge Packs / {Name}]    |
|                                             |
|  [Logo] [Pack Name]                        |
|         [Description]                       |
|         [Status badge] [N modules] [Free]  |
|                                             |
|  [Install command block — dark background] |
|                                             |
|  [Modules list]        | [Sidebar]         |
|  - module card         | ROLES             |
|  - module card         |   [badge] [badge] |
|  - module card         | LINKS             |
|                        |   Website →       |
|                        |   Source code →    |
|                        |   Documentation → |
|                                             |
+--[Footer]-----------------------------------+

Key Elements — Directory

ElementSelector / RefNotes
Page headingheading "Knowledge Packs"H1, top of main
DescriptionParagraph below H1Static text about installable domain knowledge
Publish CTA bannerContainer with "Publish knowledge packs for free"Shows sidebutton init → sidebutton publish command
Learn how linklink "Learn how"Green button in CTA banner → /contribute
Search boxsearchbox "Search knowledge packs..."Filters Available cards in real-time against data-searchable (name + description + module names); Coming Soon unaffected
Category: Allbutton "All"Shows all available packs (default active). CSS: filter-btn class, is-active when selected
Category: devopsbutton "devops"Filters to devops-tagged packs (SideButton)
Category: marketingbutton "marketing"Filters to marketing-tagged packs (Reddit)
Category: operationsbutton "operations"Filters to operations-tagged packs (GitHub, Jira, Slack)
Category: personalbutton "personal"Filters to personal-tagged packs (Spotify, YouTube Music)
Category: researchbutton "research"Filters to research-tagged packs (Wikipedia)
Category: salesbutton "sales"Filters to sales-tagged packs (LinkedIn)
Available headingheading "Available (N)"Count updates dynamically with search/filter
Pack card (Available)link containing heading "{Pack Name}"Entire card is a link to /skills/{slug}
Card: logoimg inside card linkApp icon or letter-initial avatar
Card: nameheading inside card linkPack name as H3
Card: status badgeText "Featured" or "Available"Green badge on each card
Card: module/role countText like "3 modules · 2 roles"Below name
Card: descriptionParagraph textOne-line description
Card: install commandCode text sidebutton install {name}Monospace, gray background
Card: version + dateText like "v1.0.0 · Mar 2026"Bottom of card
Card: install countText like "Installed 47 times"Bottom of card
Card: data-categorydata-category attribute on .pack-cardSingle category string for curated packs; empty for domain packs
Card: data-searchabledata-searchable attribute on .pack-cardContains name + description + module names; used by search filter
Coming Soon headingheading "Coming soon (35)"Static count, unaffected by search/filter
Coming Soon cardNon-link card with heading + descriptionNot clickable, shows "Coming soon" badge
Missing CTA headingheading "Missing a knowledge pack?"Bottom of page
Contribute linklink "Learn how to contribute"/contribute

Key Elements — Detail Page

ElementSelector / RefNotes
Breadcrumb navnavigation containing link "Knowledge Packs"Breadcrumb trail at top; page title = "{Pack Name} Knowledge Pack | SideButton"
Back linklink "Knowledge Packs" (in breadcrumb)Returns to directory listing
Pack logoimg before headingLarge icon; packs without logo show no img (letter-initial on card only)
Pack nameheading "{Pack Name}"H1 in main
Descriptionp below headingOne-line pack description (not in accessibility tree — use JS document.querySelector('main p'))
Status badgespan with text "Available"Always "Available" on detail pages — "Featured" badge only appears on directory cards
Module countspan with text like "2 modules"Not in accessibility tree
Price labelspan with text "Free"Not in accessibility tree
Install blockcode containing sidebutton install {name}Dark background container; $ prefix is a separate span
Modules headingheading "Modules"Section in region landmark
Module cardH3 heading + sibling paragraphModule name as H3, description in next sibling paragraph; 0-module packs show heading with empty list
Roles headingheading "Roles"In complementary sidebar (sticky top-24)
Role badgesspan with classes rounded-full capitalizePill-style badges (e.g., "software engineer", "qa", "sd") — lowercase in DOM
Links headingheading "Links"In complementary sidebar
Website linklink "{Name} website →"External link to app site
Source code linklink "Source code →"External link to repo
Documentation linklink "Documentation →"External link to docs

Data Model

Pack Types

The directory contains two types of Available packs:

TypeCountSlug PatternCategoryExample
Curated10Short name (github)Assigned (one per pack)GitHub → /skills/github
Domain10Domain name (github.com)None (empty data-category)GitHub → /skills/github.com
Standalone1VariesNonesidebutton-website → /skills/sidebutton.com

Curated packs have friendly names, categories, and enriched data-searchable (includes module names). Domain packs use the registry domain as slug and have minimal searchable content. Only curated packs appear under category filters; domain packs show under "All" only.

Category → Pack Mapping

CategoryCurated Packs
devopsSideButton
operationsGitHub, Jira, Slack
marketingReddit
salesLinkedIn
personalSpotify, YouTube Music
researchWikipedia
(none)Agent Ops, SideButton Dashboard, Skill Discovery, sidebutton-website + all 10 domain packs

Knowledge Pack (Available)

FieldTypeValuesExample
namestringPack display name"GitHub"
slugstringURL-safe identifier"github" (curated) or "github.com" (domain)
descriptionstringOne-line summary"Automate pull requests, issues, and releases"
statusenumFeatured, Available"Available" (only SideButton curated is "Featured" on directory)
logoimageApp icon or letter initialGitHub octocat (some packs use text-based letter avatar)
modulesarrayList of {name, description}[{name: "pull-requests", desc: "Review, create, and merge pull requests"}]
module_countnumberCount of modules2
rolesarrayRole names["Software Engineer"]
role_countnumberCount of roles1
categorystringSingle category or empty"operations" (curated only; domain packs always empty)
install_commandstringCLI install command"sidebutton install github"
versionstringSemver"v1.0.0"
datestringPublish month"Mar 2026"
install_countnumberTotal installs47
pricestringAlways "Free" currently"Free"

Knowledge Pack (Coming Soon)

FieldTypeValuesExample
namestringApp name"Asana"
logoimageApp icon or letter initialAsana icon (Wave, Workday use text-based avatars)
module_countnumberAlways 00
statusenumAlways "Coming soon""Coming soon"
descriptionstringOne-line summary"Work management platform for teams"

States

StateTriggerVisual Indicator
DefaultPage load /skills"All" button active (is-active class), all 21 available packs shown in 3-column grid, 35 coming soon below
Search filteredType in search boxAvailable count updates (e.g., "Available (2)"), only matching cards shown; Coming Soon unaffected. Matches against data-searchable (name + description + module names)
Category filteredClick category button (devops/marketing/etc.)Active button gets is-active class (green border/text), Available count updates, only curated packs with matching data-category shown; domain packs hidden; Coming Soon unaffected
Search + category combinedType in search while a category is activeAND logic — pack must match both category AND search term. E.g., "operations" + "jira" = Available (1)
Empty search resultsSearch with no matches"Available (0)" heading + "No knowledge packs match your search." message; Coming Soon still shown
Empty category resultsCategory with search that has no overlapSame empty state as above
Detail pageClick an Available pack cardNavigates to /skills/{slug} with breadcrumb, pack header, install command, modules list, sidebar
Detail page (0 modules)View pack with 0 modules"Modules" heading shown with empty content area — no "no modules" message
Detail page (no logo)View pack without logo imageNo logo img element rendered (unlike directory card which shows letter-initial avatar)
Cookie dialogFirst visitModal dialog with "Cookie Notice", Accept/Reject buttons, Privacy Policy link

Common Tasks

1. Search for a knowledge pack

  1. Navigate to /skills
  2. Click the search box (searchbox "Search knowledge packs...")
  3. Type the pack name (e.g., "github")
  4. Available cards filter in real-time; count in heading updates
  5. Click a matching card to view details

2. Filter by category

  1. On /skills, click a category button (e.g., button "sales")
  2. Available section filters to matching packs; count updates
  3. Click button "All" to reset filter

3. View pack details

  1. Click any Available pack card (entire card is a link)
  2. Detail page loads with breadcrumb, pack info, install command
  3. Review modules list and roles in sidebar
  4. Click link "Knowledge Packs" in breadcrumb to return to directory

4. Copy install command

  1. On detail page, locate the dark "Install" block
  2. The command is displayed as $ sidebutton install {name}
  3. Select and copy the command text

5. Navigate to contribute guide

  1. Click link "Learn how" in the publish CTA banner, OR
  2. Click link "Learn how to contribute" at bottom of page
  3. Both navigate to /contribute

Tips

  • Search is client-side and filters instantly — no debounce or Enter key needed
  • Search and category filters use AND logic when combined — a pack must match both to appear
  • Category filters only affect curated packs (those with a data-category attribute); domain-based packs (slug = domain name) appear only under "All"
  • Coming Soon cards are static and not filterable by search or category
  • Available cards show the full install command directly on the card — no need to open detail page just to get it
  • Pack cards with app icons use the real logo; packs without icons show a colored letter-initial avatar
  • The "Featured" badge appears only on the SideButton curated pack in the directory; on detail pages, all packs show "Available"
  • The active category button gets the is-active CSS class (filter-btn is-active) — detectable in DOM even though not exposed in accessibility tree
  • Card filtering uses display: none on .pack-card elements (cards remain in DOM, just hidden)
  • Search matches against data-searchable attribute which includes pack name, description, AND module names for curated packs

Gotchas

  • Coming Soon section count (35) never changes regardless of search or filter input — only the Available section is dynamic
  • Search matches against data-searchable which includes module names for curated packs but NOT for domain packs — domain pack searchable content is sparser (name + description only, no module names)
  • Category filter buttons have no visible "active" state difference in the accessibility tree — the is-active CSS class is only detectable via DOM inspection or evaluate(), not via snapshot()
  • Domain-based packs (slug = domain name) never appear under category filters — they have empty data-category. Only visible under "All"
  • The install command on cards may be truncated with "..." for long package names (e.g., "sidebutton install github..." for "github.com") — the detail page shows the full command
  • Detail page markdown content returns empty from snapshot(includeContent=true) — use evaluate() with DOM queries for description, badges, and install command text
  • Detail page description, status badge, module count, price label, and install command are rendered as span/code elements not exposed in the accessibility tree — requires evaluate() or extract() to read
  • Some Coming Soon cards (Wave, Workday) show letter initials without an img element — their logos are text-based avatars
  • The sidebar on detail pages uses sticky top-24 positioning — it follows the viewport when scrolling through long module lists
  • Cookie dialog may reappear in snapshot results even after accepting — snapshots can trigger a re-render that re-shows it