~ / rigs / patrickserrano / lacquer

patrickserrano/lacquer

Go CLI + profile templates that standardize how Claude Code works across every project

↗ GitHub ★ 3 MIT updated today project Claude CodeCodex Claude plugin
share on X
ARCHETYPE
Skill Collector
Ten-plus skills loaded on demand. A procedural-knowledge library.
CONTEXT TAX · EVERY TURN
~9.4k tokens
Heavy · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Blocks destructive commands · Pre-tool screening hook · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ claude mcp add xcode -- xcrun mcpbridge
$ npx degit patrickserrano/lacquer/.claude ./rig-lacquer  # inspect, then merge into .claude/

MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.

$ claude mcp add xcode -- xcrun mcpbridge
$ npx degit patrickserrano/lacquer/core/skills/advisor-checkpoint .claude/skills/advisor-checkpoint
$ npx degit patrickserrano/lacquer/core/skills/antigravity-rescue .claude/skills/antigravity-rescue
$ npx degit patrickserrano/lacquer/core/skills/caveman .claude/skills/caveman
$ npx degit patrickserrano/lacquer/core/skills/claude-rescue .claude/skills/claude-rescue
$ npx degit patrickserrano/lacquer/core/skills/claudemd-review .claude/skills/claudemd-review
$ npx degit patrickserrano/lacquer/core/skills/engineering-workflow .claude/skills/engineering-workflow
$ npx degit patrickserrano/lacquer/core/skills/evaluator-optimizer .claude/skills/evaluator-optimizer
$ npx degit patrickserrano/lacquer/core/skills/exploring-an-idea .claude/skills/exploring-an-idea
$ npx degit patrickserrano/lacquer/core/skills/github-ci-fix .claude/skills/github-ci-fix
$ npx degit patrickserrano/lacquer/core/skills/github-issue-fix-flow .claude/skills/github-issue-fix-flow
$ npx degit patrickserrano/lacquer/core/skills/handoff .claude/skills/handoff
$ npx degit patrickserrano/lacquer/core/skills/manager-loop .claude/skills/manager-loop
$ npx degit patrickserrano/lacquer/core/skills/nameplate-attention .claude/skills/nameplate-attention
$ npx degit patrickserrano/lacquer/core/skills/private-repo-search .claude/skills/private-repo-search
$ npx degit patrickserrano/lacquer/core/skills/project-documentation .claude/skills/project-documentation
$ npx degit patrickserrano/lacquer/core/skills/security-review .claude/skills/security-review
$ npx degit patrickserrano/lacquer/core/skills/skill-authoring-standard .claude/skills/skill-authoring-standard
$ npx degit patrickserrano/lacquer/core/skills/skill-tuning-loop .claude/skills/skill-tuning-loop
$ npx degit patrickserrano/lacquer/core/skills/working-with-lacquer .claude/skills/working-with-lacquer
$ npx degit <redacted> .claude/skills/copywriting
$ npx degit patrickserrano/lacquer/evals/rules/skills/ios-build-verification .claude/skills/ios-build-verification
$ npx degit patrickserrano/lacquer/evals/rules/skills/ios-ci-configuration .claude/skills/ios-ci-configuration
$ npx degit patrickserrano/lacquer/evals/rules/skills/ios-project-development .claude/skills/ios-project-development
$ npx degit patrickserrano/lacquer/evals/rules/skills/ios-release-guide .claude/skills/ios-release-guide
$ npx degit patrickserrano/lacquer/evals/rules/skills/ios-secrets-setup .claude/skills/ios-secrets-setup
$ npx degit patrickserrano/lacquer/evals/rules/skills/ios-ui-verification .claude/skills/ios-ui-verification
$ npx degit <redacted>-council .claude/skills/marketing-council
$ npx degit <redacted>-ideas .claude/skills/marketing-ideas
$ npx degit <redacted>-marketing .claude/skills/product-marketing
$ npx degit <redacted>-development-guide .claude/skills/supabase-development-guide
$ npx degit patrickserrano/lacquer/evals/rules/skills/web-development-guide .claude/skills/web-development-guide
$ npx degit patrickserrano/lacquer/profiles/ios/skills/app-store-screenshots .claude/skills/app-store-screenshots
$ npx degit patrickserrano/lacquer/profiles/ios/skills/core-data-expert .claude/skills/core-data-expert
$ npx degit patrickserrano/lacquer/profiles/ios/skills/helm-asc .claude/skills/helm-asc
$ npx degit patrickserrano/lacquer/profiles/ios/skills/ios-debugger-agent .claude/skills/ios-debugger-agent
$ npx degit patrickserrano/lacquer/profiles/ios/skills/ios-performance-battery-patterns .claude/skills/ios-performance-battery-patterns
$ npx degit <redacted>-ci-recipes .claude/skills/macos-ci-recipes
$ npx degit <redacted>-development .claude/skills/macos-development
$ npx degit <redacted>-app-profiling .claude/skills/native-app-profiling
$ npx degit <redacted>-app-store-changelog .claude/skills/release-app-store-changelog

Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "bash -c 'FP=$(jq -r \".tool_input.file_path // empty\"); if echo \"$FP\" | grep -qE \"\\.(pbxproj|xcworkspace|xib|storyboard)$|xcodeproj/|xcworkspace/\"; then PROJDIR=$(echo \"$FP\" | sed -E \"s#/[^/]+\\.(xcodeproj|xcworkspace)/.*##\"); if [ -f \"$PROJD"
          },
          {
            "type": "command",
            "command": "bash -c 'FP=$(jq -r \".tool_input.file_path // empty\"); if echo \"$FP\" | grep -qE \"\\.entitlements$\"; then echo \"BLOCKED: Do not modify .entitlements files without explicit user permission.\" >&2; exit 2; fi'"
          }
        ]
      },
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "bash -c 'CMD=$(jq -r \".tool_input.command // empty\"); if echo \"$CMD\" | grep -qE \"\\b(git|gh)\\b.*--(force-with-lease|force|no-verify|admin)\\b\"; then echo \"BLOCKED: --force/--force-with-lease/--no-verify/--admin bypass safety checks (core rule"
          },
          {
            "type": "command",
            "command": "python3 \"$CLAUDE_PROJECT_DIR/.claude/scripts/check-derived-data.py\""
          }
        ]
      }
    ]
  }
}

MCP servers (1)

serversourceest. tokens
xcrun · "xcode" binary 2.5k

Skills (106)

advisor-checkpointantigravity-rescuecavemanclaude-rescueclaudemd-reviewengineering-workflowevaluator-optimizerexploring-an-ideagithub-ci-fixgithub-issue-fix-flowhandoffmanager-loopnameplate-attentionprivate-repo-searchproject-documentationsecurity-reviewskill-authoring-standardskill-tuning-loopworking-with-lacquercopywritingios-build-verificationios-ci-configurationios-project-developmentios-release-guideios-secrets-setupios-ui-verificationmarketing-councilmarketing-ideasproduct-marketingsupabase-development-guideweb-development-guideapp-store-screenshotscore-data-experthelm-ascios-debugger-agentios-performance-battery-patternsmacos-ci-recipesmacos-developmentnative-app-profilingrelease-app-store-changelogrelease-macos-spm-packagingswift-concurrencyswift-testing-expertswift-testing-wait-untilswiftui-expert-skillswiftui-liquid-glassswiftui-performance-auditswiftui-ui-patternsswiftui-view-refactorupdate-swiftui-apisurl-validation-securitywatchos-developmentxcode-build-benchmarkxcode-build-fixerxcode-build-orchestratorxcode-compilation-analyzerxcode-disk-cleanupxcode-project-analyzerxcsymab-testingad-creativeadsai-seoanalyticsasoattributionchurn-preventionco-marketingcold-emailcommunity-marketingcompetitor-profilingcompetitorscontent-strategycopy-editingcrocustomer-researchdirectory-submissionsemailseventsfree-toolsimageinfluencer-marketinglaunchlead-magnetsmarketing-loopsmarketing-planmarketing-psychologyoffersonboardingpaywallspopupspricingprogrammatic-seoprospectingpublic-relationsreferralsrevopssales-enablementschemaseo-auditsignupsite-architecturesmssocialvideosupabase-postgres-best-practices

Hooks (11)

eventmatcherruns
Stop*bash -c 'command -v lacquer >/dev/null 2>&1 || exit 0; lacquer console inbox hook stop || true'
PostToolUseEdit|WriteA shipped subagent definition file was just edited: $ARGUMENTS. This file is distributed via `lacquer sync` into every project's `.claude/agents/`, so a bad edit here propagates fleet-wide on the next sync. You have not seen the editing ses
PostToolUseEdit|WriteA shipped subagent definition file was just edited: $ARGUMENTS. This file is distributed via `lacquer sync` into every project's `.claude/agents/`, so a bad edit here propagates fleet-wide on the next sync. You have not seen the editing ses
SessionStart*osascript -l JavaScript .claude/scripts/allow_mcp.js
PreToolUseEdit|Writebash -c 'FP=$(jq -r ".tool_input.file_path // empty"); if echo "$FP" | grep -qE "\.(pbxproj|xcworkspace|xib|storyboard)$|xcodeproj/|xcworkspace/"; then PROJDIR=$(echo "$FP" | sed -E "s#/[^/]+\.(xcodeproj|xcworkspace)/.*##"); if [ -f "$PROJD
PreToolUseEdit|Writebash -c 'FP=$(jq -r ".tool_input.file_path // empty"); if echo "$FP" | grep -qE "\.entitlements$"; then echo "BLOCKED: Do not modify .entitlements files without explicit user permission." >&2; exit 2; fi'
PreToolUseBashbash -c 'CMD=$(jq -r ".tool_input.command // empty"); if echo "$CMD" | grep -qE "\b(git|gh)\b.*--(force-with-lease|force|no-verify|admin)\b"; then echo "BLOCKED: --force/--force-with-lease/--no-verify/--admin bypass safety checks (core rule
PreToolUseBashpython3 "$CLAUDE_PROJECT_DIR/.claude/scripts/check-derived-data.py"
Stop*bash -c 'command -v lacquer >/dev/null 2>&1 || exit 0; lacquer console inbox hook stop || true'
PostToolUseEdit|Writebash -c 'FP=$(jq -r ".tool_input.file_path // empty"); if echo "$FP" | grep -qE "\.swift$"; then swiftformat --config "$CLAUDE_PROJECT_DIR/{{COMPONENT_PREFIX}}.swiftformat" "$FP" --quiet; fi'
PostToolUseEdit|Writebash -c 'FP=$(jq -r ".tool_input.file_path // empty"); if echo "$FP" | grep -qE "\.swift$"; then out=$(swiftlint lint --strict --config "$CLAUDE_PROJECT_DIR/{{COMPONENT_PREFIX}}.swiftlint.yml" --quiet "$FP" 2>&1) || { printf "%s\n" "$out" >

Similar rigs

copied ✓