IN

information-architecture

Provides methodologies for structuring content, navigation, and labeling to improve user experience.

Install

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

Installs to .claude/skills/information-architecture

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Design information architecture - site structure, navigation, card sorting, tree testing, taxonomy, labeling systems, and findability.
134 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Audits existing site content structures
  • Creates hierarchical site maps
  • Designs classification taxonomies
  • Validates navigation models

How it works

Applies established IA frameworks (Rosenfeld & Morville) to map hierarchies and navigation labeling systems.

Inputs & outputs

You give it
Content requirements and organizational goal
You get back
Validated information architecture framework

When to use information-architecture

  • Create a site map
  • Design taxonomy for documentation
  • Plan navigation menus

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.*

When not to use it

  • Projects consisting of only single-page applications
  • When speed is prioritized over user findability

Prerequisites

Access to site inventory or documentation

Limitations

  • IA requires significant time for user validation
  • Requires deep knowledge of target content domain

How it compares

Uses formalized, validated methodologies rather than arbitrary site design.

Compared to similar skills

information-architecture side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
information-architecture (this skill)17moNo flagsIntermediate
design-research94moNo flagsIntermediate
user-journeys134moNo flagsIntermediate
brief03moNo flagsBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

Search skills

Search the agent skills registry