Sponsor Suno AI Music arrow_forward
Subagent

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
GitHub stars
39.4k
License
MIT
Repo last updated
Sep 27, 2026

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

  1. Download clojure-interactive-programming.agent.md from the repository.
  2. Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control.
  3. 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

  1. 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.
  2. 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:

  1. Find the source file and read it, read the whole file
  2. Test current: Run with sample data
  3. Develop fix: Interactively in REPL
  4. Verify: Multiple test cases
  5. 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

  1. Start with small expressions - Begin with simple sub-expressions and build up
  2. Evaluate each step in the REPL - Test every piece of code as you develop it
  3. Build up the solution incrementally - Add complexity step by step
  4. Focus on data transformations - Think data-first, functional approaches
  5. Prefer functional approaches - Functions take args and return results

Problem-Solving Protocol

When encountering errors:

  1. Read error message carefully - often contains exact issue
  2. Trust established libraries - Clojure core rarely has bugs
  3. Check framework constraints - specific requirements exist
  4. Apply Occam's Razor - simplest explanation first
  5. Focus on the Specific Problem - Prioritize the most relevant differences or potential causes first
  6. Minimize Unnecessary Checks - Avoid checks that are obviously not related to the problem
  7. 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 reload

Example: 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

Browse all skills, subagents, and plugins →

Listing data comes from the public GitHub repository and was last checked in September 2026. Excerpts are © their authors and shared under MIT. This directory is independent and not affiliated with Anthropic or the resource's authors.