Skip to content
Back to skills

Change Logging

ASecurity

Use when: completing any task that modifies files, runs commands on remote hosts, or changes configuration. Log changes at the end of a task unless the task was only read-only queries, searches, or informational lookups. This skill is mandatory when changes have been made.

  • 4 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 1, 2026
devopsgobashgitapi

Works with

  • terminal
  • api

Security analysis

A100/100

Scanned September 1, 2026

npx -y skills add jimmybish/homelab --skill change-logging --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Change Logging?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Change Logging
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jimmybish-change-logging/badge)](https://www.skillsdirectory.com/skills/jimmybish-change-logging)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: change-logging
description: 'Use when: completing any task that modifies files, runs commands on remote hosts, or changes configuration. Log changes at the end of a task unless the task was only read-only queries, searches, or informational lookups. This skill is mandatory when changes have been made.'
---

# Change Logging

Record every change made during a task in a structured change log file, similar to a CAB (Change Advisory Board) change ticket.

## When to Use

- **Always** — after any task that modifies files, runs commands on remote hosts, or changes configuration
- This includes: editing files in the repo, running Ansible playbooks, SSHing to hosts, calling APIs that mutate state, creating/deleting resources
- This does **not** include: read-only queries, searches, or informational lookups

## File Location

```
changelogs/week-YYYY-MM-DD/log_YYMMDD.md
```

- **Week folder:** `changelogs/week-YYYY-MM-DD/` — the `YYYY-MM-DD` is the most recent Sunday's date (start of the week)
- **Log file:** `log_YYMMDD.md` — the `YYMMDD` is **today's date** (e.g. `log_260422.md` for 22 April 2026)
- If the week folder doesn't exist, create it with `mkdir -p`
- If the log file already exists for today, **append** a new entry to it (add a horizontal rule `---` separator between entries)

### Computing the Week Folder Date

The week folder uses the most recent Sunday. In a terminal:
```bash
date -d "last sunday" +%Y-%m-%d  # or today's date if it IS Sunday
```

## File Handling Rules

- Use one log file per day: `log_YYMMDD.md`
- If the week folder does not exist, create it first
- If the log file already exists, append the new entry to the bottom
- Separate multiple entries in the same file with `---`

## Log Entry Format

Each entry follows this CAB-style template:

```markdown
# Change Log — YYYY-MM-DD HH:MM

**Agent:** <agent name or "copilot">
**Requested by:** <user request summary — one line>

## Summary

Brief description of what was changed and why (2-3 sentences max).

## Changes Made

| File | Change |
|------|--------|
| `path/to/file` | Description of what changed (values before → after, lines added/removed, etc.) |
| `path/to/other/file` | Description |

## Commands Executed on Remote Hosts

| Host | Command | Purpose |
|------|---------|---------|
| `hostname` | `command run` | Why it was run and the outcome |

If no remote commands were executed, write: *None — all changes were local file edits.*

## Rollback Plan

Step-by-step instructions to revert the changes, or *N/A — trivial/no-impact change* if the change is low-risk.

Examples of good rollback plans:
- "Revert `file.yaml` to previous values: `key: old_value`"
- "Run `ansible-playbook -i inventory.yaml deploy_foo.yaml` with the old template"
- "Delete the new file: `rm path/to/new/file`"
- "No rollback needed — this was a new file addition with no side effects"
```

## Entry Rules

- **Write to disk only** — do not git add, commit, or push the changelog
- **Be specific** — list actual file paths, actual values changed, and actual commands run
- **Include before/after** — when changing a value, note what it was and what it became
- **Summarise, don't dump** — for large diffs, summarise the key changes rather than pasting entire files
- **Always include rollback** — even if it's "N/A", the section must be present

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.