From hcf
Syncs HCF project config with latest plugin defaults: adds missing CLAUDE.md and .claude/ files, compares pipeline.md, appends .gitignore entries, checks references. Use after plugin updates.
npx claudepluginhub markshust/hcf --plugin hcfThis skill uses the workspace's default tool permissions.
Sync a project's HCF configuration with the latest plugin defaults. Non-destructive — adds missing files, generates what's needed, and flags differences in existing ones.
Updates CLAUDE.md and project.json by comparing against current just-ship framework templates, adding missing sections and framework content while preserving project-specific details.
Initializes Claude Code projects by auto-detecting Node.js frameworks from package.json and lockfiles, replaces CLAUDE.md placeholders, installs rules, hooks, and scripts.
Initializes, upgrades, or migrates claude-harness plugin in projects. Handles fresh installs, v2.x migrations, legacy cleanup, memory directories, and .gitignore updates for ephemeral files.
Share bugs, ideas, or general feedback.
Sync a project's HCF configuration with the latest plugin defaults. Non-destructive — adds missing files, generates what's needed, and flags differences in existing ones.
This skill requires that /project-setup has been run at least once. If CLAUDE.md and .claude/ don't exist, tell the user to run /project-setup first and stop.
Check that the project has been set up:
ls CLAUDE.md .claude/ 2>/dev/null
If either is missing, stop and tell the user:
This project hasn't been set up yet. Run
/project-setupfirst.
These are the files that project-setup creates. Check which exist:
| File | Source |
|---|---|
CLAUDE.md | Generated from project context |
.claude/testing.md | Generated from project context |
.claude/code-standards.md | Generated from project context |
.claude/architecture.md | Generated from project context |
.claude/pipeline.md | Copied from plugin's pipeline.md |
Collect the list of missing files. Do NOT act on them yet — just note them.
For files that originate from the plugin (currently pipeline.md), compare the project's version against the plugin's default:
pipeline.md (from the plugin directory — resolve via the skill's own path, i.e., two levels up from this skill file).claude/pipeline.md (if it exists)For each phase in the plugin's default:
Verify that .gitignore contains required entries:
.claude/ralph-loop.local.md
For each missing entry, append it to .gitignore.
Read the project's CLAUDE.md and verify it references the .claude/ config files: testing.md, code-standards.md, and architecture.md. Skip pipeline.md — it's consumed internally by the HCF plugin, not by Claude directly.
Note any missing references.
Output a summary of everything found, using ✓ for current items, ✗ for items that need fixing, and ⚠ for items that need user attention:
HCF Project Update
Files:
✓ CLAUDE.md — exists
✓ .claude/testing.md — exists
✓ .claude/code-standards.md — exists
✓ .claude/architecture.md — exists
✓ .claude/pipeline.md — exists (customized)
Pipeline:
✓ post-plan phase — up to date
⚠ post-implementation phase — plugin default includes 'standards-enforcer', project pipeline does not (intentional?)
.gitignore:
✓ .claude/ralph-loop.local.md — present
CLAUDE.md References:
✓ testing.md — referenced
✓ code-standards.md — referenced
✓ architecture.md — referenced
If there are any ✗ or ⚠ items, ask the user:
I found {N} items that need attention. Want me to fix them? I'll walk you through each one.
If the user confirms, proceed to Step 7. If everything is current, output "All up to date!" and stop.
Process each fixable item in order. Never overwrite existing files. Never modify files without confirmation.
For each missing file, generate it by auto-detecting from the project context — the same approach project-setup uses:
composer.json, package.json, Cargo.toml, etc.).claude/ config files for context about the projectCLAUDE.md for project identity and conventionsproject-setupRead the plugin's default and create it in the project. No confirmation needed — this is a default.
For each new phase or missing default agent, ask the user individually:
The plugin default includes '{agent-name}' in the {phase} phase. Add it? (y/n)
Only add agents the user approves. Never remove agents the user has added.
Report which config files aren't referenced and suggest the snippet to add. Do NOT modify CLAUDE.md automatically — show the user what to add and let them decide.
Append silently — these are non-destructive housekeeping entries.
After all fixes are applied, output:
Updates applied:
✓ Created .claude/architecture.md
✓ Added 'standards-enforcer' to post-implementation pipeline phase
All done!
CLAUDE.md automatically — only suggest changes