Sandestin Effect Explorer

VerifiedSafe

Explore available effects, actions, and placeholders in a Sandestin project. Use functions like describe, grep, and sample to discover dispatchable items and generate example invocations.

Sby Skills Guide Bot
DevelopmentIntermediate
906/2/2026
Claude Code
#clojure#effects#discoverability#repl

Recommended for

Our review

Discover and understand available effects, actions, and placeholders in a Sandestin project via the dispatch function.

Strengths

  • Quickly lists all system capabilities
  • Supports keyword and regex search
  • Generates sample invocations for effects
  • Shows required system dependencies

Limitations

  • Requires an already created dispatch
  • Only works with Clojure projects using Sandestin
  • Results depend on schema quality
When to use it

When you need to explore or document effects, actions, or placeholders in a Sandestin project.

When not to use it

When you are not using Sandestin or need functionality outside its scope.

Security analysis

Safe
Quality score90/100

The skill is purely informational, documenting how to use a Clojure library for exploring effects. It contains no dangerous commands or instructions, and declares no tools.

No concerns found

Examples

List all effects
List all available effects in my Sandestin project using the dispatch function.
Search for user-related actions
Find all actions related to 'user' in the Sandestin dispatch.
Get sample invocation
Show me an example invocation for the effect :myapp.user/create in my Sandestin project.

name: fx-explore description: Discover available effects, actions, and placeholders in a Sandestin project. Use when asking what effects exist, searching for functionality, or needing example invocations. Keywords: effects, actions, dispatch, describe, grep, sample.

Sandestin Effect Explorer

Discover and understand available effects, actions, and placeholders.

Important: All discoverability functions operate on the dispatch function, not registries. You must first create a dispatch via (s/create-dispatch [registries...]) before using these functions.

About Sandestin

Sandestin is a Clojure effect dispatch library with schema-driven discoverability. Effects are dispatched as vectors like [:myapp/save-user {:name "Alice"}].

GitHub: https://github.com/brianium/sandestin

Check if Installed

Look for the dependency in deps.edn:

io.github.brianium/sandestin {:git/tag "v0.3.0" :git/sha "2be6acc"}

Install if Missing

Add to deps.edn under :deps:

{:deps
 {io.github.brianium/sandestin {:git/tag "v0.3.0" :git/sha "2be6acc"}}}

Workflow

1. Find the Dispatch

Search for create-dispatch to locate the project's dispatch namespace.

2. Explore via REPL

(require '[ascolais.sandestin :as s])
(require '[<dispatch-ns> :refer [dispatch]])

;; List everything
(s/describe dispatch)

;; Filter by type
(s/describe dispatch :effects)
(s/describe dispatch :actions)
(s/describe dispatch :placeholders)

;; Search by keyword
(s/grep dispatch "user")
(s/grep dispatch #"save|create")

;; Get details on specific item
(s/describe dispatch :some.ns/effect-name)

;; Generate sample invocation
(s/sample dispatch :some.ns/effect-name)

;; See system requirements
(s/system-schema dispatch)

Output Format

Summarize findings:

### Effects

**:myapp.db/query** - Execute a SQL query
  Requires: [:datasource]
  Example: [:myapp.db/query "SELECT * FROM users" 42]

### Actions

**:myapp.user/create** - Create user and send welcome email
  Expands to: db insert + email send

Key Functions

| Function | Purpose | |----------|---------| | (s/describe dispatch) | List all items | | (s/describe dispatch :key) | Details for specific item | | (s/grep dispatch "pattern") | Search by string/regex | | (s/sample dispatch :key) | Generate sample data | | (s/system-schema dispatch) | System requirements |

Related skills