# CI

> Enable and operate the CI feature (GitHub Actions / GitLab CI) with repeatable templates, artifact conventions, and opt-in delivery enablement. Use when this capability is needed.

- Skill: `tomevault-io/ci-7` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/ci-7`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/ci-7/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/ci-7

---


# CI Feature

## Intent

Provide a practical, repo-embedded CI baseline:
- deterministic test/build commands (by convention)
- consistent artifacts upload and retention defaults
- provider templates for GitHub Actions and GitLab CI

Delivery (release/packaging/deploy automation) is **opt-in** and is not installed by default.

## What gets enabled

When enabled, this feature materializes:

- CI metadata directory:
  - `ci/AGENTS.md`
  - `ci/config.json`
  - `ci/handbook/`
- Provider workflow file (copy-if-missing):
  - GitHub Actions: `.github/workflows/ci.yml`
  - GitLab CI: `.gitlab-ci.yml`

Provider skills (for workflow customization and troubleshooting):

- `.ai/skills/features/ci/github-actions-ci/`
- `.ai/skills/features/ci/gitlab-ci/`

Controller script (feature-local):

- `node .ai/skills/features/ci/scripts/ctl-ci.mjs`
- `node .githooks/ci-verify.mjs` (shared CI verification entrypoint used by provider templates)

## How to enable

### In an existing repo

Run:

```bash
node .ai/skills/features/ci/scripts/ctl-ci.mjs init --provider github --repo-root .
node .ai/skills/features/ci/scripts/ctl-ci.mjs init --provider gitlab --repo-root .
```

## Delivery explicit enable (opt-in)

Delivery is enabled explicitly (method A) via:

```bash
node .ai/skills/features/ci/scripts/ctl-ci.mjs add-delivery --provider github --repo-root .
node .ai/skills/features/ci/scripts/ctl-ci.mjs add-delivery --provider gitlab --repo-root .
```

## Boundaries

- Do not store secrets in repo; CI secrets must come from the CI platform secret store.
- Keep CI PR/MR gating fast; move flaky/heavy suites to scheduled/manual triggers.
- Do not make deploy/release actions automatic unless the repo explicitly opts in and documents credentials, approvals, and rollback.

## Verification

```bash
node .ai/skills/features/ci/scripts/ctl-ci.mjs --help
node .githooks/ci-verify.mjs

# Dry-run install (no writes)
node .ai/skills/features/ci/scripts/ctl-ci.mjs init --provider github --repo-root . --dry-run
node .ai/skills/features/ci/scripts/ctl-ci.mjs init --provider gitlab --repo-root . --dry-run

# Dry-run delivery opt-in (no writes)
node .ai/skills/features/ci/scripts/ctl-ci.mjs add-delivery --provider github --repo-root . --dry-run
node .ai/skills/features/ci/scripts/ctl-ci.mjs add-delivery --provider gitlab --repo-root . --dry-run
```

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/willyu1007) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-14 -->

