openspec-apply-change
Implement tasks from an OpenSpec change. Use when the user wants to start implementing,…
1C configuration repository (хранилище) — status, history, diff, lock, update, commit, unlock, dump; lock before edit, commit after verify. Use when .dev.env REPOSITORY_PATH is set or the task mentions the configuration repository / хранилище.
$ npx -y skills add comol/ai_rules_1c --skill 1c-repository-manage --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/1c-repository-manageContext preview
The summary Claude sees to decide when to auto-load this skill.
1C configuration repository (хранилище) — status, history, diff, lock, update, commit, unlock, dump; lock before edit, commit after verify. Use when .dev.env REPOSITORY_PATH is set or the task mentions the configuration repository / хранилище.
name: 1c-repository-manage description: "1C configuration repository (хранилище) — status, history, diff, lock, update, commit, unlock, dump; lock before edit, commit after verify. Use when .dev.env REPOSITORY_PATH is set or the task mentions the configuration repository / хранилище."
Use this skill when the project's configuration is **bound to a 1C configuration repository (хранилище конфигурации)** or the task explicitly concerns one.
`.dev.env` `REPOSITORY_PATH` is the explicit project statement "we work with a configuration repository":
Parameter canon (classes, empty-value behavior): `content/rules/dev-standards-env.md → Infobase / deployment parameters`.
Every repository operation — report, history, compare, lock, update, commit, unlock, dump — is executed **through this skill's script** (`skills/1c-repository-manage/tools/1c-repo-ops/scripts/repo-ops.ps1`). Composing an ad-hoc `1cv8.exe /ConfigurationRepository*` command line from memory while the skill is available is a **defect**, same standing as ad-hoc infobase command lines (`AGENTS.md → Skills and Subagents`). The script encodes what an ad-hoc line loses: the exact object-list XML (`http://v8.1c.ru/8.3/config/objects`), `/Out` encoding detection, failures hidden behind exit code 0, secret masking, and the safety gates below.
The only exceptions mirror the metadata skill: the skill is not exposed in the session (state it once, then follow [docs/repo-ops.md](docs/repo-ops.md) manually with every safety rule intact), or a read-only question answerable without running the platform.
Invariants 1–4 are enforced by the script. Invariants 5–6 are agent refusals: the script has no bind/unbind operations, and composing them ad-hoc is the defect.
1. **Explicit object lists only.** `lock` / `update` / `commit` / `unlock` require `-Objects` with exact metadata full names. An empty list, `*`, or the configuration root is refused: the official CLI without `-Objects` applies the operation to the **whole configuration**. 2. **Force is double-gated.** `-Force` needs `REPOSITORY_ALLOW_FORCE=true` in `.dev.env` **and** a per-call confirmation switch (`-ConfirmForce`; for `unlock` — `-ConfirmDiscardChanges`, because a forced unlock discards uncommitted changes). Never set `REPOSITORY_ALLOW_FORCE` yourself — that value is the user's decision. 3. **A lock conflict is a report, not an obstacle.** "Объект уже захвачен пользователем …" means another developer holds the object: report to the user and stop. Never resolve it with a forced unlock on your own initiative. 4. **Commit comments are mandatory** — task reference plus what changed; the script refuses an empty comment. 5. **Never unbind while repository mode is on.** With `REPOSITORY_PATH` set, disconnecting the configuration from the repository is **forbidden**: `/ConfigurationRepositoryUnbindCfg`, the Designer action «Отключиться от хранилища», and any equivalent. A lock conflict, a read-only object, a failed `/update1cbase` load, or a user request to "just unbind so we can edit" is not a reason — a refusal is the correct outcome (same standing as routing around vendor support). Never empty `REPOSITORY_PATH` to drop this prohibition as a step of the current task. 6. **Never bind** an unbound infobase to a repository (`/ConfigurationRepositoryBindCfg`), create repositories, or manage repository users — these are one-shot administrative acts outside this skill's scope; report the need to the user.
| Task | Operation | Doc | |---|---|---| | Check binding / latest version / connectivity | `-Operation status` | [repo-ops.md](docs/repo-ops.md) | | Version history, who committed what | `-Operation history` | [repo-ops.md](docs/repo-ops.md) | | What differs between local config and repository | `-Operation diff` | [repo-ops.md](docs/repo-ops.md) | | Take objects for editing | `-Operation lock` | [repo-ops.md](docs/repo-ops.md) | | Refresh local copies of objects from the repository | `-Operation update` | [repo-ops.md](docs/repo-ops.md) | | Put finished changes into the repository | `-Operation commit` | [repo-ops.md](docs/repo-ops.md) | | Release locks (no changes / after commit with `-KeepLocked`) | `-Operation unlock` | [repo-ops.md](docs/repo-ops.md) | | Export a repository version to CF/CFE | `-Operation dump` | [repo-ops.md](docs/repo-ops.md) | | How repository binding changes the dev cycle, `/update1cbase`, metadata mutations, conflict handling | — | [repo-sdlc.md](docs/repo-sdlc.md) | | Refresh source files after `lock -Revised` / `update`; freshness check before loading them into the IB | — | [repo-sdlc.md → Source files follow the infobase](docs/repo-sdlc.md#source-files-follow-the-infobase) |
Reports (`status` / `history` / `diff`) are written to a file and only an excerpt is printed — read the report file for targeted analysis instead of pulling megabytes into context.
The prefix `skills/1c-repository-manage/...` is relative to the active tool's skills directory (`.claude
Repo: comol/ai_rules_1c
Implement tasks from an OpenSpec change. Use when the user wants to start implementing,…
Archive a completed OpenSpec change in the experimental workflow. Use when the user wants to…
Enter OpenSpec explore mode - a thinking partner for exploring ideas, investigating problems,…
Propose a new OpenSpec change with all artifacts generated in one step. Use when the user…
Sync delta specs from an OpenSpec change to main specs. Use when the user wants to update…
Update an OpenSpec change by revising its existing planning artifacts and keeping them…