ACP Primer
AI Context Protocol primer definition for AI context bootstrapping
| Type | object |
|---|---|
| File match |
primer.json
*.primer.json
primer.defaults.json
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/acp-primer/latest.json |
| Source | https://acp-protocol.dev/schemas/v1/primer.schema.json |
Validate with Lintel
npx @lintel/lintel check
Defines the structure for AI context primers - the bootstrapping layer that teaches AI systems about ACP
Properties
Primer schema version (semver)
All available primer sections
Reference to this schema
7 nested properties
Human-readable name for this primer definition
Purpose and scope of this primer
Author or organization
License for this primer definition
Minimum ACP CLI version required
When this primer definition was created
When this primer definition was last updated
Registry of tool capabilities that sections can require
Section categories with metadata
Configuration for how sections are selected within budget
7 nested properties
Selection algorithm
Weights for multi-dimensional value calculation
4 nested properties
Weight for safety dimension
Weight for efficiency dimension
Weight for accuracy dimension
Weight for base value
Named weight presets (e.g., 'safe', 'efficient', 'balanced')
Selection phases in order
Minimum tokens required (for required sections)
Per-category budget constraints
Whether to evaluate dynamic value modifiers
Global output format configurations
3 nested properties
4 nested properties
3 nested properties
3 nested properties
Configuration for the ACP knowledge base
5 nested properties
Whether knowledge store features are enabled
Path to keyword/tag index
Path to optional vector database
Fall back to keyword index if semantic DB unavailable
Knowledge content sections
Definitions
Human-readable name for this primer definition
Purpose and scope of this primer
Author or organization
License for this primer definition
Minimum ACP CLI version required
When this primer definition was created
When this primer definition was last updated
Registry of tool capabilities that sections can require
{ "shell": { "id": "shell", "name": "Shell Execution", "description": "Can execute shell/terminal commands", "tools": [ "cursor", "claude-code", "aider", "cline", "windsurf" ] }, "mcp": { "id": "mcp", "name": "Model Context Protocol", "description": "Supports MCP tool integration", "tools": [ "claude-code", "continue", "cline" ] }, "file-read": { "id": "file-read", "name": "File System Read", "description": "Can read files from the filesystem", "tools": [ "cursor", "claude-code", "copilot", "continue", "cline", "windsurf" ] }, "file-write": { "id": "file-write", "name": "File System Write", "description": "Can write/modify files", "tools": [ "cursor", "claude-code", "aider", "cline", "windsurf" ] }, "http": { "id": "http", "name": "HTTP Requests", "description": "Can make HTTP requests to APIs", "tools": [ "claude-code", "cline" ] } }
Unique capability identifier
Human-readable name
What this capability enables
Tools that have this capability
Optional command to detect capability at runtime
Unique category identifier
Human-readable category name
What this category covers
Category-level priority (lower = higher priority)
Color for CLI visualization
Emoji or icon for display
4 nested properties
Minimum tokens to allocate to this category
Maximum tokens to allocate to this category
Minimum percentage of budget for this category
Maximum percentage of budget for this category
Unique section identifier
Category this section belongs to
Token cost for this section
Multi-dimensional value scoring for section selection
5 nested properties
How critical for preventing harmful AI actions (0-100)
How much it saves future tokens/queries (0-100)
How much it improves response quality (0-100)
Baseline value independent of dimensions (0-100)
Dynamic modifiers based on project state
Output templates for different formats (at least one format required)
4 nested properties
7 nested properties
Handlebars template string
Header text before items (for list sections)
Footer text after items
Template for each item in a list
Separator between items
Template when no items
Wrap entire output
7 nested properties
Handlebars template string
Header text before items (for list sections)
Footer text after items
Template for each item in a list
Separator between items
Template when no items
Wrap entire output
7 nested properties
Handlebars template string
Header text before items (for list sections)
Footer text after items
Template for each item in a list
Separator between items
Template when no items
Wrap entire output
Human-readable section name
What this section provides to the AI
Section priority within category (lower = higher priority)
Always include regardless of budget optimization
Condition expression that makes this section required
Required capabilities (ANY of these)
Required capabilities (ALL of these)
Section IDs that must be included before this one. Warning: circular references must be prevented by implementation
Section IDs that cannot be included with this one. Warning: self-references should be prevented by implementation
Section IDs that this section supersedes
ACP version that introduced this section
Deprecation info if section is deprecated
3 nested properties
Data source configuration for dynamic sections
9 nested properties
Data path (e.g., 'cache.constraints.by_lock_level', 'vars.variables')
Fields to extract from each item
Field to sort by
Maximum number of items to include
Estimated tokens per item (for budget calculation)
What to do when data source is empty
Text to show if emptyBehavior is 'placeholder'
Tags for filtering and searching sections
Multi-dimensional value scoring for section selection
How critical for preventing harmful AI actions (0-100)
How much it saves future tokens/queries (0-100)
How much it improves response quality (0-100)
Baseline value independent of dimensions (0-100)
Dynamic modifiers based on project state
Conditional modifier that adjusts section value based on project state
Expression evaluated against project state (e.g., 'hacks.count > 0')
Add this amount to final score
Multiply final score by this amount
Override score to this value
Which dimension(s) to modify
Human-readable explanation for this modifier
Data source configuration for dynamic sections
Data path (e.g., 'cache.constraints.by_lock_level', 'vars.variables')
Fields to extract from each item
Field to sort by
Maximum number of items to include
Estimated tokens per item (for budget calculation)
What to do when data source is empty
Text to show if emptyBehavior is 'placeholder'
Output templates for different formats (at least one format required)
7 nested properties
Handlebars template string
Header text before items (for list sections)
Footer text after items
Template for each item in a list
Separator between items
Template when no items
Wrap entire output
2 nested properties
7 nested properties
Handlebars template string
Header text before items (for list sections)
Footer text after items
Template for each item in a list
Separator between items
Template when no items
Wrap entire output
2 nested properties
7 nested properties
Handlebars template string
Header text before items (for list sections)
Footer text after items
Template for each item in a list
Separator between items
Template when no items
Wrap entire output
2 nested properties
Handlebars template string
Header text before items (for list sections)
Footer text after items
Template for each item in a list
Separator between items
Template when no items
Wrap entire output
2 nested properties
Configuration for how sections are selected within budget
Selection algorithm
Weights for multi-dimensional value calculation
4 nested properties
Weight for safety dimension
Weight for efficiency dimension
Weight for accuracy dimension
Weight for base value
Named weight presets (e.g., 'safe', 'efficient', 'balanced')
Selection phases in order
Minimum tokens required (for required sections)
Per-category budget constraints
Whether to evaluate dynamic value modifiers
Weights for multi-dimensional value calculation
Weight for safety dimension
Weight for efficiency dimension
Weight for accuracy dimension
Weight for base value
A phase in the section selection process
Phase name for logging/debugging
Filter criteria for sections in this phase
6 nested properties
Maximum percentage of budget for this phase
Global output format configurations
4 nested properties
3 nested properties
3 nested properties
Configuration for the ACP knowledge base
Whether knowledge store features are enabled
Path to keyword/tag index
Path to optional vector database
Fall back to keyword index if semantic DB unavailable
Knowledge content sections
Knowledge section identifier
Knowledge content (markdown)
Section title
Searchable tags
Keywords for index lookup
Related knowledge section IDs
Source documentation file