{"id":34675319,"url":"https://github.com/semanticintent/pace-pattern","last_synced_at":"2026-01-13T20:44:46.886Z","repository":{"id":330332359,"uuid":"1122425677","full_name":"semanticintent/pace-pattern","owner":"semanticintent","description":"PACE (Pattern for Agentic Conversational Experience) is a design framework that inverts the traditional relationship between users and interfaces. Instead of presenting catalogs, menus, or navigation hierarchies for users to browse, PACE implementations use an AI guide to lead users through conversation toward their goals.","archived":false,"fork":false,"pushed_at":"2025-12-24T20:00:10.000Z","size":48,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-26T09:07:52.056Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/semanticintent.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":null},"created_at":"2025-12-24T17:42:01.000Z","updated_at":"2025-12-25T21:44:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/semanticintent/pace-pattern","commit_stats":null,"previous_names":["semanticintent/pace-pattern"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/semanticintent/pace-pattern","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semanticintent%2Fpace-pattern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semanticintent%2Fpace-pattern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semanticintent%2Fpace-pattern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semanticintent%2Fpace-pattern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/semanticintent","download_url":"https://codeload.github.com/semanticintent/pace-pattern/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semanticintent%2Fpace-pattern/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28399932,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T14:36:09.778Z","status":"ssl_error","status_checked_at":"2026-01-13T14:35:19.697Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-24T20:28:33.075Z","updated_at":"2026-01-13T20:44:46.880Z","avatar_url":"https://github.com/semanticintent.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# PACE: Pattern for Agentic Conversational Experience\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18049371.svg)](https://doi.org/10.5281/zenodo.18049371)\n[![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/)\n[![Demo](https://img.shields.io/badge/demo-PACE%201.0.1-blue)](https://demo.millpond.dev)\n[![Production](https://img.shields.io/badge/production-MillPond-green)](https://millpond.dev)\n\n**A framework for guide-first interfaces where AI leads users through conversation rather than traditional navigation.**\n\n\u003e *\"Don't make users hunt. Let the guide fish for them.\"*\n\n---\n\n## Abstract\n\nPACE (Pattern for Agentic Conversational Experience) is a design framework that inverts the traditional relationship between users and interfaces. Instead of presenting catalogs, menus, or navigation hierarchies for users to browse, PACE implementations use an AI guide to lead users through conversation toward their goals.\n\nThe framework defines four behavioral principles that form a recursive acronym:\n\n- **P**roactive — The guide initiates, suggests, and anticipates\n- **A**daptive — The guide matches user expertise and adjusts communication\n- **C**ontextual — The guide remembers, references, and builds on history\n- **E**fficient — The guide is concise, actionable, and moves users forward\n\n**Author:** Michael Shatny  \n**ORCID:** [0009-0006-2011-3258](https://orcid.org/0009-0006-2011-3258)  \n**Date:** December 2025  \n**License:** [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)\n\n---\n\n## The Problem PACE Solves\n\nTraditional digital interfaces—especially in commerce, documentation, and enterprise software—operate on a **browse-and-hunt** paradigm:\n\n```\nTraditional Interface:\n┌─────────────────────────────────────┐\n│  Here's everything we have.        │\n│  Good luck finding what you need.  │\n│                                     │\n│  [Grid of 47 products]              │\n│  [12 filter options]                │\n│  [Search box]                       │\n│                                     │\n│  User must: Learn taxonomy          │\n│             Know what to search     │\n│             Browse exhaustively     │\n└─────────────────────────────────────┘\n```\n\nThis places cognitive burden on users who may not know what they're looking for, don't understand the taxonomy, or simply want guidance rather than options.\n\nPACE inverts this relationship:\n\n```\nPACE Interface:\n┌─────────────────────────────────────┐\n│  🐦 Guide                           │\n│                                     │\n│  \"Welcome! I just helped someone    │\n│   solve a similar problem in 3     │\n│   minutes. Tell me what you're     │\n│   building, and I'll point you     │\n│   to exactly what you need.\"       │\n│                                     │\n│  [Ask anything...]                  │\n│                                     │\n│  User must: Describe their goal    │\n│  Guide does: Everything else       │\n└─────────────────────────────────────┘\n```\n\n---\n\n## The Recursive Acronym\n\nPACE works on two complementary levels:\n\n### Layer 1: The Framework (What)\n\n\u003e **P**attern for **A**gentic **C**onversational **E**xperience\n\nThis defines what PACE is: a design pattern for building AI-guided interfaces.\n\n### Layer 2: The Principles (How)\n\n\u003e **P**roactive, **A**daptive, **C**ontextual, **E**fficient\n\nThis defines how PACE implementations should behave.\n\nThe same four letters. Two complementary meanings. Self-documenting.\n\n---\n\n## The Four Principles\n\n### Proactive\n\nThe guide doesn't wait for users to figure out what to do.\n\n**Traditional:** \"How can I help you?\"  \n**PACE:** \"I just helped someone set up their first integration in 3 minutes. I can do the same for you—or if you're exploring, tell me what you're building.\"\n\n**Implementation:**\n- First message demonstrates capability\n- Suggests next steps before being asked\n- Auto-prompts after inactivity\n- Surfaces relevant options proactively\n\n### Adaptive\n\nThe guide matches the user's expertise level and adjusts communication accordingly.\n\n**To a beginner:** \"MCP servers let Claude connect to external services. Think of them as bridges between Claude and the tools you already use.\"\n\n**To an expert:** \"Perch MCP exposes D1 database introspection APIs. Supports semantic anchoring, schema analysis, and query optimization—ideal for performance debugging.\"\n\n**Implementation:**\n- Detects expertise from language patterns\n- Adjusts technical depth dynamically\n- Offers appropriate entry points\n- Never condescends or overwhelms\n\n### Contextual\n\nThe guide remembers the conversation and references relevant information.\n\n**Without context:** \"Here are all our products...\"\n**With context:** \"Since you mentioned slow database queries and using D1, Perch MCP is your best option. It analyzes your schema and suggests index optimizations automatically.\"\n\n**Implementation:**\n- Maintains conversation history\n- References previous statements\n- Builds recommendations on accumulated context\n- Shows reasoning (\"Based on what you told me...\")\n\n### Efficient\n\nThe guide is concise and actionable. Every response moves the user forward.\n\n**Inefficient:** \"There are many considerations when choosing an MCP server. First, you should think about your use case. Then, consider the technical requirements. After that...\"\n\n**Efficient:** \"For database performance: Perch MCP. Analyzes your D1 schema, suggests indexes, free. Want to scan your database now?\"\n\n**Implementation:**\n- No filler, no excessive caveats\n- Leads with the answer\n- Offers clear next actions\n- Respects user's time\n\n---\n\n## Design Philosophy\n\n### Zero-Friction Onboarding\n\nUsers should never feel like they're learning an interface. The interaction should feel natural—like talking to a knowledgeable friend.\n\n### Discovery Disguised as Play\n\nExploration should be enjoyable, not exhausting. The guide makes finding things feel like a conversation, not a chore.\n\n### Honest Guidance\n\nPACE implementations guide users to what's genuinely best for them—including free options when appropriate. The goal is trust, not conversion.\n\n### Permission Slips\n\nInteractive elements (pills, cards, suggestions) give users permission to engage. They lower the barrier to first interaction by signaling \"you can click this safely.\"\n\n---\n\n## Reference Implementation: MillPond\n\nMillPond is the first implementation of the PACE pattern—a conversational storefront where an AI guide named **Cormorant** helps users discover tools and products.\n\n- **Interactive Demo:** [demo.millpond.dev](https://demo.millpond.dev) - PACE 1.0.1 pattern showcase\n- **Production Site:** [millpond.dev](https://millpond.dev) - Live storefront with AI chat\n\n### Latest Features (December 2025)\n\n| Feature | Description | Key Benefit |\n|---------|-------------|-------------|\n| **Executive Summary Panel** ⭐ | Live display of what the guide knows | Transparency \u0026 trust |\n| **Animated Cormorant** 🐦 | Flying entrance + thinking states + easter eggs | Memorable brand experience |\n| **Dynamic Pills** | Context-aware interaction shortcuts | Low-friction engagement |\n| **Social Proof** | Real-time activity signals | Validation \u0026 confidence |\n| **Inactivity Prompts** | Gentle nudges after 5s of hesitation | Proactive assistance |\n\n*Note: MillPond is in early deployment. See [METRICS.md](METRICS.md) for projected impact data.*\n\n### The Metaphor\n\nMillPond uses a consistent foraging metaphor inspired by watching cormorants fish at Mill Pond Park, Richmond Hill, Ontario:\n\n- **Cormorant** — The guide (a diving bird that hunts with purpose)\n- **Pond** — The storefront environment\n- **Fishing** — Discovering products through conversation\n- **Dive** — Deep exploration of user needs\n- **Surface** — Delivering the right solution\n\n**The greeting:** *\"Welcome to the pond. What are you fishing for?\"*\n\nThis biological metaphor is [documented in detail](INSPIRATION.md) with research citations.\n\n---\n\n## PACE vs. Existing Patterns\n\n| Pattern | Focus | PACE Difference |\n|---------|-------|-----------------|\n| **Conversational Commerce** | Adding chat to shopping | PACE: Conversation IS the interface |\n| **Chatbot UX** | Bot interaction design | PACE: Guide-first, not support-first |\n| **Agentic UX** | AI autonomy patterns | PACE: Specific principles for commerce/discovery |\n| **Virtual Assistants** | General AI helpers | PACE: Named persona, honest guidance |\n| **Guided Selling** | Sales-driven flows | PACE: User-goal-driven, includes free options |\n\n---\n\n## Implementation Checklist\n\nUse this checklist to evaluate whether an interface implements PACE:\n\n### Proactive\n- [ ] First message demonstrates capability (not just greets)\n- [ ] Guide suggests next steps without being asked\n- [ ] Inactive users receive gentle prompts\n- [ ] Relevant options surface proactively\n\n### Adaptive\n- [ ] Technical depth adjusts to user expertise\n- [ ] Multiple entry points for different user types\n- [ ] Language matches user's communication style\n- [ ] Never condescends or overwhelms\n\n### Contextual\n- [ ] Conversation history is maintained\n- [ ] Previous statements are referenced\n- [ ] Recommendations build on accumulated context\n- [ ] Reasoning is transparent (\"Based on...\")\n\n### Efficient\n- [ ] Responses lead with answers\n- [ ] No filler or excessive caveats\n- [ ] Clear next actions are offered\n- [ ] User time is respected\n\n---\n\n## Connection to Semantic Intent\n\nPACE is part of the broader **Semantic Intent** philosophy, which emphasizes clarity before code and intent before implementation.\n\nThe relationship:\n\n```\nSemantic Intent (Philosophy)\n├── \"Clarity before code\"\n├── \"Intent before implementation\"\n└── Natural language as source of truth\n          ↓\n    PACE Pattern (Framework)\n    ├── Pattern for Agentic Conversational Experience\n    ├── Proactive, Adaptive, Contextual, Efficient\n    └── Guide-first interaction design\n              ↓\n        MillPond (Implementation)\n        ├── Cormorant as guide\n        ├── Conversation over catalog\n        └── \"Ask, don't browse\"\n```\n\nFor more on Semantic Intent, see: [Semantic Intent as Single Source of Truth](https://semanticintent.dev/papers/semantic-intent-ssot) (DOI: [10.5281/zenodo.17114972](https://doi.org/10.5281/zenodo.17114972))\n\n---\n\n## Repository Structure\n\n```\npace-pattern/\n├── README.md              # This file - pattern overview\n├── PRINCIPLES.md          # Deep dive on P-A-C-E principles\n├── IMPLEMENTATION.md      # Technical implementation guide with code\n├── INSPIRATION.md         # Biological foundations (cormorant foraging)\n├── METRICS.md             # Framework for measuring PACE effectiveness\n├── CONTRIBUTING.md        # How to participate in PACE development\n├── CITATION.cff           # Machine-readable citation metadata\n├── LICENSE                # CC BY 4.0 license\n├── CHANGELOG.md           # Version history\n└── examples/\n    └── millpond/          # Reference implementation case study\n```\n\n---\n\n## Citation\n\nIf you use or reference PACE in your work, please cite:\n\n### APA Style\n\nShatny, M. (2025). PACE: Pattern for Agentic Conversational Experience. GitHub. https://github.com/semanticintent/pace-pattern. ORCID: 0009-0006-2011-3258\n\n### BibTeX\n\n```bibtex\n@misc{shatny2025pace,\n  author = {Shatny, Michael},\n  title = {PACE: Pattern for Agentic Conversational Experience},\n  year = {2025},\n  publisher = {GitHub},\n  url = {https://github.com/semanticintent/pace-pattern},\n  note = {ORCID: 0009-0006-2011-3258}\n}\n```\n\n---\n\n## License\n\nThis work is licensed under [Creative Commons Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/).\n\nYou are free to:\n- **Share** — copy and redistribute the material in any medium or format\n- **Adapt** — remix, transform, and build upon the material for any purpose\n\nUnder the following terms:\n- **Attribution** — You must give appropriate credit, provide a link to the license, and indicate if changes were made.\n\n---\n\n## Author\n\n**Michael Shatny**  \nOntario, Canada  \nORCID: [0009-0006-2011-3258](https://orcid.org/0009-0006-2011-3258)\n\nPart of the [Semantic Intent](https://semanticintent.dev) ecosystem.\n\n---\n\n*\"Welcome to the pond. What are you fishing for?\"* 🐦\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsemanticintent%2Fpace-pattern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsemanticintent%2Fpace-pattern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsemanticintent%2Fpace-pattern/lists"}