skills/laurigates/claude-plugins/configure-claude-plugins

configure-claude-plugins

SKILL.md

/configure:claude-plugins

Configure a project to use the laurigates/claude-plugins Claude Code plugin marketplace. Sets up .claude/settings.json permissions and GitHub Actions workflows (claude.yml, claude-code-review.yml) with the marketplace pre-configured.

When to Use This Skill

Use this skill when... Use another approach when...
Onboarding a new project to use Claude Code plugins Configuring Claude Code settings unrelated to plugins
Setting up claude.yml and claude-code-review.yml workflows Creating general GitHub Actions workflows (/configure:workflows)
Adding the laurigates/claude-plugins marketplace to a repo Installing individual plugins manually
Merging plugin permissions into existing .claude/settings.json Debugging Claude Code action failures (check GitHub Actions logs)
Selecting recommended plugins based on project type Developing new plugins (see CLAUDE.md plugin lifecycle)

Context

  • Settings file exists: !find . -maxdepth 1 -name \'.claude/settings.json\'
  • Workflows: !find .github/workflows -maxdepth 1 -name 'claude*.yml'
  • Git remotes: !git remote -v
  • Project type indicators: !find . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' -o -name 'Dockerfile' \)
  • Existing workflows dir: !find . -maxdepth 1 -type d -name \'.github/workflows\'

Parameters

Parse from command arguments:

Parameter Description
--check-only Report current configuration status without changes
--fix Apply configuration automatically
--plugins Comma-separated list of plugins to install (default: all recommended)

Execution

Execute this Claude plugins configuration workflow:

Step 1: Detect current state

  1. Check for existing .claude/settings.json
  2. Check for existing .github/workflows/claude.yml
  3. Check for existing .github/workflows/claude-code-review.yml
  4. Detect project type (language, framework) from file indicators

Step 2: Configure .claude/settings.json

Create or merge into .claude/settings.json the following permissions structure:

{
  "permissions": {
    "allow": [
      "Bash(git status *)",
      "Bash(git diff *)",
      "Bash(git log *)",
      "Bash(git branch *)",
      "Bash(git add *)",
      "Bash(git commit *)",
      "Bash(git push *)",
      "Bash(git remote *)",
      "Bash(git checkout *)",
      "Bash(git fetch *)",
      "Bash(gh pr *)",
      "Bash(gh run *)",
      "Bash(gh issue *)",
      "Bash(pre-commit *)",
      "Bash(gitleaks *)",
      "mcp__context7",
      "mcp__sequential-thinking"
    ]
  }
}

If .claude/settings.json already exists, MERGE the permissions.allow array without duplicating entries. Preserve any existing hooks, env, or other fields.

Step 3: Configure .github/workflows/claude.yml

Create .github/workflows/claude.yml with the Claude Code action configured to use the plugin marketplace:

name: Claude Code

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
  issues:
    types: [opened, assigned]

permissions:
  contents: write
  pull-requests: write
  issues: write
  id-token: write

jobs:
  claude:
    if: |
      (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Run Claude Code
        uses: anthropics/claude-code-action@v1
        with:
          claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
          plugin_marketplaces: |
            https://github.com/laurigates/claude-plugins.git
          plugins: |
            PLUGINS_LIST

Replace PLUGINS_LIST with the selected plugins in the format plugin-name@laurigates-claude-plugins, one per line.

Step 4: Configure .github/workflows/claude-code-review.yml

Create .github/workflows/claude-code-review.yml for automatic PR reviews:

name: Claude Code Review

on:
  pull_request:
    types: [opened, synchronize, reopened]

permissions:
  contents: read
  pull-requests: write
  issues: write

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Claude Code Review
        uses: anthropics/claude-code-action@v1
        with:
          claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
          prompt: |
            Review this pull request. Focus on:
            - Code quality and best practices
            - Potential bugs or security issues
            - Test coverage gaps
            - Documentation needs
          claude_args: "--max-turns 5"
          plugin_marketplaces: |
            https://github.com/laurigates/claude-plugins.git
          plugins: |
            code-quality-plugin@laurigates-claude-plugins
            testing-plugin@laurigates-claude-plugins

Step 5: Select plugins

If --plugins is not specified, select recommended plugins based on detected project type:

Project Indicator Recommended Plugins
package.json git-plugin, typescript-plugin, testing-plugin, code-quality-plugin
pyproject.toml / setup.py git-plugin, python-plugin, testing-plugin, code-quality-plugin
Cargo.toml git-plugin, rust-plugin, testing-plugin, code-quality-plugin
Dockerfile Above + container-plugin
.github/workflows/ Above + github-actions-plugin
Default (any) git-plugin, code-quality-plugin, testing-plugin, tools-plugin

Step 6: Report results

Print a status report:

Claude Plugins Configuration Report
=====================================
Repository: <repo-name>

.claude/settings.json:
  Status:          <CREATED|UPDATED|EXISTS>
  Permissions:     <N> allowed patterns configured

.github/workflows/claude.yml:
  Status:          <CREATED|UPDATED|EXISTS>
  Marketplace:     laurigates/claude-plugins
  Plugins:         <list>

.github/workflows/claude-code-review.yml:
  Status:          <CREATED|UPDATED|EXISTS>
  Trigger:         PR opened/synchronize/reopened
  Plugins:         <list>

Next Steps:
  1. Add CLAUDE_CODE_OAUTH_TOKEN to repository secrets
     Settings > Secrets and variables > Actions > New repository secret
  2. Commit and push the new workflow files
  3. Test by mentioning @claude in a PR comment

Agentic Optimizations

Context Command
Quick status check /configure:claude-plugins --check-only
Auto-configure all /configure:claude-plugins --fix
Specific plugins only /configure:claude-plugins --fix --plugins git-plugin,testing-plugin
Verify settings exist test -f .claude/settings.json && echo "EXISTS"
List Claude workflows find .github/workflows -name 'claude*.yml' 2>/dev/null

Flags

Flag Description
--check-only Report current status without making changes
--fix Apply all configuration automatically
--plugins Override automatic plugin selection

Important Notes

  • The CLAUDE_CODE_OAUTH_TOKEN secret must be added manually to the repository
  • If using AWS Bedrock or Google Vertex AI, adjust the authentication section accordingly
  • The plugin marketplace URL uses HTTPS Git format: https://github.com/laurigates/claude-plugins.git
  • Plugins are referenced as <plugin-name>@laurigates-claude-plugins (marketplace name from marketplace.json)

See Also

  • /configure:workflows - General GitHub Actions workflow configuration
  • /configure:all - Run all compliance checks
  • claude-security-settings skill - Claude Code security settings
Weekly Installs
47
GitHub Stars
13
First Seen
Feb 9, 2026
Installed on
cline47
github-copilot47
codex47
kimi-cli47
gemini-cli47
cursor47