information-architecture

4
0
Source

Design information architecture - site structure, navigation, card sorting, tree testing, taxonomy, labeling systems, and findability.

Install

mkdir -p .claude/skills/information-architecture && curl -L -o skill.zip "https://mcp.directory/api/skills/download/3229" && unzip -o skill.zip -d .claude/skills/information-architecture && rm skill.zip

Installs to .claude/skills/information-architecture

About this skill

Information Architecture

Design and validate information structures that help users find and understand content.

When to Use This Skill

Use this skill when:

  • Information Architecture tasks - Working on design information architecture - site structure, navigation, card sorting, tree testing, taxonomy, labeling systems, and findability
  • Planning or design - Need guidance on Information Architecture approaches
  • Best practices - Want to follow established patterns and standards

MANDATORY: Skill Loading First

Before answering ANY information architecture question:

  1. Use established IA methodology (Rosenfeld & Morville, Abby Covert)
  2. Base all guidance on validated IA practices

IA Foundations

The Four Systems of IA

SystemQuestion AnsweredComponents
OrganizationHow is content grouped?Schemes, structures, taxonomies
LabelingWhat do we call things?Labels, terminology, naming
NavigationHow do users move around?Menus, links, breadcrumbs
SearchHow do users find specific items?Search UI, indexing, results

IA Deliverables

DeliverablePurposeWhen
Content InventoryAudit existing contentDiscovery
Site MapHierarchical structureDesign
TaxonomyClassification schemeDesign
Navigation ModelMenu and wayfindingDesign
WireframesPage-level IADesign
Card Sort ResultsUser mental modelsValidation
Tree Test ResultsFindability validationValidation

Organization Systems

Organization Schemes

SchemeDescriptionExample
ExactObjectively definedAlphabetical, chronological, geographical
AmbiguousSubjectively definedBy topic, audience, task, metaphor
HybridCombinationPrimary navigation + search + filters

Organization Structures

graph TD
    subgraph Hierarchical
    A[Top] --> B[Category 1]
    A --> C[Category 2]
    B --> D[Sub 1.1]
    B --> E[Sub 1.2]
    end

    subgraph Database
    F[(Products)] --> G[Filters]
    F --> H[Sort]
    F --> I[Search]
    end

    subgraph Hypertext
    J[Page A] <--> K[Page B]
    K <--> L[Page C]
    L <--> J
    end

Hierarchy Depth Guidelines

DepthUse CaseConsiderations
Flat (2-3)Simple sites, mobileEasy to scan, limited content
Medium (4-5)Most websitesBalance breadth/depth
Deep (6+)Large catalogs, documentationRisk of getting lost

Rule of thumb: Prefer broader over deeper. Users can scan 5-7 items quickly.

Card Sorting

Card Sort Types

TypeDescriptionBest For
OpenUsers create their own categoriesDiscovery, understanding mental models
ClosedUsers sort into predefined categoriesValidating proposed structure
HybridPredefined categories + can add newValidating with flexibility

Running a Card Sort

Preparation

// Card sort configuration
public class CardSortStudy
{
    public Guid Id { get; init; }
    public required string Name { get; init; }
    public required CardSortType Type { get; init; }
    public required List<Card> Cards { get; init; }
    public List<Category>? PredefinedCategories { get; init; } // For closed/hybrid
    public bool AllowNewCategories { get; init; } // For hybrid
    public int TargetParticipants { get; init; } = 30;
}

public record Card(int Id, string Label, string? Description = null);
public record Category(int Id, string Name, string? Description = null);

public class CardSortResult
{
    public required Guid ParticipantId { get; init; }
    public required List<CategoryAssignment> Assignments { get; init; }
    public required List<Category> CreatedCategories { get; init; } // Open/hybrid
    public TimeSpan Duration { get; init; }
    public string? Feedback { get; init; }
}

public record CategoryAssignment(int CardId, int CategoryId, int? SortOrder = null);

Card Selection Guidelines

  • 15-40 cards typical for open sort
  • 30-60 cards manageable for closed sort
  • Use real content labels, not placeholders
  • Include mix of "easy" and "difficult" items
  • Avoid duplicate concepts

Card Sort Analysis

Similarity Matrix

Shows how often cards were sorted together:

         Card A  Card B  Card C  Card D
Card A     -      85%     12%     45%
Card B    85%      -      10%     50%
Card C    12%     10%      -      90%
Card D    45%     50%     90%      -

Cards frequently sorted together should likely be grouped.

Dendrogram (Hierarchical Clustering)

              |
      ________|________
      |               |
   ___|___         ___|___
   |     |         |     |
Card A  Card B  Card C  Card D

Shows natural groupings and relationships.

Category Analysis

For open sorts, analyze:

  • Category names - What labels do users create?
  • Category frequency - How many users created similar categories?
  • Standardized categories - Group similar labels together
public class CardSortAnalysis
{
    public required int TotalParticipants { get; init; }
    public required Dictionary<(int CardA, int CardB), decimal> SimilarityMatrix { get; init; }
    public required List<DendrogramNode> Dendrogram { get; init; }
    public required List<CategoryPattern> DiscoveredPatterns { get; init; }
    public required List<ProblematicCard> DifficultCards { get; init; }
}

public record CategoryPattern(
    string StandardizedName,
    List<string> Variations,
    List<int> CardIds,
    int Frequency
);

public record ProblematicCard(
    int CardId,
    string Label,
    decimal Disagreement, // How often it was sorted inconsistently
    string Issue // "Ambiguous label", "Fits multiple categories", etc.
);

Tree Testing

What is Tree Testing?

Users navigate a text-only version of your hierarchy to find items. No visual design, just structure.

Running a Tree Test

public class TreeTestStudy
{
    public Guid Id { get; init; }
    public required string Name { get; init; }
    public required TreeNode Root { get; init; }
    public required List<TreeTestTask> Tasks { get; init; }
    public int TargetParticipants { get; init; } = 50;
}

public class TreeNode
{
    public int Id { get; init; }
    public required string Label { get; init; }
    public List<TreeNode> Children { get; init; } = [];
    public bool IsCorrectAnswer { get; set; } // For current task
}

public class TreeTestTask
{
    public required int Order { get; init; }
    public required string TaskDescription { get; init; }
    public required List<int> CorrectAnswerPaths { get; init; } // Multiple valid paths
}

public class TreeTestResult
{
    public required Guid ParticipantId { get; init; }
    public required int TaskId { get; init; }
    public required List<int> PathTaken { get; init; }
    public required int FinalSelection { get; init; }
    public required bool IsDirectSuccess { get; init; } // Found it first try
    public required bool IsIndirectSuccess { get; init; } // Found after backtracking
    public required TimeSpan Duration { get; init; }
}

Tree Test Metrics

MetricDefinitionTarget
Success RateFound correct answer>80%
DirectnessFound without backtracking>60%
TimeSeconds to completeTask-dependent
First ClickCorrect first navigation>60%

Pietree Analysis

Visualize where users went for each task:

Task: "Find return policy"

Customer Service [45%] ✓ Correct path
├── Returns [40%] ✓
├── FAQ [3%]
└── Contact [2%]

Help [30%]
├── FAQ [20%]
└── Contact [10%]

Account [15%] ✗ Wrong tree
└── Order History [15%]

About [10%] ✗ Wrong tree
└── Policies [10%]

Identifying Problems

PatternIndicationSolution
Low success, low directnessWrong location in hierarchyRestructure
Low success, high first-clickRight area, wrong labelRename
High success, low directnessFindable but confusing pathSimplify
Split decisionsAmbiguous placementCross-reference or restructure

Navigation Design

Navigation Types

TypePurposeExample
GlobalSite-wide accessHeader menu
LocalSection-specificSidebar in current area
ContextualContent-related"Related items" links
UtilityTools/accountLogin, cart, help
FooterSecondary accessPolicies, contact
BreadcrumbsLocation awarenessHome > Products > Shoes

Navigation Patterns

// Navigation model
public class NavigationStructure
{
    public required List<NavItem> GlobalNav { get; init; }
    public required List<NavItem> UtilityNav { get; init; }
    public required List<NavItem> FooterNav { get; init; }
    public Dictionary<string, List<NavItem>> LocalNav { get; init; } = [];
}

public class NavItem
{
    public required string Label { get; init; }
    public required string Url { get; init; }
    public List<NavItem>? Children { get; init; }
    public bool IsCurrentSection { get; set; }
    public string? Icon { get; init; }
    public NavItemType Type { get; init; } = NavItemType.Link;
}

public enum NavItemType
{
    Link,
    Dropdown,
    Megamenu,
    Flyout,
    Button // For CTAs like "Sign Up"
}

Mega Menu Structure

For sites with many categories:

┌─────────────────────────────────────────────────────┐
│ PRODUCTS ▼                                          │
├─────────────────────────────────────────────────────┤
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐  │
│ │ Category A   │ │ Category B   │ │ Catego

---

*Content truncated.*

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

643969

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

591705

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

318399

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

340397

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

452339

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

304231

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.