Skip to content
Back to skills

SKILL Caamp

ASecurity

Central AI Agent Managed Packages - unified provider registry and package manager for AI coding agents Use when: (1) running caamp CLI commands, (2) calling its 276 API functions, (3) configuring @cleocode/caamp, (4) understanding its 180 type definitions, (5) working with its 8 classes, (6) user mentions "ai", "agent", "skills", "cli", "claude", (7) user mentions "@cleocode/caamp" or asks about its API.

  • 160 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 28, 2026
developmenttypescriptgobashapi

Works with

  • cli
  • api
  • mcp

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 5 files and shows the line behind each finding

Scanned May 28, 2026

npx -y skills add kryptobaseddev/cleo --skill SKILL-caamp --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of SKILL Caamp?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for SKILL Caamp
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kryptobaseddev-skill-caamp/badge)](https://www.skillsdirectory.com/skills/kryptobaseddev-skill-caamp)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: SKILL-caamp
description: >
  Central AI Agent Managed Packages - unified provider registry and package manager for AI coding agents Use when: (1) running caamp CLI commands, (2) calling its 276 API functions, (3) configuring @cleocode/caamp, (4) understanding its 180 type definitions, (5) working with its 8 classes, (6) user mentions "ai", "agent", "skills", "cli", "claude", (7) user mentions "@cleocode/caamp" or asks about its API.
---

# @cleocode/caamp

Central AI Agent Managed Packages - unified provider registry and package manager for AI coding agents

## Quick Start

```bash
npm install -D @cleocode/caamp
```

```bash
npx caamp --help
```

## API

| Function | Description |
|----------|-------------|
| `getPlatformPaths()` | Get OS-appropriate paths for CAAMP's global directories. |
| `getSystemInfo()` | Get a cached system information snapshot. |
| `_resetPlatformPathsCache()` | Invalidate the path and system info caches. Use in tests after mutating AGENTS_HOME env var. |
| `getPlatformLocations()` | Resolves platform-specific directory locations for the current OS. |
| `getAgentsHome()` | Returns the global agents home directory path. |
| `getProjectAgentsDir()` | Returns the project-local `.agents` directory path. |
| `resolveProjectPath()` | Resolves a relative path against a project directory. |
| `getCanonicalSkillsDir()` | Returns the canonical skills storage directory path. |
| `getLockFilePath()` | Returns the path to the CAAMP lock file. |
| `getAgentsMcpDir()` | Gets the MCP directory within the `.agents/` standard structure. |
| `getAgentsMcpServersPath()` | Gets the MCP servers.json path within the `.agents/` standard structure. |
| `getAgentsInstructFile()` | Gets the primary AGENTS.md instruction file path within `.agents/`. |
| `getAgentsConfigPath()` | Gets the config.toml path within the `.agents/` standard structure. |
| `getAgentsWikiDir()` | Gets the wiki directory within the `.agents/` standard structure. |
| `getAgentsSpecDir()` | Gets the spec directory within the `.agents/` standard structure. |
| ... | 261 more — see API reference |

## Configuration

```typescript
import type { DetectionConfig } from "@cleocode/caamp";

const config: Partial<DetectionConfig> = {
  // Detection methods to try, in order.
  methods: [],
  // Binary name to look up on PATH (for `"binary"` method).
  binary: "...",
  // Directories to check for existence (for `"directory"` method).
  directories: "...",
  // macOS .app bundle name (for `"appBundle"` method).
  appBundle: "...",
  // Flatpak application ID (for `"flatpak"` method).
  flatpakId: "...",
};
```

See [references/CONFIGURATION.md](references/CONFIGURATION.md) for full details.

## Gotchas

- `HookEvent` is deprecated: Use `CanonicalHookEvent` from `../hooks/types.js` for the normalized CAAMP taxonomy. This type remains for backward compatibility with registry.json's `capabilities.hooks.supported` string arrays.
- `CtSkillEntry` is deprecated: Use `SkillLibraryEntry` instead.
- `CtValidationResult` is deprecated: Use `SkillLibraryValidationResult` instead.
- `CtValidationIssue` is deprecated: Use `SkillLibraryValidationIssue` instead.
- `CtProfileDefinition` is deprecated: Use `SkillLibraryProfile` instead.
- `CtDispatchMatrix` is deprecated: Use `SkillLibraryDispatchMatrix` instead.
- `CtManifest` is deprecated: Use `SkillLibraryManifest` instead.
- `CtManifestSkill` is deprecated: Use `SkillLibraryManifestSkill` instead.
- `resolveProvidersRegistryPath()` throws: Error if `providers/registry.json` cannot be found within 8 parent levels
- `ensureProviderInstructionFile()` throws: Error if the provider ID is not found in the registry
- `ensureAllProviderInstructionFiles()` throws: Error if any provider ID is not found in the registry
- `resolveTierDir()` throws: `Error` when `tier='project'` and no `projectDir` is supplied
- `resolveDefaultTargetProviders()` throws: `PiRequiredError` when mode is `'force-pi'` and Pi is not   installed.
- `resolveFormat()` throws: Error if format flags conflict
- `readConfig()` throws: If the file cannot be read or the format is unsupported
- `writeConfig()` throws: If the format is unsupported
- `removeConfig()` throws: If the format is unsupported
- `installMcpServer()` throws: `Error` when the provider has no MCP capability or no   project-scoped config path is available.
- `requireMcpProvider()` throws: `LAFSCommandError` when the provider is unknown or has no   MCP capability.
- `parseScope()` throws: `LAFSCommandError` when `raw` is set to an invalid value.
- `parseEnvAssignment()` throws: `LAFSCommandError` when the token is malformed.
- `fetchWithTimeout()` throws: `NetworkError` on timeout or network failure
- `ensureOkResponse()` throws: `NetworkError` when `response.ok` is `false`
- `requirePiHarness()` throws: `LAFSCommandError` when Pi is not installed.
- `parseScope()` throws: `LAFSCommandError` when `raw` is set to an invalid value.
- `recommendSkills()` throws: Error with `code` and `issues` properties when criteria are invalid
- `loadLibraryFromModule()` throws: If the module cannot be loaded or does not implement SkillLibrary
- `buildLibraryFromFiles()` throws: If skills.json is not found at the root
- `registerSkillLibraryFromPath()` throws: Error if the library cannot be loaded from the given path

## Key Types

- **`SkillLibraryEntry`** — A single skill entry in a library catalog.
- **`SkillLibraryValidationResult`** — Validation result from skill frontmatter validation.
- **`SkillLibraryValidationIssue`** — A single validation issue.
- **`SkillLibraryProfile`** — Profile definition for grouped skill installation.
- **`SkillLibraryDispatchMatrix`** — Dispatch matrix for task routing to skills.
- **`SkillLibraryManifestSkill`** — Skill entry within the library manifest.
- **`SkillLibraryManifest`** — Full manifest structure for a skill library.
- **`SkillLibrary`** — Standard interface for a skill library.  Any directory or module providing skills must implement this contract. CAAMP uses it to discover, resolve, and install skills from any source.
- **`RegistryDetection`** — Raw detection configuration as stored in registry.json.
- **`ProviderPriority`** — Priority tier identifier stored in registry.json.

## References

- [references/CONFIGURATION.md](references/CONFIGURATION.md) — Full config options
- [references/API-REFERENCE.md](references/API-REFERENCE.md) — Signatures, parameters, examples

Files in this skill

  • SKILL.md6.3 KB
  • references/CONFIGURATION.md2.6 KB
  • scripts/build.sh86 B
  • scripts/check.sh75 B
  • scripts/test.sh81 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.