Bootstrap Process
When you run looplia init, the CLI bootstraps your workspace with plugins and skills from multiple sources. This page explains the complete bootstrap flow.
Overview
Section titled “Overview”The bootstrap process has three main phases:
looplia init │ ▼┌─────────────────────────────────┐│ 1. Copy Built-in Plugins ││ (looplia-core, looplia-writer)│└─────────────────────────────────┘ │ ▼┌─────────────────────────────────┐│ 2. Install Default Sources ││ • Clone from GitHub ││ • Detect marketplace format ││ • Extract plugins │└─────────────────────────────────┘ │ ▼┌─────────────────────────────────┐│ 3. Compile Skill Catalog ││ • Scan local plugins ││ • Parse SKILL.md metadata ││ • Write skill-catalog.json │└─────────────────────────────────┘Phase 1: Copy Built-in Plugins
Section titled “Phase 1: Copy Built-in Plugins”The CLI ships with two built-in plugins that are copied to your workspace:
| Plugin | Purpose |
|---|---|
looplia-core | Infrastructure — workflow executor, validator, registry loader |
looplia-writer | Domain — content analysis skills (media-reviewer, idea-synthesis) |
These are copied directly to ~/.looplia/ at the root level.
Phase 2: Install Default Sources
Section titled “Phase 2: Install Default Sources”Looplia installs skills from two default marketplace sources:
| Source | Repository |
|---|---|
| Anthropic Skills | github.com/anthropics/skills |
| ComposioHQ Skills | github.com/ComposioHQ/awesome-claude-skills |
Installation Process
Section titled “Installation Process”For each source, the following steps occur:
- Clone —
git clone --depth 1to a temp directory - Detect Format — Check for
.claude-plugin/marketplace.json - Extract Plugins — Split marketplace into individual plugins
- Copy to Workspace — Write to
~/.looplia/plugins/ - Register Source — Add entry to
sources.json
Marketplace Format Detection
Section titled “Marketplace Format Detection”Looplia auto-detects which format a marketplace uses:
| Format | Detection | Structure |
|---|---|---|
| Anthropic | Has skills array in plugin entries | One plugin entry → multiple skills |
| ComposioHQ | Has source path only | One plugin entry → one skill |
Plugin Extraction Examples
Section titled “Plugin Extraction Examples”Anthropic format — One plugin with multiple skills:
{ "plugins": [{ "name": "example-skills", "description": "Document processing skills", "skills": ["./skills/xlsx", "./skills/pdf", "./skills/docx"] }]}Creates:
~/.looplia/plugins/example-skills/├── .claude-plugin/│ └── plugin.json└── skills/ ├── xlsx/ ├── pdf/ └── docx/ComposioHQ format — Each plugin is a single skill:
{ "plugins": [{ "name": "brand-guidelines", "description": "Apply brand styling", "source": "./brand-guidelines" }]}Creates:
~/.looplia/plugins/brand-guidelines/├── .claude-plugin/│ └── plugin.json└── skills/ └── brand-guidelines/Phase 3: Compile Skill Catalog
Section titled “Phase 3: Compile Skill Catalog”After plugins are installed, the registry compiler scans all skills and builds skill-catalog.json.
Scanning Locations
Section titled “Scanning Locations”The compiler scans skills from three locations:
~/.looplia/├── looplia-core/skills/ # Built-in (sourceType: builtin)├── looplia-writer/skills/ # Built-in (sourceType: builtin)└── plugins/*/skills/ # Third-party (sourceType: thirdparty)Metadata Extraction
Section titled “Metadata Extraction”For each skill directory, the compiler parses SKILL.md frontmatter:
---name: xlsxdescription: | Create and manipulate Excel spreadsheets with support for formulas, formatting, and data analysis.category: generationtools: Read, Write, Bashmodel: claude-opus-4-5-20251101inputless: false---Category Inference
Section titled “Category Inference”If category is not specified in the frontmatter, looplia infers it from keywords:
| Category | Keywords |
|---|---|
analysis | review, analyze, scan |
generation | generate, synthesis, create |
assembly | assemble, document, compile |
validation | validate, check |
search | search, find |
orchestration | workflow, execute, orchestrat |
utility | (default) |
Capability Inference
Section titled “Capability Inference”Capabilities are inferred from pattern matching:
| Capability | Patterns |
|---|---|
media-processing | media, video, audio, image |
content-analysis | content, text, document |
structured-output | json, schema, structured |
workflow-management | workflow, orchestrat |
Data Structures
Section titled “Data Structures”sources.json
Section titled “sources.json”Located at ~/.looplia/registry/sources.json:
{ "sources": [ { "id": "github:anthropics/skills", "type": "github", "url": "https://github.com/anthropics/skills", "enabled": true, "priority": 50, "addedAt": "2026-01-07T12:00:00.000Z" }, { "id": "github:ComposioHQ/awesome-claude-skills", "type": "github", "url": "https://github.com/ComposioHQ/awesome-claude-skills", "enabled": true, "priority": 50, "addedAt": "2026-01-07T12:00:00.000Z" } ]}skill-catalog.json
Section titled “skill-catalog.json”Located at ~/.looplia/registry/skill-catalog.json:
{ "compiledAt": "2026-01-07T12:00:00.000Z", "version": "1.0.0", "sources": [...], "skills": [ { "name": "xlsx", "title": "Xlsx", "description": "Create and manipulate spreadsheets", "plugin": "example-skills", "category": "generation", "capabilities": ["generation", "structured-output"], "source": "github:anthropics/skills", "sourceType": "thirdparty", "installed": true, "gitUrl": "https://github.com/anthropics/skills", "skillPath": "skills/xlsx" } ], "summary": { "totalSkills": 56, "byCategory": { "generation": 20, "analysis": 15, "assembly": 10, "utility": 11 }, "bySource": { "github:anthropics/skills": 42, "github:ComposioHQ/awesome-claude-skills": 14 } }}Re-initialization
Section titled “Re-initialization”To update your workspace with the latest skills:
looplia init --yesThis will:
- Re-download marketplace sources
- Extract new/updated plugins
- Recompile the skill catalog
See Also
Section titled “See Also”- Skill Registry Overview — Discover and install skills
- Marketplace & Plugins — Understanding the plugin architecture
- init Command — Full init command reference