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
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.
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:
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.
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.
Usage: /update-docs <description of what changed>
update-deps
Updates project dependencies to latest versions, optionally creating a Linear issue and PR.
Usage: /update-deps [--auto-pr]
Creating a tile
See the Tessl Intro presentation for the full workflow. In short:
- Scaffold:
tessl tile new --name majority-dt/<tile-name> - Write the
SKILL.mdwith arguments, steps, and shell commands - Test locally:
tessl install -g majority-dt/<tile-name> - 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:
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 /:
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