Skip to content

Claude Code

Claude Code is Anthropic's official CLI for AI-assisted development. It helps with code generation, debugging, refactoring, and general software engineering tasks.

Installation

brew install --cask claude-code

Configuration

Global CLAUDE.md

Create a global configuration file at ~/.claude/CLAUDE.md to set personal preferences that apply across all projects.

Download the team's standard configuration: CLAUDE.md

mkdir -p ~/.claude
gh api -H "Accept: application/vnd.github.raw" repos/majority-dev/dt-documentation/contents/docs/assets/claude/CLAUDE.md > ~/.claude/CLAUDE.md

Project-level CLAUDE.md

Each repository can have its own CLAUDE.md at the project root. This file contains project-specific instructions that override or extend global settings.

my-project/
├── CLAUDE.md          # Project-specific instructions
├── src/
└── ...

Tessl

Tessl is a package manager for AI coding-agent skills. It lets the team share versioned, discoverable skills via tiles — think dbt packages, but for Claude Code prompts.

Installing tiles

Install a tile globally to make its skills available across all projects:

tessl install -g majority-dt/gh-issue
tessl install -g majority-dt/update-docs
tessl install -g majority-dt/update-deps

To check for updates:

tessl outdated
tessl update

Available tiles

gh-issue

Creates a GitHub issue in majority-dev/projects, adds it to the Data project board, and checks out a local branch.

tessl install -g majority-dt/gh-issue

Usage: /gh-issue <issue-title>

update-docs

Drafts documentation updates for dt-documentation when infrastructure, pipelines, dbt models, or architecture changes are detected. Claude will also proactively suggest running this skill when it detects relevant changes.

tessl install -g majority-dt/update-docs

Usage: /update-docs <description of what changed>

update-deps

Updates project dependencies to latest versions, optionally creating a Linear issue and PR.

tessl install -g majority-dt/update-deps

Usage: /update-deps [--auto-pr]

Creating a tile

See the Tessl Intro presentation for the full workflow. In short:

  1. Scaffold: tessl tile new --name majority-dt/<tile-name>
  2. Write the SKILL.md with arguments, steps, and shell commands
  3. Test locally: tessl install -g majority-dt/<tile-name>
  4. Publish: tessl tile publish tiles/<tile-name>

Tiles live in tiles/ in this repo and are published to the Tessl registry on merge.

Skills

Skills are reusable prompts that can be invoked with /<skill-name>. They help standardize common tasks across the team.

Tip

Prefer installing skills via Tessl tiles (see above) for team-wide distribution.

Skill Locations

Skills can be stored in three locations:

Location Scope Path
Tessl tile Team-wide (recommended) Installed globally via tessl install -g
Personal Your machine only ~/.claude/skills/
Project Single repository .claude/skills/

Creating a Skill

Create a markdown file with the skill instructions:

mkdir -p ~/.claude/skills

Example skill (~/.claude/skills/test-generator.md):

Generate pytest unit tests for the specified Python code.

Requirements:
- Use pytest fixtures where appropriate
- Include edge cases and error scenarios
- Use descriptive test names following pattern: test_<function>_<scenario>_<expected>
- Mock external dependencies

Using Skills

Invoke a skill by typing its name prefixed with /:

/test-generator

Project Skills

Some repositories include project-specific skills in .claude/skills/. These are available automatically when working inside that repo.

republish-events (dt-bq2pubsub-publisher)

Guides the full workflow for republishing BigQuery events to Pub/Sub: clearing the event-specific *_previous_run table, running the event's *_delta dbt model, publishing events, and updating the event-specific *_previous_run table.

Usage: /republish-events <event-type> (e.g., /republish-events crde)

Best Practices

  • Keep CLAUDE.md instructions concise and specific
  • Update project CLAUDE.md when team conventions change
  • Share useful skills with the team via the shared skills repository
  • Use skills for repetitive tasks to ensure consistency