ワンクリックで
clojure-dsl-worker
Implements Clojure DSL features including macros, registries, pipeline stages, transforms, metrics, and tests
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Implements Clojure DSL features including macros, registries, pipeline stages, transforms, metrics, and tests
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | clojure-dsl-worker |
| description | Implements Clojure DSL features including macros, registries, pipeline stages, transforms, metrics, and tests |
NOTE: Startup and cleanup are handled by worker-base. This skill defines the WORK PROCEDURE.
Use for all Shibboleth features: DSL macro implementation, registry logic, pipeline stages, transform implementations, metrics, CLI, and tests.
Read the spec: Before ANY implementation, read /home/err/devel/specs/drafts/guardrail-promptbench-dsl.md — specifically the sections relevant to your feature. Also read the feature description thoroughly.
Write tests first (RED):
test/promptbench/ matching the source namespace.clj -M:test to confirm tests fail (RED).Implement to make tests pass (GREEN):
src/promptbench/ following the namespace structure.clj -M:test to confirm all tests pass (GREEN).Verify beyond tests:
clj -M:test to confirm full test suite passes (not just new tests).Check for spec compliance:
For features using libpython-clj (embedding, clustering, parquet):
promptbench.python.* namespaces.libpython-clj2.python for direct Python calls.libpython-clj2.require with require-python for module imports.sentence-transformers, hdbscan, polars must be importable.For MT transform implementation:
http://127.0.0.1:8789/v1/chat/completionsgpt-5.2Authorization: Bearer $PROXY_AUTH_TOKEN (from env)temperature: 0 and include seed in request for reproducibility.clj-http.client for HTTP calls.{
"salientSummary": "Implemented def-attack-family macro with spec validation, taxonomy registry, and query functions (descendants, families-with-tag). Wrote 14 test cases in taxonomy_test.clj covering registration, field storage, validation errors, tag queries, and hierarchy traversal. All 14 tests pass via `clj -M:test`.",
"whatWasImplemented": "src/promptbench/taxonomy/families.clj (def-attack-family macro with spec validation), src/promptbench/taxonomy/registry.clj (atom-backed registry with query functions: get-family, all-families, descendants, families-with-tag, coverage-matrix, reset!)",
"whatWasLeftUndone": "",
"verification": {
"commandsRun": [
{"command": "clj -M:test", "exitCode": 0, "observation": "Ran 14 tests in 1 namespace, 0 failures, 0 errors"},
{"command": "clj -Stree", "exitCode": 0, "observation": "All deps resolved, no conflicts"}
],
"interactiveChecks": [
{"action": "Verified def-attack-family persona-injection from spec §2.1 loads and all fields round-trip through registry", "observed": "All fields match, tags stored as PersistentHashSet, signatures as vector of maps"},
{"action": "Verified taxonomy/descendants :adversarial traverses 3-level hierarchy", "observed": "Returns #{:persona-injection :dan-variants :character-roleplay :authority-impersonation :developer-mode} — all leaf families"}
]
},
"tests": {
"added": [
{
"file": "test/promptbench/taxonomy_test.clj",
"cases": [
{"name": "def-attack-family-registers", "verifies": "Family appears in registry after definition"},
{"name": "def-attack-family-stores-all-fields", "verifies": "All fields round-trip through registration"},
{"name": "def-attack-family-rejects-missing-description", "verifies": "Spec error on missing :description"},
{"name": "def-attack-family-tags-are-set", "verifies": "Tags stored as set, deduplicated"},
{"name": "descendants-traverses-hierarchy", "verifies": "Multi-level hierarchy returns leaf families"},
{"name": "families-with-tag-filters-correctly", "verifies": "Tag query returns matching families only"}
]
}
]
},
"discoveredIssues": []
}