Files
claude-skills/dist-hermes/software-development/pulling-before-work/README.md
vitya 6b36b312fa feat(hermes): MVP converter + 4 universal skills converted
Adds the conversion infrastructure for the Hermes-rollout (Nous Research):

- hermes/mapping.yaml — per-skill schema (mode: auto|manual|skip|pending,
  category, replace-rules, source override). Every skills/<name>/ has an
  explicit entry; the build fails on unmapped skills.
- scripts/build-hermes.py — Python converter. Reads mapping.yaml; for auto
  applies replace-rules to SKILL.md and copies the rest verbatim; for manual
  copies hermes/skills/<source>/ as-is; for skip / pending records to
  dist-hermes/SKIPPED.md.
- dist-hermes/ — pre-converted Hermes-flavour tree (committed; consumed by
  the recursive installer in [hermes-installer-skill]). Includes 4 universal
  skills: pulling-before-work, active-platform (with Linux+bash replacement
  rule), project-discipline, using-markitdown. Plus SKIPPED.md listing
  8 skip + 10 pending entries.
- README.md — adds "Build for Hermes" section, updates layout, mentions
  hermes/, dist-hermes/, build-hermes.py.

Mapping is the source of truth for the audit table from
.wiki/concepts/hermes-skills-rollout-design.md (Q1-Q8). Pending entries
preserve the audit decision (intended mode/category) for the follow-up
tasks: hermes-flavour-mcp-setups, hermes-installer-skill,
hermes-mvp-coverage. Security carry-forward (extraheader-pattern,
POSIX-absolute paths, semver bumps) — infrastructure ready (replace-rules +
manual mode); concrete content lands in hermes-flavour-mcp-setups.

Smoke-tests: idempotent re-run produces no diff; replace-rules verified on
active-platform (Linux+bash); strict-mapping fail-fast verified on a
synthetic unmapped skill (exit 1).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 00:00:00 +03:00

1.3 KiB

pulling-before-work

Policy skill that pulls the current branch from origin once at session start and on explicit re-sync requests. Designed to remove the "edited on stale base" footgun without trampling dirty work-trees or auto-merging.

When it triggers

  • Session start — when CLAUDE.md contains the line pull remote before work (added by project-bootstrap v1.4.0+).
  • In-chat — when the user says sync, resync, pull, обнови репо, git pull please, or close variants.

Stays silent in non-git folders. Prints one informational line and exits in: no origin remote, no upstream tracking, dirty work-tree, detached HEAD.

What it does

git pull --ff-only against the configured upstream — never auto-merges, never auto-rebases, never stashes, never commits, never pushes. On divergence it prints a warning with manual-resolution hints and exits.

Prerequisites

None. The skill is a no-op outside git repos and folders without an origin remote, so it's safe to leave activated everywhere.

  • project-bootstrap (v1.4.0+) — adds the trigger line to new and existing projects' CLAUDE.md.
  • .wiki/concepts/pulling-before-work-design.md (in projects bootstrapped from this repo: this design lives in claude-skills) — full design rationale.