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 you need to explore or document effects, actions, or placeholders in a Sandestin project.
When you are not using Sandestin or need functionality outside its scope.
Security analysis
SafeThe 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 available effects in my Sandestin project using the dispatch function.Find all actions related to 'user' in the Sandestin dispatch.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 |
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.