This project uses Just (command runner) for task orchestration. All development tasks should go through Just recipes.
Automatically prefers Just recipes over raw commands when orchestrating development tasks. Triggers when suggesting commands, checking if `just --list` recipes exist for the requested operation.
/plugin marketplace add grumps/claude-dotfiles/plugin install gdf@gdf-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
This project uses Just (command runner) for task orchestration. All development tasks should go through Just recipes.
Just is a command runner similar to Make but simpler and cross-platform. It uses a justfile to define recipes (tasks).
# This is a comment
# A simple recipe
recipe-name:
command to run
another command
# Recipe with parameters
recipe-with-args param1 param2:
echo {{param1}} {{param2}}
# Recipe with default parameter
recipe-with-default param="default-value":
echo {{param}}
Always run just or just --list first to see available recipes:
just --list
This shows all recipes with their descriptions.
The repo's justfile may import shared recipes:
import? '~/.claude-dotfiles/justfiles/_base.just'
import? '~/.claude-dotfiles/justfiles/golang.just'
Recipes from imported files are available as if defined locally.
just validate - Run all quality checks (lint + test)just lint - Run linters (must be implemented in project)just test - Run tests (must be implemented in project)just info - Display repository information and statusjust check-clean - Verify working directory is cleanProjects define their own lint and test implementations based on their needs.
Examples can be found in ~/.claude-dotfiles/examples/justfiles/ for:
✅ Good:
"Run just test to verify the changes"
"Validate with just validate before committing"
❌ Avoid:
"Run go test ./..." (unless Just recipe doesn't exist)
"Run golangci-lint run" (unless specific reason)
If user needs functionality not in justfile:
Check if it should be added:
"I don't see a deploy recipe. Want me to add one to your justfile?"
Provide both options:
"You can run kubectl apply -f k8s/ directly, or add it as a Just recipe for consistency."
When suggesting adding a recipe:
# Add to your justfile
deploy-staging:
kubectl apply -f k8s/ --context=staging
kubectl rollout status deployment/myapp -n myapp
~/.claude-dotfiles/justfiles/just --list to see all available recipes# This recipe depends on lint and test
validate: lint test
echo "All checks passed"
When user runs just validate, it runs lint and test first.
The pre-commit hook runs just validate:
#!/bin/bash
just validate || exit 1
If validation fails, commit is blocked.
May run just commit-msg to generate message.
Before suggesting raw commands, check if a Just recipe exists.
If user repeatedly runs the same command, suggest adding it as a recipe.
Even if a task is simple, using Just creates consistency and discoverability.
When adding recipes to justfile, include comments:
# Deploy to staging environment with health checks
deploy-staging:
kubectl apply -f k8s/ --context=staging
just --list to see available recipesimport? (with ?) is used for optional importsThis skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
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", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.