Files
claude-skills/dist-hermes/software-development/project-discipline/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.9 KiB

project-discipline

Policy skill that codifies four cross-project discipline rules so the same guarantees that hold in a tightly-maintained repo apply everywhere.

When it triggers

  • Session start — when CLAUDE.md contains the line follow project discipline (added by project-bootstrap v1.5.0+).
  • In-chat — when the user says "use project discipline", "соблюди дисциплину", "проектные правила", or close variants.

The four rules

  1. Project conventions over skill defaults. CLAUDE.md / .wiki/CLAUDE.md / .tasks/ override any other skill's defaults. Specs go to .wiki/concepts/, not docs/superpowers/specs/. Tasks to .tasks/, not docs/superpowers/plans/.
  2. Master-only. All work on master (or main). No feature branches without explicit user approval.
  3. Semver discipline. Bump version: in SKILL.md / package.json / pyproject.toml on every edit per MAJOR / MINOR / PATCH; record in commit message; rebuild dist/ artifacts after.
  4. Commit yes, push no. Every session starts asking before push. User can grant auto-push within session ("разреши автопуш"); session end resets to ask-mode. Force / delete / non-ff push always asks.

Prerequisites

None. The skill is a textual policy document; it takes no actions and has no external dependencies. Activate it by adding follow project discipline to CLAUDE.md (or use project-bootstrap v1.5.0+ which adds it automatically).

  • project-bootstrap (v1.5.0+) — adds the trigger line to new and existing projects' CLAUDE.md.
  • pulling-before-work — companion skill activated by the canonical template; pulls origin once at session start (git pull --ff-only).
  • using-tasks / using-wiki — the format conventions Rule 1 routes work into.
  • .wiki/concepts/project-discipline-design.md (in claude-skills) — full design rationale.