Skip to main content

Overview

The FastSkill reconciliation system compares three sources of truth to ensure consistency across your skill ecosystem:
  1. Installed Skills - Skills actually present in .claude/skills/
  2. Project Manifest - Skills declared in skill-project.toml
  3. Lockfile - Exact versions pinned in skills.lock
Reconciliation helps you identify discrepancies and maintain reproducible installations across environments.

Reconciliation States

When you run fastskill list, each skill is assigned a reconciliation status:

Status Details

OK

Skill is in the desired state:
  • Present in .claude/skills/
  • Declared in skill-project.toml (if applicable)
  • Version matches skills.lock (if lockfile exists)
Example:

Missing

Skill is declared in skill-project.toml but not installed:
Resolution:

Extraneous

Skill is installed but not declared in skill-project.toml:
Resolution options:

Mismatch

Installed version differs from skills.lock:
Version mismatches indicate manual changes or corruption. Resolve to ensure reproducibility.
Resolution:

Reconciliation Process

The list command performs reconciliation in this order:

Use Cases

Development Workflow

Team Collaboration

CI/CD Deployment

Troubleshooting Discrepancies

Lockfile-Based Reconciliation

When using skills.lock, reconciliation focuses on exact version matching:

Production Deployment

Version Drift Detection

Reconciliation JSON Format

The list --format json output includes detailed reconciliation status:
Field Descriptions:
  • id: Skill identifier
  • version: Installed version (from SkillDefinition)
  • description: Skill description
  • source: Source type (git, registry, local, zip)
  • installed_path: Absolute path to skill directory
  • installed_at: Installation timestamp (ISO 8601)
  • status: Reconciliation status (ok, missing, extraneous, mismatch)
  • manifest_version: Version from skill-project.toml (if present)
  • lock_version: Version from skills.lock (if present)

Reconciliation with Groups

When using dependency groups, reconciliation considers group membership:
skill-project.toml
Missing status is expected for skills excluded by group filters. Only report as issues if all skills should be installed.

Best Practices

1

Commit both manifest and lockfile

Always commit skill-project.toml and skills.lock together to version control. This ensures team members can reproduce exact installations.
2

Run fastskill list after changes

Run fastskill list after installing, updating, or removing skills to verify reconciliation status.
3

Use --lock for production

Always use fastskill install --lock for production deployments to ensure exact version reproducibility.
4

Investigate mismatches promptly

Version mismatches indicate manual changes or corruption. Investigate and resolve promptly to maintain consistency.
5

Remove extraneous skills

Remove or add extraneous skills to skill-project.toml to avoid confusion and ensure clean skill ecosystem.

Common Reconciliation Issues

Scenario: Manual Skill Installation

Scenario: Version Mismatch After Update

Scenario: Missing Skills After Clone

Reconciliation in Automation

CI/CD Health Check

Automated Reconciliation Report

Troubleshooting

Skills directory incorrect: Check that skills_directory in .fastskill/config.yaml points to correct location.
skill-project.toml missing: Create skill-project.toml or use fastskill init.
Resolution: Run fastskill install to install skills from manifest.
Manual installations: Skills may have been added outside FastSkill management.
Resolution: Add to skill-project.toml if intentional, or remove with fastskill remove.
Prevention: Always use fastskill add to install skills for proper tracking.
Manual file changes: Skills may have been updated manually (e.g., git pull).
Corrupted lockfile: Lockfile may be out of sync with actual state.
Resolution: Run fastskill install --lock to reinstall from lockfile, or fastskill update to update lockfile.

See Also