Integrations
PP Core can reach beyond your local toolchain to pull in web research, route reviews through other AI CLIs, run code-quality scans, and inject your own agent skills. This page lists the available integrations and how to configure each one.
Configuring Integrations
Most integrations are set up under their own section of .planning/config.json, and the credential-bearing ones can also be configured interactively:
/pp-config --integrations
For API-key-based services, PP Core auto-detects credentials by checking environment variables and key files. An explicit value in the config always overrides auto-detection.
Web Research Providers
These power the research step before planning. Three providers are supported, each with an environment variable and a key file as credential sources:
| Provider | Config key | Environment variable | Key file | Role |
|---|---|---|---|---|
| Brave Search | brave_search | BRAVE_API_KEY | ~/.pp/brave_api_key | Primary search during plan-phase research. |
| Firecrawl | firecrawl | FIRECRAWL_API_KEY | ~/.pp/firecrawl_api_key | Deep-crawl scraping of documentation sites. |
| Exa Search | exa_search | EXA_API_KEY | ~/.pp/exa_api_key | Semantic similarity search across technical content. |
If a key is present in the environment or its key file, the corresponding provider is enabled automatically — no config entry required.
Cross-AI Review Routing
PP Core can route review passes through other AI command-line tools. These are configured under the review namespace.
Per-CLI model selection lives at review.models.<cli>. The claude reviewer defaults to the current session model when left unset. Supported reviewer slugs include:
claude, codex, gemini, opencode, qwen, cursor,
coderabbit, agy, ollama, lm_studio, llama_cpp
The review.default_reviewers key takes an array of reviewer slugs. When it is null (the default), PP Core runs every reviewer it can detect on your system.
{
"review": {
"default_reviewers": ["claude", "codex"],
"models": {
"codex": "gpt-5"
}
}
}
Custom Agent Skills
You can inject your own skills into specific agents through the agent_skills namespace. It maps an agent type to an array of relative directory paths, each containing a SKILL.md file:
{
"agent_skills": {
"executor": ["./skills/db-migrations"],
"planner": ["./skills/api-conventions"]
}
}
Around ten agent types accept skills, including executor, planner, checker, verifier, researcher, debugger, codebase-mapper, advisor, and roadmapper. For safety, PP Core rejects any path that would escape the project root.
Code Quality Tooling
The Fallow integration runs quality scans as part of the workflow. It is configured under code_quality.fallow:
| Key | Default | Options | Description |
|---|---|---|---|
code_quality.fallow.enabled | false | true, false | Turns the scan on or off. |
code_quality.fallow.scope | "phase" | "phase", "repo" | Scan only the current phase's changes or the whole repository. |
code_quality.fallow.profile | "standard" | "minimal", "standard", "strict" | How aggressive the ruleset is. |
{
"code_quality": {
"fallow": {
"enabled": true,
"scope": "phase",
"profile": "strict"
}
}
}
Parallelization
While not an external service, parallel execution is configured alongside the other integration settings under the parallelization namespace:
| Key | Default | Description |
|---|---|---|
parallelization.enabled | true | Allow agents to run concurrently. |
parallelization.max_concurrent_agents | 3 | Upper bound on simultaneous agents. |
parallelization.min_plans_for_parallel | 2 | Minimum number of plans before a phase runs in parallel. |
Lower max_concurrent_agents if you are hitting provider rate limits or want a calmer, more observable run; raise it to speed up phases that contain many independent plans.