Skip to content
Agentmart
Submit a tool

ccfold

Merge upstream CLAUDE.md template changes into the current project's CLAUDE.md, preserving project-specific content like Dev-Team and custom sections.

Skill by Wave-Engineering

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/wave-engineering-ccfold

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Merge upstream CLAUDE.md template changes into the current project's CLAUDE.md, preserving project-specific content like Dev-Team and custom sections. Fetches the latest template from GitHub.

Use cases: writing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/ccfold

What's inside

Skill name
ccfold
Description
Merge upstream CLAUDE.md template changes into the current project's CLAUDE.md, preserving project-specific content like Dev-Team and custom sections. Fetches the latest template from GitHub.
License
MIT
Instructions
304 lines in SKILL.md · view on GitHub

Before installing

  • Instructions call the network

Agent Skills spec issues

  • files: referenced but missing: scripts/ci/validate.sh, scripts/ci/build.sh

Files (2)

  • SKILL.md
  • introduction.md

SKILL.md (first lines)

<!-- introduction-gate: If introduction.md exists in this skill's directory AND
     the marker file /tmp/.skill-intro-ccfold does NOT exist, read introduction.md,
     present its contents to the user, then create the marker: touch /tmp/.skill-intro-ccfold
     Do NOT delete introduction.md — it lives in a protected directory.
     Do this BEFORE executing any skill logic below. -->

# CCFold — Merge Upstream CLAUDE.md Template

You are merging the latest CLAUDE.md template from the `claudecode-workflow` repo into the current project's CLAUDE.md.

Follow these steps exactly.

---

## Step 1: Fetch the Upstream Template

Fetch the latest CLAUDE.md from the canonical source:

```bash
gh api repos/Wave-Engineering/claudecode-workflow/contents/CLAUDE.md \
  --jq '.content' | base64 -d > /tmp/claudemd-upstream.md
```

If this fails (no `gh` auth, repo not accessible), fall back:
```bash
curl -sL "https://raw.githubusercontent.com/Wave-Engineering/claudecode-workflow/main/CLAUDE.md" \
  > /tmp/claudemd-upstream.md
```

Read the fetched file to confirm it looks valid (starts with `# Project Instructions for Claude Code`).

---

## Step 2: Read the Local CLAUDE.md

Read the current project's `CLAUDE.md` from the project root.

**If no CLAUDE.md exists:** Tell the user and offer to copy the upstream template as-is. If they accept, copy it, clear the `Dev-Team:` value, and stop.

**If CLAUDE.md exists:** Continue to Step 3.

---

## Step 3: Identify Sections

Parse both files into sections by splitting on `## ` headers. Each section consists of its `## ` header line and all content until the next `## ` header or end of file. The preamble before the first `## ` header is also a section (the title block).

For each file, build a list of section names (the text after `## `).

---

## Step 4: Compare and Classify

Compare the two section lists and classify each section:

| Category | Meaning | Action |
|----------|---------|--------|
| **Identical** | Same header and same content in both | Skip — no change needed |
| **Updated** | Same header, different content | Upstream has improvements — propose merge |
| **New upstream** | Header exists upstream but not locally | New section added to template — propose adding |
| **Local only** | Header exists locally but not upstream | Project-specific customization — preserve as-is |

---

## Step 5: Preserve Project-Specific Content

These items MUST be preserved from the local file, never overwritten by upstream:

- The `Dev-Team:` value at the bottom of the Agent Identity section
- Any section that exists only locally (classified as "Local only" above)
- Any content appended below the `Dev-Team:` line

When merging the `## Agent Identity` section, always keep the local `Dev-Team:` value even if the surrounding text is updated from upstream.

---

## Step 6: Present the Merge Plan

Show the user a summary:

```
CLAUDE.md merge: upstream → local
══════════════════════════════════════════

  [=] Section Name                    (identical — no change)
  [~] Section Name                    (updated upstream)
  [+] Section Name                    (new in upstream)
  [-] Section Name                    (local only — preserved)

══════════════════════════════════════════
X sections unchanged, Y to update, Z to add
```

For each `[~]` (updated) section, show a concise summary of what changed — not a raw diff, but a human-readable description. For example:
> `[~] Code Standards` — Upstream added Go and Rust to the defaults table and reworded the discovery instructions.

For each `[+]` (new) section, show the section title and a one-line summary of its purpose.

---

## Step 7: Confirm

Ask: **"Apply these changes to CLAUDE.md?"** and wait for explicit approval.

The user may also:
- Ask to skip specific sections ("skip the Code Standards update")
- Ask to see the full diff for a specific section
- Ask to abort

---

## Step 8: Apply

**Before writing**, back up the existing CLAUDE.md so the user can inspect or extract from it later:

```bash
PROJECT_NAME=$(basename "$(git rev-parse --show-toplevel 2>/dev/null || pwd)")
SESSION_ID="${CLAUDE_SESSION_ID:-$(date +%Y%m%d-%H%M%S)}"
BACKUP="/tmp/CLAUDE.md.bak.${PROJECT_NAME}.${SESSION_ID}"

From Wave-Engineering/claudecode-workflow, MIT.

More from Wave-Engineering/claudecode-workflow

Signals

Stars
1
Forks
1
Open issues
85
Last commit (this folder)
Oct 24, 2026 (4 days ago)
Last release
Oct 24, 2026 (4 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Wave-Engineering

Cite this page

ccfold skill. Agent Mart. https://agentmart.dev/skills/wave-engineering-ccfold (last updated 2026-10-24)