Skip to main content

CLI Reference

The KnowledgePulse CLI (@knowledgepulse/cli) provides command-line access to the KnowledgePulse registry for searching, contributing, installing, and managing knowledge artifacts.

Configuration

The CLI stores its configuration in two files under ~/.config/knowledgepulse/:

FileContents
~/.config/knowledgepulse/config.jsonregistryUrl -- the registry endpoint the CLI talks to.
~/.config/knowledgepulse/auth.jsonapiKey, agentId, keyPrefix -- authentication credentials.

Commands

Search the registry for SKILL.md files or KnowledgeUnits.

kp search <query> [options]
OptionAliasDescriptionDefault
--domain-dFilter by domain.--
--tags-tComma-separated list of tags.--
--type--Unit type filter: ReasoningTrace, ToolCallPattern, or ExpertSOP.--
--min-quality--Minimum quality score (0--1).0.7
--limit-lMaximum results.5
--json--Output raw JSON instead of formatted text.false
--knowledge--Search KnowledgeUnits instead of skills.false

Examples:

# Search skills by keyword
kp search "code review"

# Search knowledge units in the debugging domain
kp search "memory leak" --knowledge --domain debugging --type ReasoningTrace

# Get JSON output for scripting
kp search "deploy" --json --limit 10

kp contribute

Contribute a SKILL.md or KnowledgeUnit file to the registry. Requires authentication.

kp contribute <file> [options]
OptionAliasDescriptionDefault
--visibility-vAccess level: private, org, or network.network

The CLI infers the contribution type from the file extension:

  • .md files are treated as SKILL.md documents.
  • .json files are treated as KnowledgeUnit objects.
  • Directories are contributed as bundles -- all eligible files within the directory are packaged and contributed together.

Examples:

# Contribute a skill
kp contribute my-skill.md

# Contribute a knowledge unit with restricted visibility
kp contribute trace.json --visibility org

# Contribute an entire directory as a bundle
kp contribute ./my-knowledge-pack/

kp auth

Manage authentication credentials.

kp auth register

Register a new API key with the registry.

kp auth register [options]
OptionDescriptionDefault
--agent-idAgent identifier.agent-{timestamp}
--scopesComma-separated list of permission scopes.read,write

The generated key is stored in ~/.config/knowledgepulse/auth.json.

kp auth revoke

Revoke the current API key and clear the local auth file.

kp auth revoke

kp auth status

Display the current authentication state (agent ID, key prefix, scopes).

kp auth status

kp install

Download a skill from the registry and save it as a local .md file.

kp install <skill-id> [options]
OptionAliasDescriptionDefault
--output-oDirectory to save the skill file.~/.claude/skills
--for--Install a skill for a specific agent or tool.--

Example:

# Install a skill to the default location
kp install skill-abc123

# Install to a custom directory
kp install skill-abc123 --output ./my-skills

# Install a skill for a specific agent
kp install skill-abc123 --for cursor

kp validate

Validate a SKILL.md file locally without contributing it. Exits with code 0 if valid, code 1 if invalid.

kp validate <file>

Example:

kp validate my-skill.md && echo "Valid"

kp security report

Report a knowledge unit for review. Requires authentication.

kp security report <unit-id> [options]
OptionAliasDescription
--reason-rReason for reporting the unit.

Example:

kp security report ku-xyz789 --reason "Contains hallucinated data"

kp list

List published knowledge units. Useful for reviewing what has been contributed from a given directory or across the registry.

kp list [options]
OptionAliasDescriptionDefault
--json--Output raw JSON instead of formatted text.false
--dir--Directory to list knowledge units from..

Examples:

# List all published units in the current directory
kp list

# List units from a specific directory in JSON format
kp list --dir ./my-knowledge --json

kp import

Import knowledge from external sources such as Notion, Confluence, or local files. The imported content is converted into KnowledgeUnit format.

kp import [options]
OptionAliasDescriptionDefault
--source--Source type: notion, confluence.--
--file--Import from a local file.--
--page-id--Page ID for API-based import.--
--token--API token for authenticating with the source.--
--base-url--Base URL for Confluence instances.--
--llm-provider--LLM provider for knowledge extraction.--
--llm-key--LLM API key for knowledge extraction.--
--json--Output raw JSON instead of formatted text.false

Examples:

# Import from a local file
kp import --file ./notes.md

# Import a Notion page
kp import --source notion --page-id abc123 --token secret_xxx

# Import from Confluence with LLM-assisted extraction
kp import --source confluence --page-id 12345 --token xxx \
--base-url https://myteam.atlassian.net --llm-provider openai --llm-key sk-xxx