agentleFS
luiseimanluiseiman/dotforge/skills/diff-project/SKILL.md

diff-project

Skill8 starsChanged 7 months agoMITView on GitHub

Shows what changed in dotforge since the project's last sync, to decide whether running /forge sync is worthwhile.

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If no dotforge_version is registered (null), report:

    line 15
  2. Distinctive:

    If manifest does NOT exist, continue to Step 3 using git log.

    line 26
  3. Very specific:

    If the tag does not exist, use last_sync as reference:

    line 38
  4. Distinctive:

    If there are no relevant commits, report:

    line 43
  5. Distinctive:

    If there are relevant changes:

    line 70
  6. Distinctive:

    If there are only cosmetic changes or changes in unused stacks:

    line 75

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Diff Project

Show what changed in dotforge since the last synchronization of the current project.

Step 1: Identify project baseline

  1. Read $DOTFORGE_DIR/registry/projects.local.yml
  2. Find the current project by path (compare with $PWD)
  3. Get dotforge_version and last_sync
  4. If no dotforge_version is registered (null), report:
    Project not synced — no baseline to compare against.
    Run /forge sync to establish baseline.
    And stop.

Step 2: Verify local manifest

Run bash "$DOTFORGE_DIR/scripts/forge-doctor.sh" . --json. It compares every file in .claude/.forge-manifest.json against disk and returns intact / drifted (locally modified) / missing (deleted) / unmanaged (present but never installed by dotforge). Use dotforge_version from the manifest as the baseline — more precise than the registry — and list drifted/missing files in the report; those are the ones a sync would have to merge rather than overwrite.

If manifest does NOT exist, continue to Step 3 using git log.

Step 3: Detect changes in dotforge

Run in $DOTFORGE_DIR/:

git log --oneline v<version>..HEAD -- template/ stacks/

Where <version> is the tag corresponding to the project's dotforge_version.

If the tag does not exist, use last_sync as reference:

git log --oneline --since="<last_sync>" -- template/ stacks/

If there are no relevant commits, report:

dotforge has no changes in template/stacks since v<version>.
Project is up to date.

Step 4: Show change summary

For each modified file in template/ or relevant stacks/ for the project:

═══ DIFF dotforge: v<previous> → v<current> ═══
Project: <name> (last sync: <date>)

Files modified in dotforge:
  template/hooks/block-destructive.sh — <diff summary>
  template/rules/_common.md — <diff summary>
  stacks/python-fastapi/rules/backend.md — <diff summary>

Local files with modifications (vs manifest):
  .claude/rules/_common.md — hash differs from deployed

Filter stacks/ to show only the stacks used by the project (read from registry).

Step 5: Recommend action

If there are relevant changes:

Recommendation: run /forge sync to incorporate these changes.

If there are only cosmetic changes or changes in unused stacks:

Changes do not affect this project. Sync is not necessary.

Installation

This skill is installed automatically if the skills/ symlink already exists in ~/.claude/skills/. If not, create the symlink:

ln -sf $DOTFORGE_DIR/skills ~/.claude/skills

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.