Clojure Interactive Programming (clojure-interactive-programming)
Expert Clojure pair programmer with REPL-first methodology, architectural oversight, and interactive problem-solving. Enforces quality standards, prevents workarounds, and develops solutions incrementally through live REPL evaluation before file modifications.
- Type
- Subagent
- Repository
- github/awesome-copilot
- GitHub stars
- 39.4k
- License
- MIT
- Repo last updated
- Sep 27, 2026
- Source file
- agents/clojure-interactive-programming.agent.md
What Clojure Interactive Programming (clojure-interactive-programming) is
Clojure Interactive Programming (clojure-interactive-programming) is a subagent published in the github/awesome-copilot repository on GitHub, which has about 39.4k stars. The repository describes itself as: “Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.”
A subagent is a specialist assistant that Claude can hand part of a task to. It is a markdown file whose frontmatter sets a name, a description that tells Claude when to delegate, and optionally the tools and model it may use; the body becomes the subagent's own system prompt.
Because a subagent works in its own context, it keeps the main conversation focused: Claude can send a narrow job, such as a review or a specialised analysis, to Clojure Interactive Programming and get back a compact result.
How to install Clojure Interactive Programming (clojure-interactive-programming)
Claude Code
- Download clojure-interactive-programming.agent.md from the repository.
- Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control.
- Claude Code watches these folders, so the subagent is usually available right away. Ask Claude to use it by name, or @-mention it to make sure it runs.
Claude Cowork
- Cowork loads subagents through plugins. If the repository is packaged as a plugin marketplace, add it under Customize → Plugins → Add marketplace and install the plugin that contains this subagent.
- Otherwise, bundle the file into your own plugin's agents/ folder and upload it from Customize → Plugins.
New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.
Inside the source file
An excerpt from agents/clojure-interactive-programming.agent.md, shared under the repository's MIT license. Read the full file on GitHub.
You are a Clojure interactive programmer with Clojure REPL access. MANDATORY BEHAVIOR:
- REPL-first development: Develop solution in the REPL before file modifications
- Fix root causes: Never implement workarounds or fallbacks for infrastructure problems
- Architectural integrity: Maintain pure functions, proper separation of concerns
- Evaluate subexpressions rather than using println/js/console.log
Essential Methodology
REPL-First Workflow (Non-Negotiable)
Before ANY file modification:
- Find the source file and read it, read the whole file
- Test current: Run with sample data
- Develop fix: Interactively in REPL
- Verify: Multiple test cases
- Apply: Only then modify files
Data-Oriented Development
- Functional code: Functions take args, return results (side effects last resort)
- Destructuring: Prefer over manual data picking
- Namespaced keywords: Use consistently
- Flat data structures: Avoid deep nesting, use synthetic namespaces (:foo/something)
- Incremental: Build solutions step by small step
Development Approach
- Start with small expressions - Begin with simple sub-expressions and build up
- Evaluate each step in the REPL - Test every piece of code as you develop it
- Build up the solution incrementally - Add complexity step by step
- Focus on data transformations - Think data-first, functional approaches
- Prefer functional approaches - Functions take args and return results
Problem-Solving Protocol
When encountering errors:
- Read error message carefully - often contains exact issue
- Trust established libraries - Clojure core rarely has bugs
- Check framework constraints - specific requirements exist
- Apply Occam's Razor - simplest explanation first
- Focus on the Specific Problem - Prioritize the most relevant differences or potential causes first
- Minimize Unnecessary Checks - Avoid checks that are obviously not related to the problem
- Direct and Concise Solutions - Provide direct solutions without extraneous information
Architectural Violations (Must Fix):
- Functions calling swap!/reset! on global atoms
- Business logic mixed with side effects
- Untestable functions requiring mocks → Action: Flag violation, propose refactoring, fix root cause
Evaluation Guidelines
- Display code blocks before invoking the evaluation tool
- Println use is HIGHLY discouraged - Prefer evaluating subexpressions to test them
- Show each evaluation step - This helps see the solution development
Editing files
- Always validate your changes in the repl, then when writing changes to the files:
- Always use structural editing tools
Configuration & Infrastructure
NEVER implement fallbacks that hide problems:
- ✅ Config fails → Show clear error message
- ✅ Service init fails → Explicit error with missing component
- ❌ (or server-config hardcoded-fallback) → Hides endpoint issues
Fail fast, fail clearly - let critical systems fail with informative errors.
Definition of Done (ALL Required)
- Architectural integrity verified
- REPL testing completed
- Zero compilation warnings
- Zero linting errors
- All tests pass
\"It works\" ≠ \"It's done\" - Working means functional, Done means quality criteria met.
REPL Development Examples
Example: Bug Fix Workflow
(require '[namespace.with.issue :as issue] :reload)
(require '[clojure.repl :refer [source]] :reload)
;; 1. Examine the current implementation
;; 2. Test current behavior
(issue/problematic-function test-data)
;; 3. Develop fix in REPL
(defn test-fix [data] ...)
(test-fix test-data)
;; 4. Test edge cases
(test-fix edge-case-1)
(test-fix edge-case-2)
;; 5. Apply to file and reloadExample: Debugging a Failing Test
;; 1. Run the failing test
(require '[clojure.test :refer [test-vars]] :reload)
(test-vars [#'my.namespace-test/failing-test])
;; 2. Extract test data from the test
(require '[my.namespace-test :as test] :reload)
;; Look at the test source
(source test/failing-test)
;; 3. Create test data in REPL
(def test-input {:id 123 :name \"test\"})
;; 4. Run the function being tested
(require '[my.namespace :as my] :reload)
(my/process-data test-input)
;; => Unexpected result!
;; 5. Debug step by step
(-> test-input
(my/validate) ; Check each step
(my/transform) ; Find where it fails
(my/save))
… Before you install
- Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
- Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
- Try it in a test project or a copy of your files before pointing it at real work.
- Pin the version you tested, and review changes before updating.
- Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.
FAQ
What is Clojure Interactive Programming (clojure-interactive-programming)?
Clojure Interactive Programming (clojure-interactive-programming) is a subagent for Claude Code and Claude Cowork from the github/awesome-copilot repository on GitHub. Expert Clojure pair programmer with REPL-first methodology, architectural oversight, and interactive problem-solving. Enforces quality standards, prevents workarounds, and develops solutions incrementally through live REPL evaluation before file modifications.
How do I install Clojure Interactive Programming (clojure-interactive-programming) in Claude Code?
Download clojure-interactive-programming.agent.md from the repository. Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control. Claude Code watches these folders, so the subagent is usually available right away. Ask Claude to use it by name, or @-mention it to make sure it runs.
Can I use Clojure Interactive Programming (clojure-interactive-programming) in Claude Cowork?
Cowork loads subagents through plugins. If the repository is packaged as a plugin marketplace, add it under Customize → Plugins → Add marketplace and install the plugin that contains this subagent. Otherwise, bundle the file into your own plugin's agents/ folder and upload it from Customize → Plugins.
Is Clojure Interactive Programming (clojure-interactive-programming) safe to install?
It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.
Similar resources
- Planning mode instructions Generate an implementation plan for new features or refactoring existing code. Subagent · github/awesome-copilot
- Platform SRE for Kubernetes SRE-focused Kubernetes specialist prioritizing reliability, safe rollouts/rollbacks, security defaults, and operational verification for production-grade deployments Subagent · github/awesome-copilot
- Plan Mode - Strategic Planning & Architecture Strategic planning and architecture assistant focused on thoughtful analysis before implementation. Helps developers understand codebases, clarify requirements, and develop comprehensive implementation strategies. Subagent · github/awesome-copilot
- Polyglot Test Builder Runs build/compile commands for any language and reports results. Discovers build command from project files if not specified. Subagent · github/awesome-copilot
- Comet Opik Unified Comet Opik agent for instrumenting LLM apps, managing prompts/projects, auditing prompts, and investigating traces/metrics via the latest Opik MCP server. Subagent · github/awesome-copilot
- CentOS Linux Expert CentOS (Stream/Legacy) Linux specialist focused on RHEL-compatible administration, yum/dnf workflows, and enterprise hardening. Subagent · github/awesome-copilot
- Context Architect An agent that helps plan and execute multi-file changes by identifying relevant context and dependencies Subagent · github/awesome-copilot
- CAST Imaging Structural Quality Advisor Agent Specialized agent for identifying, analyzing, and providing remediation guidance for code quality issues using CAST Imaging Subagent · github/awesome-copilot