agentleFS
rlajousrlajous/claude-code-commands/skills/setup/SKILL.md

setup

Skill30 starsChanged 3 months agoMITView on GitHub

Configure Git Workflow for Claude Code or Codex, migrate legacy configuration, install Codex project agents, and optionally configure issue-tracker MCP servers. Use when the user asks to set up, install, configure, or migrate Git Workflow.

191 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use add-voice-transcription, add-discord and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • juancruzmunozalbeloSkill

    add-voice-transcription

    Add voice message transcription to NanoClaw using OpenAI's Whisper API. Automatically transcribes WhatsApp voice notes so the agent can read and respond to them.

    Also in 5 projects that use this

  • MicrosoftSkill

    add-discord

    Add Discord bot channel integration via Chat SDK.

    Also in 11 projects that use this

  • MicrosoftSkill

    add-slack

    Add Slack channel integration via Chat SDK.

    Also in 11 projects that use this

  • juancruzmunozalbeloSkill

    add-telegram-swarm

    Add Agent Swarm (Teams) support to Telegram. Each subagent gets its own bot identity in the group. Requires Telegram channel to be set up first (use /add-telegram). Triggers on "agent swarm", "agent teams telegram", "telegram swarm", "bot pool".

    Also in 7 projects that use this

  • +8 more from microsoft

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. 0 are common, 6 are distinctive, and 8 are very specific to this project.

  • 0

    Common

    Most of the 170 edited versions we read keep these.

  • 6

    Distinctive

    This author's own choices. Worth a look.

  • 8

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Very specific:

    Follow runtime compatibility.

    line 12
  2. Very specific:

    Only when the host does not expose the path, use PLUGIN_ROOT, then CLAUDE_PLUGIN_ROOT, to locate skills/setup/SKILL.md and verify that it …

    line 25
  3. Distinctive:

    Never edit a user-global configuration unless the user explicitly selects global scope.

    line 35
  4. Very specific:

    If only .claude/config.yaml exists, explain that it is the legacy location and offer to copy it to the canonical path.

    line 41
  5. Very specific:

    Create .git-workflow/ before copying.

    line 42
  6. Distinctive:

    Never delete or modify the legacy file automatically.

    line 43
  7. Distinctive:

    If both files exist, use the canonical file.

    line 44
  8. Very specific:

    If neither exists, ask only for values that differ from the documented defaults, then write the canonical file from …

    line 45
  9. Very specific:

    Default commit attribution is disabled.

    line 47
  10. Distinctive:

    Use the package synchronizer so classification, atomic replacement, and ledger behavior stay consistent:

    line 53
  11. Very specific:

    After showing the result and receiving confirmation for customized files, rerun without --dry-run and add --force only for replacements the …

    line 59
  12. Very specific:

    Create .codex/agents/ when needed.

    line 67
  13. Distinctive:

    Ask which integrations are needed: none, Linear, Jira, GitHub Issues, or more than one.

    line 73
  14. Distinctive:

    Never print or persist access tokens in workflow configuration.

    line 79

“Common” is measured: kept by at least 6 in 10 of the 170 edited versions of this file we could read. “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

Set up Git Workflow

Follow runtime compatibility. Claude Code users invoke this as /setup; Codex users invoke it as $setup.

1. Resolve roots and runtime

Parse these options before resolving paths:

  • --host <claude|codex|both> selects exactly which project assets to synchronize. When omitted, detect the active host and ask only if the target remains ambiguous.
  • --dry-run previews migration and installation without creating directories, files, or ledgers.
  • --force is explicit approval to replace customized selected-host files, but differences must still be shown first.
  • Reject unknown options and missing option values without writing.

Resolve {SKILL_DIR} to the absolute, physical directory containing this loaded SKILL.md. Codex includes that path in its skill metadata; Claude Code can resolve the loaded skill path too. Only when the host does not expose the path, use PLUGIN_ROOT, then CLAUDE_PLUGIN_ROOT, to locate skills/setup/SKILL.md and verify that it exists. Never substitute an empty variable or silently fall back to /scripts.

Derive {PACKAGE_ROOT} as the physical {SKILL_DIR}/../.. directory and require {PACKAGE_ROOT}/.codex-plugin/plugin.json. Resolve the project root with git rev-parse --show-toplevel, falling back to the current directory.

Detect the active host from available environment and configuration. If both Claude and Codex appear active and the requested target is unclear, ask which host or hosts to configure.

Never edit a user-global configuration unless the user explicitly selects global scope.

2. Migrate workflow configuration

Canonical configuration is <project>/.git-workflow/config.yaml.

  • If only .claude/config.yaml exists, explain that it is the legacy location and offer to copy it to the canonical path.
  • Create .git-workflow/ before copying.
  • Never delete or modify the legacy file automatically.
  • If both files exist, use the canonical file. Show a diff when they differ and do not merge or overwrite without an explicit user decision.
  • If neither exists, ask only for values that differ from the documented defaults, then write the canonical file from templates/config.yaml.template.

Default commit attribution is disabled. Preserve an existing explicit attribution.enabled or attribution.format value during migration.

3. Install Codex project agents

For Codex, copy every source <plugin>/.codex/agents/*.toml to <project>/.codex/agents/.

Use the package synchronizer so classification, atomic replacement, and ledger behavior stay consistent:

node "{SKILL_DIR}/scripts/sync-project.mjs" --source "{PACKAGE_ROOT}" --target <project> --host codex --migrate-config --initialize-config --dry-run

After showing the result and receiving confirmation for customized files, rerun without --dry-run and add --force only for replacements the user approved. When the skill itself was invoked with --dry-run, do not perform the second run.

For each agent:

  • Missing target: list it as + and install it.
  • Identical target: list it as = and leave it unchanged.
  • Different target: list it as ~, show a unified diff, and ask before overwriting.

Create .codex/agents/ when needed. Do not set a model, reasoning effort, concurrency limit, or permission mode; installed agents inherit the parent Codex session. The plugin-bundled Codex hook is discovered separately from hooks/hooks.json and requires the host's normal hook trust review.

Claude Code loads the existing plugin agents directly. For a manual Claude installation, synchronize skills/, agents/*.md, and the shared references/ directory into .claude/skills/, .claude/agents/, and .claude/references/ with the same missing/identical/different rules. Use --host claude (or both) with the synchronizer.

4. Configure issue-tracker MCP (optional)

Ask which integrations are needed: none, Linear, Jira, GitHub Issues, or more than one.

  • Codex: update the selected project .codex/config.toml or explicit user ~/.codex/config.toml MCP tables without replacing unrelated settings.
  • Claude Code: update the selected .claude/settings.json or explicit user ~/.claude/settings.json MCP configuration without replacing unrelated settings.
  • GitHub Issues can use the authenticated gh CLI and does not require an MCP server.

Never print or persist access tokens in workflow configuration. If a server needs credentials, reference environment variables and tell the user which variables must be set.

5. Record installation

The synchronizer writes .git-workflow/version.json with:

{
  "version": "2.5.2",
  "source": "<resolved-plugin-source>",
  "installed_at": "<ISO-8601 timestamp>",
  "hosts": ["codex"],
  "managed_files": [".codex/agents/pr-reviewer.toml"]
}

Report created, migrated, skipped, and user-preserved files separately. End with host-specific invocation examples, including /status for Claude Code and $status for Codex.

Failure handling

  • Missing plugin source: stop before writing and report how source resolution failed.
  • Invalid existing YAML, JSON, or TOML: report the file and parse error; do not replace it.
  • Permission failure: report the exact target and leave existing files unchanged.
  • Partial agent installation: report every completed and failed file so $update or /update can resume safely.

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.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.