Skill Distribution

Skill Distribution

ContribFlow ships agent skills under skills/ so harnesses can run the CLI workflow with minimal setup.

Available Skills

  • generic-agent
  • codex
  • claude-code
  • oss-contrib-orchestrator

The orchestrator skill is the recommended default for autonomous OSS contribution workflows.

Publishing Status

Skills are distributed through the @freakpirate/contribflow-skills npm package, this repository, and release artifacts.

Use npx or a global npm install for normal installs. Use the source installer or local release tarball while developing release changes.

Install With Script

List skills:

./scripts/install-skills.sh --list

List skills as JSON:

./scripts/install-skills.sh --list --json

Preview an install without writing files:

./scripts/install-skills.sh --target codex --skill all --dry-run

Preview as JSON for harness automation:

./scripts/install-skills.sh --target codex --skill all --dry-run --json

Install the orchestrator skill for Codex:

./scripts/install-skills.sh --target codex --skill oss-contrib-orchestrator

Install all skills for Codex:

./scripts/install-skills.sh --target codex --skill all

Install into a custom directory:

./scripts/install-skills.sh --dest /path/to/skills --skill all

Install From Release Tarball

Build release artifacts:

npm run release:artifacts

Install the local skills npm tarball:

npm install -g ./dist/release/freakpirate-contribflow-skills-0.1.1.tgz
contribflow-skills --target codex --skill oss-contrib-orchestrator

The short alias is also available:

cflow-skills --list

Install From npm

One-shot install:

npx -y @freakpirate/contribflow-skills --target codex --skill oss-contrib-orchestrator

Persistent global install:

npm install -g @freakpirate/contribflow-skills
contribflow-skills --target codex --skill oss-contrib-orchestrator

Project install:

npm i @freakpirate/contribflow-skills
npm exec contribflow-skills -- --target codex --skill oss-contrib-orchestrator

The npm package is the installer and skill bundle. Installing it as a dependency does not by itself copy skills into a harness; the installer command must run so it can write to the Codex, Claude Code, generic, or custom --dest skills directory.

Default Targets

Codex:

${CODEX_HOME:-$HOME/.codex}/skills

Claude Code:

${CLAUDE_CODE_SKILLS_DIR:-$HOME/.claude/skills}

Generic:

./.contribflow/skills

If a harness uses a different skills directory, pass --dest.

Skill Manifest

skills/manifest.json records the available skills, required files, recommended default, and install targets. Harness-specific installers can consume this manifest without scraping docs.

The current manifest schema is:

  • schemaVersion
  • name
  • version
  • defaultSkill
  • requiredFiles
  • skills
  • installTargets

The installer validates the manifest before copying files and fails if a listed skill is missing SKILL.md or starter-prompt.md.

Installer QA

Run the installer smoke test:

npm run validate:skills

This validates list output, JSON dry-run output, custom-destination installs, and unknown-skill errors.

Public Action Rule

No skill may run:

cflow pr --draft --yes --json

until it has explicit human approval in the current conversation or workflow run.