Skip to content

Instantly share code, notes, and snippets.

View CodeOfficer's full-sized avatar

Russell Jones CodeOfficer

View GitHub Profile
@CodeOfficer
CodeOfficer / check-plugin-updates.sh
Created January 10, 2026 14:10 — forked from BrunoMiguelMonteiro/check-plugin-updates.sh
Check for Claude Code plugin updates - compares installed versions with marketplace repositories
#!/bin/bash
# Check for Claude Code plugin updates
# Compares installed plugin versions with latest available in marketplaces
set -euo pipefail
CLAUDE_DIR="$HOME/.claude"
PLUGINS_FILE="$CLAUDE_DIR/plugins/installed_plugins_v2.json"
MARKETPLACES_DIR="$CLAUDE_DIR/plugins/marketplaces"
@CodeOfficer
CodeOfficer / README.md
Created January 10, 2026 14:02 — forked from TheBaconWizard/README.md
claude-work-tree: Quickly spin up isolated Claude Code sessions using git worktrees

claude-work-tree

Quickly spin up isolated Claude Code sessions using git worktrees.

What it does

  • Creates a git worktree for your feature branch
  • Opens Claude Code with --dangerously-skip-permissions in that worktree
  • Tab completion for existing worktrees and branches
@CodeOfficer
CodeOfficer / .claude--skills--hook-development--SKILL.md
Created January 10, 2026 13:29 — forked from alexfazio/.claude--skills--hook-development--SKILL.md
Claude Code Hook Development Skill - Install to .claude/skills/hook-development/

name: Hook Development description: >- This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "implement agent hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", "frontmatter hooks", "scoped hooks", "once: true", or mentions hook events (PreToolUse, PostToolUse, Stop,

@CodeOfficer
CodeOfficer / presentation-tips.md
Created December 15, 2025 05:41 — forked from macintux/presentation-tips.md
Public speaking tips
@CodeOfficer
CodeOfficer / firestore.rules
Created September 1, 2021 16:08 — forked from pfiadDi/firestore.rules
Firestore Advanced Security Rules
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
function isAuthenticated() {
return request.auth != null;
}
function isDefined(field) {
return field in request.resource.data
@CodeOfficer
CodeOfficer / validators.js
Created January 17, 2013 16:02
Validators for ember-data
var get = Ember.get;
DS.Model.reopen({
validate: function() {
if (get(this, 'isDeleted')) {
return;
}
get(this, 'validators').forEach(function(validator) {
validator.fn.call(this, validator.meta.key(this.constructor), get(this, validator.attribute), validator.options);
}, this);
var get = Ember.get;
DS.Model.reopen({
validate: function() {
if (get(this, 'isDeleted')) {
return;
}
get(this, 'validators').forEach(function(validator) {
validator.fn.call(this, validator.meta.key(this.constructor), get(this, validator.attribute), validator.options);
}, this);
@CodeOfficer
CodeOfficer / gist:2205474
Created March 26, 2012 14:28 — forked from jeffkreeftmeijer/gist:1473018
PGError: ERROR: syntax error at or near "IDENTITY" (ActiveRecord::StatementInvalid)
Loading ["spec"]
*****************************************************************
DEPRECATION WARNING: you are using a deprecated constant that will
be removed from a future version of RSpec.
/Users/codeofficer/.rvm/gems/ruby-1.9.3-p125@worldbrain/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `require'
* Rspec is deprecated.
* RSpec is the new top-level module in RSpec-2
*****************************************************************
@CodeOfficer
CodeOfficer / capybara cheat sheet
Created May 25, 2011 22:01 — forked from zhengjia/capybara cheat sheet
capybara cheat sheet
=Navigating=
visit('/projects')
visit(post_comments_path(post))
=Clicking links and buttons=
click_link('id-of-link')
click_link('Link Text')
click_button('Save')
click('Link Text') # Click either a link or a button
click('Button Value')
(function($){
$.each(["live", "die"], function( i, name ) {
var method = $.fn[ name ];
$.fn[ name ] = function( types, data, fn, origSelector ) {
if ( typeof types === "object" && !types.preventDefault ) {
for ( var key in types ) {
method.call( this, key, data, types[key], origSelector );
}