Based on this blogpost.
To sign Git commits, you need a gpg key. GPG stands for GNU Privacy Guard and is the de facto implementation of the OpenPGP message format. PGP stands for ‘Pretty Good Privacy’ and is a standard to sign and encrypt messages.
Install with Homebrew:
$ brew install gpg| description | argument-hint | allowed-tools | model | |
|---|---|---|---|---|
Generate a problem-focused summary of the current implementation work |
|
Read(./**), Write(./.strategic-claude-basic/summary/**), Bash(git:*, date:*, grep:*), Glob |
claude-opus-4-1 |
You are tasked with creating implementation summaries that focus on problems, incomplete work, and outstanding issues from the current work session. You should be problem-focused, session-scoped, and work only with uncommitted changes and current context.
Plan reference (optional): $1
| defmodule RequestHelper do | |
| @moduledoc """ | |
| Reference from https://gist.github.com/avdi/7990684 | |
| Stream download large file from url | |
| """ | |
| require Logger | |
| @doc """ | |
| Get stream data from url | |
| mode could be `:binary` or `:line` |
| defmodule Task do | |
| defp await_one(tasks, timeout \\ 5_000) when is_list(tasks) do | |
| awaiting = | |
| Map.new(tasks, fn %Task{ref: ref, owner: owner} = task -> | |
| if owner != self() do | |
| raise ArgumentError, invalid_owner_error(task) | |
| end | |
| {ref, true} | |
| end) |
| action :analyze_sentiment, :atom do | |
| constraints one_of: [:positive, :negative] | |
| description """ | |
| Analyzes the sentiment of a given piece of text to determine if it is overall positive or negative. | |
| """ | |
| argument :text, :string do | |
| allow_nil? false | |
| description "The text for analysis" |
Testimonies
The thing in CL I miss most doing Clojure as my day job? CL's compiler. I like having a compiler tell me at compile time about the mistakes I've made. Bogus arguments. Unreachable code because of unhandled exceptions, and so on. CL saves me round after round of bugs that in clojure aren't found until you run the code. If you test well, it's found when testing, if you don't it's found in production. "Clojure compiler" almost demands air quotes.
CL's optional but oh-so-useful model of type declarations is also infinitely more useful (to me) than Clojure's use of "spec", and instrumentation that happens only at test time because of the cost. Depending on the OPTIMIZE declarations, other type defs are a floor wax and dessert topping. Want checks for argument types? Lower optimizations. Want most efficient machine code? High optimizations.
/u/Decweb, March 2023 https://www.reddit.com/r/lisp/comments/11ttnxk/the_rise_fall_of_lisp_too_good_for_the_rest_of/jczpysp/