Jujutsu (jj) バージョン管理システムのワークフロー支援。 PR作成、ブックマーク管理、Change IDベース管理をサポート。
/plugin marketplace add sk8metalme/ai-agent-setup/plugin install jujutsu-workflow@ai-agent-setupThis skill is limited to using the following tools:
重要: ドキュメントにコードを記述することはできるだけ避ける
理由:
推奨アプローチ:
examples/ ディレクトリに配置OK例(ドキュメント):
## ユーザー認証
詳細な実装は `src/auth/authenticator.py` を参照してください。
### 使い方
使用例は `examples/auth_usage.py` を参照してください。
NG例(ドキュメント):
## ユーザー認証
以下のコードを使用してください:
\`\`\`python
def authenticate(username, password):
# ... 30行のコード ...
\`\`\`
例外(許可されるケース):
原則: ユーザーにコマンド実行を依頼する際は、必ず以下の手順を踏むこと
現在の作業ディレクトリを確認
正しいディレクトリへの移動コマンドを最初に提示
実際の操作コマンドを提示
# Step 0: 作業ディレクトリに移動(最優先)
cd /Users/username/Work/git/project-name
# Step 1: 認証確認
gh auth status
# Step 2: 以降の操作...
# ❌ ディレクトリ移動を省略
jj bookmark list
gh pr create --head feature --base main
問題点:
# ✅ ディレクトリ移動を明示
# Step 0: jujutsu-practiceディレクトリに移動
cd /Users/arigatatsuya/Work/git/jujutsu-practice
# Step 1: ブックマーク確認
jj bookmark list
# Step 2: PR作成
gh pr create --head feature --base main
理由:
PR作成を指示された場合、必ず以下の順序で実行してください:
重要: 以下のStepをスキップせず、順番通りに実行すること。
# Step 0: 作業ディレクトリに移動(最優先)
cd /path/to/project-directory
# Step 1: GitHub認証確認(スキップ禁止)
# ⚠️ 注意: AIエージェントは実行しません。ユーザーに確認を依頼します。
# 理由: Cursorのサンドボックス環境では gh auth status が失敗する場合があるため
# ユーザーに以下のコマンド実行を依頼:
# gh auth status
# ↓ エラーが出た場合は、以降の手順を中断し、ユーザーに認証対処を依頼
# Step 2: ブックマーク確認
jj bookmark list
# Step 3: リモート同期確認
jj git fetch
# Step 4: プッシュコマンドを提示(実行しない)
# 以下のコマンドをユーザーに提示するのみ:
# jj git push --bookmark BOOKMARK_NAME --allow-new
# Step 5: PR作成コマンドを提示(実行しない)
# 以下のコマンドをユーザーに提示するのみ:
# gh pr create --head BOOKMARK_NAME --base main \
# --title "タイトル" --body "説明"
# Step 6: CI監視コマンドを提示
# gh pr checks <pr-number>
重要: GitHub認証確認、Git push、PR作成はAIエージェントが実行しません。ユーザーが手動で実行してください。必要なコマンドを提示するのみです。
ユーザーにコマンド実行を依頼する際、ディレクトリ移動を省略すること
cd /path/to/projectを明示Step 1(GitHub認証確認)をスキップすること
gh auth statusの実行を依頼GitHub認証関連コマンドをAIエージェントが実行すること
gh auth status, gh auth login, gh auth setup-git などは実行しないエラーを無視して次の手順に進むこと
チェックリストの順序を入れ替えること
Git pushやPR作成を実行すること
重要: どんな作業でも、開始前に必ずローカルとリモートの状態を同期・確認する
特に重要: jj new mainの前に必ず未コミット変更を確認する
理由:
jj new mainすると変更が見えなくなる# PRマージ後、未コミット変更の存在を忘れて...
jj git fetch
jj bookmark set main -r 'main@origin'
jj new main # ❌ 未コミット変更が見えなくなる!
# Step 1: 未コミット変更の確認(最優先・最重要)
jj status
# 判断:
# - 未コミット変更なし → Step 2へ
# - 未コミット変更あり → **先にコミットまたは保護**(Step 6を参照)
# Step 2: リモートの最新状態を取得(必須)
jj git fetch
# Step 3: ローカルのmainに未プッシュのコミットがあるか確認(重要!)
jj log -r 'main & ~main@origin'
# 出力がある場合 = 未プッシュのコミットがある → Step 4-A へ
# 出力がない場合 = 安全 → Step 4-B へ
⚠️ 警告: jj bookmark set main -r 'main@origin' を実行すると、
未プッシュのコミットへの参照が失われます(孤立します)。
対処法1: 一時ブックマークで保護してから更新(推奨)
# 未プッシュのコミットを一時ブックマークで保護
jj bookmark create main-local-work -r 'main'
# その後、mainを最新に更新
jj bookmark set main -r 'main@origin'
# 後で必要に応じて統合
# jj rebase -d main -s 'main-local-work'
# jj bookmark set main -r 'main-local-work'
# jj bookmark delete main-local-work
対処法2: プッシュしてから同期
# 未プッシュのコミットをプッシュ
jj git push --bookmark main
# リモートを再取得
jj git fetch
# mainを更新(この時点で安全)
jj bookmark set main -r 'main@origin'
対処法3: 不要なコミットの場合
# 未プッシュのコミットが不要な場合のみ実行
jj bookmark set main -r 'main@origin'
# 孤立したコミットは後から `jj log -r 'all()'` で確認可能
# リモートが進んでいる場合、mainを更新
jj bookmark set main -r 'main@origin'
# 確認
jj log -r 'main' -r 'main@origin'
方法A: 既存ワーキングコピーをリベース(推奨・未コミット変更がある場合)
# 現在のワーキングコピーを最新mainの上に移動
jj rebase -d main
方法B: 新規ワーキングコピー作成(未コミット変更がない場合のみ)
# 未コミット変更がないことを確認済みの場合のみ
jj new main
⚠️ 警告: 未コミット変更を無視してjj new mainすると、変更が見えなくなる
対処法1: すべてコミット(推奨)
# すべての変更をコミット
jj commit -m "作業内容の説明"
対処法2: 一時ブックマークで保護
# 現在の状態を一時ブックマークで保護
jj bookmark create temp/work-in-progress -r '@'
# その後、Step 2から継続
対処法3: 不要な変更の場合
# 確実に不要な場合のみ破棄
jj restore <file>
PRマージ後の同期タスク時:
jj statusを最初に実行して未コミット変更を確認jj new mainを実行しないjj rebase -d mainを提案禁止事項:
jj new mainを実行推奨パターン:
# PRマージ後は常にこのパターン
jj status # 確認
jj git fetch
jj bookmark set main -r 'main@origin'
jj rebase -d main # newではなくrebase
原則:
jj git fetch を実行悪い例:
# ❌ Bad: mainで直接作業
jj edit main
# コミット...
良い例:
# ✅ Good: mainから派生した別のブックマークで作業
jj new main
# 作業...
jj commit -m "実装完了"
jj bookmark create feature/my-work -r '@-'
# 必ずmainから新しい作業を開始
jj new main
# または既存ブックマークから
jj new feature/existing
ブランチ命名規則:
feature/機能名 - 新機能fix/バグ名 - バグ修正refactor/対象 - リファクタリングdocs/対象 - ドキュメント更新チーム開発(PR作成予定):
# 開発作業
jj commit -m "機能説明"
# 必ずこのパターンでブックマーク作成
jj bookmark create feature-name -r '@-'
個人開発(実験中):
jj commit -m "実験的変更"
# ブックマーク不要、Change IDで管理
必須: 以下のチェックを順番に実行
重要: PR作成前に必ず未コミットの変更を確認し、意図的に管理する
# 未コミット変更の確認(最優先)
jj status
# 出力例1: 未コミット変更なし(安全)
# Working copy changes:
# (empty)
# 出力例2: 未コミット変更あり(要確認)
# Working copy changes:
# M file1.md
# A file2.java
未コミット変更がある場合の対処:
⚠️ 警告: 未コミット変更がある状態で一部だけコミット・PR作成すると、
後でjj new mainした時に残りの変更が見えなくなるリスクがある
対処法1: すべてコミットしてPRに含める(推奨)
# すべての変更を1つのコミットに
jj commit -m "完全な変更セット"
jj bookmark create feature/xxx -r '@-'
対処法2: 段階的にコミット(一部だけPR)
# ステップ1: 一時ブックマークで全変更を保護
jj bookmark create temp/all-changes -r '@'
# ステップ2: 新しいワーキングコピーで一部だけコミット
jj new '@-'
jj restore --from temp/all-changes file1 file2
jj commit -m "一部の変更"
jj bookmark create feature/part1 -r '@-'
# ステップ3: 残りは後でコミット
jj edit temp/all-changes
# 後で必ずコミット!
対処法3: 不要な変更の場合
# 確実に不要な場合のみ破棄
jj restore <file>
⚠️ 重要: コマンド実行前に必ず正しいプロジェクトディレクトリに移動してください。
# プロジェクトディレクトリに移動
cd /Users/username/Work/git/project-name
# 現在のディレクトリを確認
pwd
⚠️ 重要: AIエージェントはgh auth statusを実行しません。ユーザーが手動で実行してください。
理由: Cursorのサンドボックス環境ではgh auth statusが失敗する場合があります。
ユーザーに依頼するコマンド:
# 認証状態を確認
gh auth status
# 認証が失敗している場合はログイン
# 通常のターミナル(Terminal.app、iTerm2等)で実行推奨
gh auth login
gh auth setup-git # 必須
重要: gh auth login だけでは不十分です。必ず gh auth setup-git を実行してください。
これによりGitのHTTPS認証がGitHub CLIの認証情報を使用するようになります。
# 現在のブックマーク一覧を確認
jj bookmark list
# ブックマークがなければ作成(必ず -r '@-' を使用)
jj bookmark create feature-name -r '@-'
# リモートの最新状態を取得
jj git fetch
# 履歴を確認
jj log
AIエージェントは実行しません。以下のコマンドをユーザーに提示するのみ:
# 新規ブックマークは --allow-new が必須
jj git push --bookmark feature-name --allow-new
AIエージェントは実行しません。以下のコマンドをユーザーに提示するのみ:
# --head と --base を明示的に指定(必須)
gh pr create --head feature-name --base main \
--title "タイトル" \
--body "説明"
Jujutsu特有の問題: gh pr create をオプションなしで実行すると
could not determine the current branch エラーが発生します。
Jujutsuは .git/HEAD を更新しないため、必ず --head --base を指定してください。
--bodyオプションの推奨形式推奨: シンプルな形式
マルチラインのPR説明文でも、直接文字列で渡すことを推奨します:
gh pr create --head feature-name --base main \
--title "タイトル" \
--body "## Summary
変更の概要
## Test plan
- [x] テスト完了
🤖 Generated with [Claude Code](https://claude.com/claude-code)"
非推奨: ヒアドキュメント使用
cat <<'EOF'の使用は以下の理由で非推奨です:
EOFは行の先頭に配置が必要EOFは認識されない❌ 失敗するパターン:
# EOF がインデントされているため失敗
gh pr create --body "$(cat <<'EOF'
内容
EOF
)"
✅ 正しいパターン(使用する場合):
# EOF を行の先頭に配置
gh pr create --body "$(cat <<'EOF'
内容
EOF
)"
AIエージェントは実行しません。以下のコマンドをユーザーに提示するのみ:
# PR番号を確認
gh pr view <pr-number>
# CI状態を監視
gh pr checks <pr-number>
# CIが完了するまで定期的にチェック
PR作成タスク時:
jj statusを最初に実行して未コミット変更を確認禁止事項(NG例):
# 未コミット変更を無視してPR作成 ❌
jj bookmark create feature/xxx -r '@-'
推奨パターン(OK例):
# 未コミット変更を確認してユーザーに報告 ✅
jj status
# → "未コミットの変更が13個のファイルにあります。これらをどうしますか?"
状況: PRレビューで指摘を受けて修正を適用した後
AIエージェントは必ずユーザーに確認(自動判断禁止):
⚠️ レビュー修正が完了しました。コミット方法を選択してください:
A) 既存のコミットに統合(squash)
メリット: PRの履歴がクリーン(1コミット)
デメリット: force pushが必要
実行コマンド:
jj squash -m "fix: レビュー指摘事項を修正"
jj git push --bookmark BOOKMARK_NAME
B) 新規コミットとして追加(推奨)
メリット: force push不要、レビュー履歴が残る
デメリット: PRが複数コミットになる
実行コマンド:
jj commit -m "fix: レビュー指摘事項を修正"
jj git push --bookmark BOOKMARK_NAME
どちらを選択しますか?(デフォルト: B)
❌ ユーザー確認なしでjj squashを実行すること
❌ ユーザー確認なしでforce pushが必要な操作を実行すること
❌ 自動的にコミット方法を判断すること
一般的なプロジェクト: オプションB(新規コミット)
クリーンな履歴を重視: オプションA(squash)
プロジェクトやチームで明確な規約がある場合は、その規約に従ってください:
オプションA: squashの場合
# 1. 修正を既存のコミットに統合
jj squash -m "fix: レビュー指摘事項を修正
- Markdown Lint修正
- セキュリティ注意追加
- テストコード改善"
# 2. force pushでPR更新
jj git push --bookmark feature/xxx
オプションB: 新規コミットの場合
# 1. 修正を新規コミットとして作成
jj commit -m "fix: レビュー指摘事項を修正
- Markdown Lint修正
- セキュリティ注意追加
- テストコード改善"
# 2. 通常のpushでPR更新
jj git push --bookmark feature/xxx
Q: squashとcommitの違いは?
A:
jj commit: 新しいコミットを作成(親コミットの上に積む)jj squash: 現在の変更を親コミットに統合(履歴を書き換える)Q: force pushはなぜ必要?
A: jj squashは既存のコミットを書き換えるため、リモートの履歴と異なる履歴になります。そのため、--force相当のpushが必要です。
Q: どちらが良いの?
A: プロジェクトによります:
重要: PRレビューコメントの確認は gh コマンドを優先使用してください。
理由:
推奨コマンド:
# PRの全体的なレビュー状態を確認
gh pr view <pr-number>
# レビューコメントの詳細を確認(全文取得)
gh pr view <pr-number> --comments
# 特定のレビューのコメントを表示
gh pr review <pr-number>
# JSONフォーマットで詳細を取得(プログラム処理用)
gh pr view <pr-number> --json reviews,comments
使用例:
# 最新のPRのレビューコメントを確認
gh pr view 123 --comments
# 出力例:
# ---
# reviewer: alice
# status: CHANGES_REQUESTED
#
# セキュリティ上の懸念があります。
# パスワードのバリデーションが不十分です。
# 以下の点を修正してください:
# 1. 最小文字数を8文字以上に
# 2. 特殊文字を最低1つ含める
# 3. ...(全文が表示される)
AIエージェントの動作ルール:
gh pr view <pr-number> --comments を優先gh コマンドで内容を取得禁止事項:
このセクションでは、JujutsuとGitHub/GitHub CLIを統合する際によく発生する問題と解決策を説明します。
could not read Username for 'https://github.com'エラー全文:
Error: Git process failed: External git program failed:
fatal: could not read Username for 'https://github.com': Device not configured
原因:
gh auth login を実行しただけでは、GitのHTTPS認証には反映されない解決方法:
# 1. GitHub CLIで認証
gh auth login
# 2. Git credential helperを設定(必須)
gh auth setup-git
# 3. 認証状態を確認
gh auth status
# 出力に "✓ Logged in to github.com" が表示されることを確認
# 4. 再度プッシュを試行
jj git push --bookmark feature-name --allow-new
重要: gh auth setup-git は、~/.gitconfig に以下の設定を追加します:
[credential "https://github.com"]
helper =
helper = !/path/to/gh auth git-credential
これにより、GitのHTTPS認証がGitHub CLIの認証トークンを使用するようになります。
問題: AIエージェントがCursor内でgh auth loginを自動実行しようとすると、環境によってはTLS証明書エラーが発生する場合があります。
エラー例:
failed to authenticate via web browser:
Post "https://github.com/login/device/code":
tls: failed to verify certificate: x509: OSStatus -26276
原因:
重要: AIエージェントは認証コマンドを実行しません。認証が必要な場合は、ユーザーがCursor内のターミナルまたは通常のターミナルアプリで手動で実行してください。Cursor内のターミナルでも、ユーザーが手動で実行する場合は問題なく動作する場合がほとんどです。
解決方法:
方法1: Cursor内のターミナルまたは通常のターミナルアプリで実行
# Cursor内のターミナルまたはTerminal.app、iTerm2等で実行
gh auth login
gh auth setup-git
# 完了後、認証状態を確認
gh auth status
注意: Cursor内のターミナルでgh auth loginが失敗する場合は、通常のターミナルアプリ(Terminal.app、iTerm2等)で実行してください。
方法2: Personal Access Tokenを使用
# 1. GitHubでトークンを生成
# https://github.com/settings/tokens
# スコープ: repo, workflow, read:org
# 2. 通常のターミナルでトークンで認証
echo "YOUR_TOKEN_HERE" | gh auth login --with-token
gh auth setup-git
方法3: SSHに切り替え
# リモートURLをSSHに変更(SSH鍵設定済みの場合)
git remote set-url origin git@github.com:username/repo.git
# プッシュ時にパスワード不要
jj git push --bookmark feature-name --allow-new
HTTPS(デフォルト):
gh auth setup-git が必要SSH(代替案):
could not determine the current branchエラー全文:
could not determine the current branch: could not determine current branch:
failed to run git: not on any branch
原因:
gh pr create) は .git/HEAD を読んで現在のブランチを判断.git/HEAD を特定のブランチに向けない@) は常に "detached HEAD" 状態に相当解決方法:
# ❌ これはエラーになる
gh pr create
# ✅ --head と --base を明示的に指定
gh pr create --head docs/feature-name --base main \
--title "タイトル" \
--body "説明"
背景知識:
この思想の違いにより、GitHub CLIのような「Gitを前提とした」ツールとの統合時には注意が必要です。
Refusing to create new remote bookmarkエラー全文:
Error: Refusing to create new remote bookmark docs/feature-name@origin
Hint: Use --allow-new to push new bookmark.
Use --remote to specify the remote to push to.
原因:
解決方法:
# 新規ブックマークには --allow-new を付ける
jj git push --bookmark feature-name --allow-new
# 既存のブックマークを更新する場合は --allow-new 不要
jj git push --bookmark feature-name
# 1. PR詳細を確認
gh pr view <pr-number>
# 2. CI/CDの状態を確認
gh pr checks <pr-number>
# 出力例:
# CodeRabbit pending 0 Review in progress
# Tests success ✓ All tests passed
# 10秒おきにCI状態を確認(シェルループ)
while true; do
gh pr checks <pr-number>
sleep 10
done
| エラーメッセージ | 原因 | 解決方法 |
|---|---|---|
could not read Username for 'https://github.com' | Git credential helper未設定 | gh auth setup-git 実行 |
could not determine the current branch | JujutsuはHEADを更新しない | gh pr create --head X --base Y |
Refusing to create new remote bookmark | 新規ブックマークの安全機構 | --allow-new フラグ追加 |
Commit XXX is immutable | リモートコミットの変更試行 | jj new <target> で新規作成 |
Warning: Target revision is empty | 空コミットにブックマーク作成 | jj commit 後に jj bookmark create -r '@-' |
There are unresolved conflicts | コンフリクト未解決 | jj resolve または手動編集 |
PR作成時にエラー発生
↓
認証エラー?
YES → gh auth setup-git → 再試行
NO → ↓
↓
ブランチ判定エラー?
YES → --head --base を追加 → 再試行
NO → ↓
↓
プッシュエラー?
YES → --allow-new を追加 → 再試行
NO → ↓
↓
その他のエラー → jj op log を確認 → jj op undo で戻る
# 2つのブランチをマージ
jj new branch-a branch-b
# コンフリクトが発生したら
jj resolve # 対話的解決
# または手動編集
vim <conflicted-file>
jj commit -m "merge: branch-aとbranch-bを統合"
jj bookmark create merged-feature -r '@-'
# 特定のコミットを別の親にリベース
jj rebase -d target-branch
# コンフリクト発生時
jj resolve # または手動編集
対話的解決(推奨):
jj resolve
# インタラクティブなツールが起動
# 各コンフリクトを選択して解決
手動解決:
# コンフリクトファイルを編集
vim README.md
# 解決後は通常通りコミット
jj commit -m "conflict resolved"
既存のjj設定エイリアスを優先使用:
| エイリアス | 実コマンド | 用途 |
|---|---|---|
bcp | bookmark create -r @- | 最重要: コミット後にブックマーク作成 |
nb | new main | mainから新規作業開始 |
rs | resolve | コンフリクト解決 |
n | new | 新規コミット作成 |
c | commit | コミット |
l | log | ログ表示 |
ll | log --limit 10 | 直近10件 |
st | status | ステータス確認 |
co | edit | 別コミットに移動 |
例:
jj nb # mainから開始
# ... 開発 ...
jj c -m "実装完了"
jj bcp my-feature # ブックマーク作成
❌ jj edit root()
jj new 'root()'❌ jj merge
jj new parent1 parent2❌ jj branch
jj bookmark❌ 空コミットにブックマークを付ける
# 悪い例
jj new main
jj bookmark create my-feature # Warning: Target revision is empty.
✅ 正しい方法
jj new main
# ... 開発 ...
jj commit -m "実装"
jj bookmark create my-feature -r '@-'
❌ リモートブックマークを直接編集
# 悪い例
jj edit main # Error: Commit XXX is immutable (main@origin が存在)
✅ 正しい方法
jj new main # mainから新しいコミットを作成
Error: Commit XXX is immutable
jj new <target> で新規コミット作成Warning: Target revision is empty
jj commit してから jj bookmark create -r '@-'Error: There are unresolved conflicts
jj resolve または手動編集後 jj commitError: could not read Username for 'https://github.com'
# ⚠️ AIエージェントは実行しません。ユーザーが手動で実行してください。
# Cursor内のターミナルまたは通常のターミナルアプリで実行
gh auth login
gh auth setup-git # 必須
Error: could not determine the current branch
.git/HEAD を更新しないgh pr create に --head と --base を明示的に指定
gh pr create --head feature-name --base main
Error: Refusing to create new remote bookmark
--allow-new フラグを追加
jj git push --bookmark feature-name --allow-new
操作ミス全般
# 直前の操作を取り消し
jj op undo
# 操作履歴を確認
jj op log
# 特定の操作時点に戻る
jj op restore <operation-id>
# 1. mainから開始
jj new main
# 2. 開発作業
vim src/feature.rs
vim tests/test_feature.rs
# 3. コミット
jj commit -m "feat: ユーザー認証機能を実装"
# 4. ブックマーク作成(PR用)
jj bookmark create feature/user-auth -r '@-'
# 5. プッシュとPR作成(ユーザーが実行)
# jj git push --bookmark feature/user-auth --allow-new
# gh pr create --head feature/user-auth --base main \
# --title "ユーザー認証機能" --body "詳細説明"
jj new main
vim src/login.rs
jj commit -m "fix: ログイン時のnullポインタエラーを修正"
jj bookmark create fix/login-bug -r '@-'
# ユーザーが実行: jj git push --bookmark fix/login-bug --allow-new
# ユーザーが実行: gh pr create --head fix/login-bug --base main
# 1. 実験開始
jj new main
# 2-4. 何度も試行錯誤
vim src/experimental.rs
jj commit -m "試行1"
vim src/experimental.rs
jj commit -m "試行2"
vim src/experimental.rs
jj commit -m "試行3 - うまくいった!"
# 5. 成功したらブックマーク付与
jj bookmark create experiment-success -r '@-'
# または失敗したら破棄
jj abandon @
# 1. 2つのブランチを確認
jj log
# 2. マージコミット作成
jj new feature-a feature-b
# 3. コンフリクト確認
jj status
# Warning: There are unresolved conflicts at these paths:
# README.md 2-sided conflict
# 4. 対話的解決
jj resolve
# 5. コミット
jj commit -m "merge: feature-aとfeature-bを統合"
# 6. ブックマーク作成
jj bookmark create merged-features -r '@-'
# 1. 現在の状態確認
jj log
# 2. feature-branchをmainの最新にリベース
jj rebase -d main -s feature-branch
# 3. コンフリクトがあれば解決
jj resolve
# 4. 結果確認
jj log
Change IDで追跡、名前は後から
失敗を恐れない
jj op undo でいつでも戻れるブックマークは「名札」
コンフリクトは自然なもの
jj resolve で落ち着いて対処個人開発フロー(ブックマーク最小限)を使う場合:
チーム開発フロー(ブックマーク使用)を使う場合:
迷ったら、まずブックマークなしで始めて、必要になったら付けるのがJujutsu流です。
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.