Claude Code

Native slash commands and plugins with Anthropic's CLI

Fulcrum Opinion: Claude Code is our recommended vendor—deepest integration, best experience. Native slash commands feel like first-class features, not workarounds.

Why Claude Code?

Claude Code provides the most complete Fulcrum integration. While other vendors require flattening everything into single files or external references, Claude Code supports:

  • Native slash commands/start, /execute-work feel built-in
  • @ mentions for agents@tech-lead, @backend-engineer as first-class concepts
  • Plugin-style skills — Invoke with /skill tool for structured workflows
  • Symlinked structure — Clean separation of concerns, easy customization

Generated Structure

Running fulcrum sync --vendor claude generates a .claude/ directory with symlinked configuration:

.claude/
├── settings.json           # Claude Code configuration
├── settings.local.json     # Local overrides (gitignored)
├── commands/               # Slash commands (symlinks)
│   ├── start.md           → ../../fulcrum/commands/start.md
│   ├── execute-work.md    → ../../fulcrum/commands/execute-work.md
│   ├── status.md          → ../../fulcrum/commands/status.md
│   └── ...
├── agents/                 # Agent definitions (symlinks)
│   ├── tech-lead.md       → ../../fulcrum/agents/tech-lead.md
│   ├── backend-engineer.md → ../../fulcrum/agents/backend-engineer.md
│   └── ...
└── skills/                 # Skill plugins (symlinks)
    ├── brainstorming.md   → ../../fulcrum/skills/brainstorming.md
    ├── code-reviewer.md   → ../../fulcrum/skills/code-reviewer.md
    └── ...
Why symlinks? Your customizations live in fulcrum/, synchronized to vendor directories. Edit once, deploy everywhere. When Claude Code can't use symlinks (Windows without admin), files are copied with fulcrum sync --copy.

Using Agents

Mention agents directly in your prompts using @ syntax:

# Get architectural guidance
@tech-lead Review this auth implementation for scalability concerns

# Implementation help
@backend-engineer Implement the caching layer we discussed

# Full council review
@tech-lead @backend-engineer @devops-engineer Review this PR together

Claude Code automatically loads the agent definition and adjusts its behavior accordingly. The agent's expertise, responsibilities, and decision-making framework become active context.

Available Agents

AgentRoleWhen to Use
@tech-leadArchitecture decisionsDesign reviews, cross-team coordination
@backend-engineerServer-side implementationAPIs, databases, business logic
@frontend-engineerUI/UX implementationComponents, state, user experience
@devops-engineerInfrastructure & deploymentCI/CD, monitoring, scaling

Using Slash Commands

Slash commands are native to Claude Code—type / and see available commands:

# Start a new work session
/start "Implement OAuth 2.0 with Google"

# Execute tracked work
/execute-work BEAD-001

# Check session status
/status

# Review your changes
/review

# Create a PR from your work
/pr

Core Commands

CommandPurposeTriggers
/startInitialize work sessionCreates bead, loads context
/execute-workRun planned workLoads bead, executes tasks
/statusSession overviewShows beads, blockers, progress
/reviewCode reviewInvokes code-reviewer skill
/prCreate pull requestInvokes pr-creator skill

Using Skills

Skills are invoked via the /skill tool or inline mentions:

# Invoke skill directly
/skill brainstorming "Design a caching strategy"

# Skills auto-trigger from context
"Let's brainstorm the API design"  # Activates brainstorming skill

# Explicit skill with parameters
/skill code-reviewer --focus security --staged

Skill Categories

  • Workflow Skills — brainstorming, writing-plans, executing-plans
  • Quality Skills — code-reviewer, test-engineer, quality-gate-checker
  • Review Skills — design-reviewer, council-review, pr-creator
  • Specialized — documentation-writer, platform-architect

Symlink Fallback Behavior

When symlinks aren't available (Windows without developer mode, some network drives), Fulcrum falls back to file copying:

# Force copy mode
fulcrum sync --vendor claude --copy

# Auto-detect (uses symlinks if available)
fulcrum sync --vendor claude
Copy mode caveat: With --copy, changes to fulcrum/won't automatically appear in .claude/. Run fulcrum sync after editing your configurations.

Vendor Comparison

FeatureClaude CodeCursorWindsurfGemini CLI
Native commands✅ Slash commands⚠️ Reference in prompts⚠️ Workflow files✅ TOML commands
Agent @ mentions✅ First-class⚠️ In prompts⚠️ In rules.md⚠️ In GEMINI.md
Skill plugins✅ /skill tool⚠️ Embedded⚠️ Documented⚠️ Embedded
File structureSymlinked dirsSingle filerules + workflowsGEMINI.md + TOML
CustomizationPer-fileAppend to fileEdit rules.mdEdit GEMINI.md

Configuration

Claude Code reads from .claude/settings.json and .claude/settings.local.json:

// .claude/settings.json (committed)
{
  "project": {
    "name": "my-project",
    "agents": "./agents",
    "commands": "./commands",
    "skills": "./skills"
  }
}

// .claude/settings.local.json (gitignored)
{
  "user": {
    "defaultAgent": "tech-lead",
    "autoSkills": true
  }
}
Best practice: Use settings.local.json for personal preferences that shouldn't affect teammates—default agents, auto-skill triggers, keyboard shortcuts.