Claude Code Skills
Skills are slash commands that Claude Code instances can execute. They are markdown files stored in ~/.claude/commands/ on each machine. Each file defines a prompt template that Claude Code follows when the user invokes the corresponding /command.
Source of Truth
| Item | Details |
|---|---|
| GitHub repo | OmelasAI/claude-skills (commands/ directory) |
| Local path | ~/.claude/commands/ on every container and laptop |
| Total skills | 18 |
| Propagation | propagate-from-host.sh pushes from GitHub to all 5 LXC containers |
| Drift detection | /sync compares local skills against the repo and reports differences |
Skills are not code that runs independently. They are structured prompts that instruct Claude Code how to perform a specific task. When a user types /commit, Claude Code reads ~/.claude/commands/commit.md and follows the instructions inside it.
Skill Categories
Session Lifecycle
| Skill | Purpose |
|---|---|
/start-session |
Begin a development session. Reads HANDOVER.md from the last session, loads project context from projects.yaml, reviews recent git log and OPS-LOG.md. Outputs a summary of where things stand and what to work on. |
/end-session |
End a development session. Writes HANDOVER.md with a summary of what was accomplished, current state, pending tasks, and blockers. This file is the primary handoff mechanism between sessions. |
These two skills form the continuity backbone. Every session should start with /start-session and end with /end-session. Skipping /end-session means the next session starts without context.
Git Workflow
| Skill | Purpose |
|---|---|
/status |
Show the current git state – branch, staged/unstaged changes, recent commits. Quick orientation before making changes. |
/commit |
Stage changes, generate a descriptive commit message, and commit. Follows repository conventions for message format. |
/push |
Push the current branch to the GitHub remote. Checks for unpushed commits first. |
/pull |
Pull latest changes from the remote. Handles merge conflicts if they arise. |
/branch |
Create or switch branches. Used when starting a new feature or fix that should not go directly to main. |
The git skills enforce consistency. Every commit message follows the same style, every push checks the remote state first, and branch naming follows project conventions.
Operations
| Skill | Purpose |
|---|---|
/incident |
Log a production incident to OPS-LOG.md. Records the timestamp, what happened, impact, root cause, and resolution. Creates a structured record for post-mortems. |
/deploy |
Deploy the current project to its production server. Reads deployment instructions from CLAUDE.md and projects.yaml. Confirms the target server before proceeding. |
/sync |
Check for drift between the local environment and expected state. Compares local skills against the GitHub repo, checks projects.yaml freshness, and reports any differences. |
/incident is used during or immediately after a production issue. The structured log entry in OPS-LOG.md ensures incidents are not forgotten and patterns can be identified over time.
/sync is a diagnostic tool. When something feels off – a skill behaves differently than expected, or a project is missing from the map – /sync identifies what has drifted and what needs updating.
Documentation
| Skill | Purpose |
|---|---|
/context |
Load and display the full context for the current project – CLAUDE.md, HANDOVER.md, recent changes. Used when Claude Code needs a refresher mid-session. |
/sync-docs |
Synchronize documentation between the git repo and DocHub. Ensures changes made in one location are reflected in the other. |
/dochub-add |
Add a new documentation page to DocHub. Creates the markdown file with proper frontmatter and registers it in the subproject structure. |
/dochub-report |
Generate a DocHub coverage report. Shows which projects have documentation, which are missing, and what schema sections are incomplete. |
/dochub-fix |
Fix issues identified by /dochub-report. Fills in missing sections, corrects frontmatter, and updates references. |
/deploy-dochub |
Deploy DocHub changes to the production server (DO CMS droplet at 178.128.183.166). Syncs content and restarts the service. |
The DocHub skills form a documentation maintenance loop: /dochub-report identifies gaps, /dochub-fix fills them, /dochub-add creates new pages, /sync-docs keeps things aligned, and /deploy-dochub publishes the result.
Setup
| Skill | Purpose |
|---|---|
/onboard-repo |
Set up a new or existing repository for OmelasAI workflow standards. Creates CLAUDE.md, HANDOVER.md, OPS-LOG.md, and CHANGELOG.md if they do not exist. Configures the project to follow the standard structure. |
/new-project |
Register a new project in projects.yaml and set up its full entry with tech stack, URLs, server locations, and credential references. Also runs /onboard-repo to create the standard files. |
These skills are used when bringing a new project into the OmelasAI ecosystem. /new-project handles the full setup including the projects.yaml entry, while /onboard-repo focuses only on the repository files.
Skill File Format
Each skill is a markdown file in ~/.claude/commands/. The filename (without .md) becomes the command name. For example, ~/.claude/commands/commit.md is invoked as /commit.
The file contains:
- A description of what the skill does
- Step-by-step instructions for Claude Code to follow
- Templates for any output files (e.g., HANDOVER.md format for
/end-session) - Rules and constraints (e.g., “always confirm before deploying”)
Skills can reference other files (CLAUDE.md, projects.yaml, HANDOVER.md) and instruct Claude Code to read them as part of execution.
Updating Skills
The workflow for updating skills:
- Edit the skill file in the
OmelasAI/claude-skillsGitHub repo - Run
propagate-from-host.shon the Contabo Singapore host to push changes to all containers - Optionally run
/syncon each container to verify the update landed
Individual containers can have local skill edits for testing, but these will be overwritten on the next propagation. The GitHub repo is always the canonical source.