Claude Cursor opencode Skill

camp-projects

Manage a camp's projects. Use when committing inside `projects/*`, deciding status/pull/push scope (root vs submodule vs all), or creating/removing project worktrees.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download obedience-corp-festival-plugins_festival_skills_camp-projects-01263e8.zip · 0 KB
Part of obedience-corp/festival — 60 skills

Install

skills CLI npx skills add https://github.com/Obedience-Corp/festival/tree/main/plugins/festival/skills/camp-projects
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install obedience-corp-festival@llmmart
Git git clone https://github.com/Obedience-Corp/festival.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole obedience-corp/festival collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Camp Projects

A camp was previously called a campaign; project commands work the same either way.

Commit in Submodules

camp p commit -m "fix: message"

Pointer sync is intentional and root-level:

camp refs-sync
camp refs-sync projects/camp

Scope-Safe Status / Sync

camp status
camp status --sub
camp status all

camp pull --sub
camp push --sub

Use all commands only when broad workspace churn is intended.

Rename a Project

camp project rename <current> <new>
camp project rename <current> <new> --dry-run --json
camp project rename <current> <new> --remote-url git@github.com:org/new-name.git

Renames submodules, linked workspace symlinks, and camp-owned directories, migrating the camp references in one transaction. Dirty checkouts and linked worktrees are preserved; destination collisions and unmanaged directories are rejected before anything is written.

Camp never guesses that the upstream repository was renamed too. Pass --remote-url to move origin as part of the same transaction.

Worktrees

camp project worktree add <name>
camp project worktree list
camp project worktree remove <name>

Common Mistakes

  • Assuming submodule commits should auto-update camp-root pointers.
  • Running camp pull/camp push expecting submodule scope without --sub.
  • Passing worktree path to remove; command expects worktree name.
  • Renaming a project directory by hand instead of camp project rename, which leaves the camp references pointing at the old name.
Files (festival)
  • SKILL.md 1.7 KB
    ---
    name: camp-projects
    description: Manage a camp's projects. Use when committing inside `projects/*`, deciding status/pull/push scope (root vs submodule vs all), or creating/removing project worktrees.
    ---
    
    # Camp Projects
    
    A camp was previously called a campaign; project commands work the same either way.
    
    ## Commit in Submodules
    
    ```bash
    camp p commit -m "fix: message"
    ```
    
    Pointer sync is intentional and root-level:
    
    ```bash
    camp refs-sync
    camp refs-sync projects/camp
    ```
    
    ## Scope-Safe Status / Sync
    
    ```bash
    camp status
    camp status --sub
    camp status all
    
    camp pull --sub
    camp push --sub
    ```
    
    Use `all` commands only when broad workspace churn is intended.
    
    ## Rename a Project
    
    ```bash
    camp project rename <current> <new>
    camp project rename <current> <new> --dry-run --json
    camp project rename <current> <new> --remote-url git@github.com:org/new-name.git
    ```
    
    Renames submodules, linked workspace symlinks, and camp-owned directories,
    migrating the camp references in one transaction. Dirty checkouts and linked
    worktrees are preserved; destination collisions and unmanaged directories are
    rejected before anything is written.
    
    Camp never guesses that the upstream repository was renamed too. Pass
    `--remote-url` to move origin as part of the same transaction.
    
    ## Worktrees
    
    ```bash
    camp project worktree add <name>
    camp project worktree list
    camp project worktree remove <name>
    ```
    
    ## Common Mistakes
    
    - Assuming submodule commits should auto-update camp-root pointers.
    - Running `camp pull`/`camp push` expecting submodule scope without `--sub`.
    - Passing worktree path to remove; command expects worktree name.
    - Renaming a project directory by hand instead of `camp project rename`, which
      leaves the camp references pointing at the old name.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related