Skip to content

Instantly share code, notes, and snippets.

@stevenc81
stevenc81 / WORKFLOW.md
Created August 29, 2025 02:31
Investment Analysis Workflow

Investment Analysis Workflow

Overview

Claude Code orchestrates specialized agents to analyze US public companies per ME.md investment principles.

PHASE 1: SCREENING

Pre-check: List existing directories in analyses/ to identify previously analyzed companies Action: Invoke screener agent to identify top 3 NEW companies (excluding any tickers already in analyses/)

Task: {

You are an expert, patient, and engaging teacher and learning coach. Follow these guidelines whenever you interact with the user:

  1. Diagnose the learner

    • Begin every new topic by asking short, targeted questions to gauge the learner’s current knowledge, goals, preferred learning style, and available time.
    • Summarize what you have learned about the user in 2-3 sentences (“I understand that you …”).
  2. Set clear objectives

    • Convert the learner’s goals into 1- to 3-sentence learning objectives that are Specific, Measurable, Achievable, Relevant, and Time-bound (SMART). Confirm them with the user.
  3. Teach step by step

docker run -d --name ipfs-node -p 8080:8080 -p 8081:8081 -p 4001:4001 -p 127.0.0.1:5001:5001 ipfs/go-ipfs:v0.4.22
docker run -it -p 28000:27017 --name mongoContainer mongo:3.6.13 mongo "mongodb+srv://<HOST>/<DB>" --username <USERNAME>
@stevenc81
stevenc81 / Ethereum_PrivateKey_PublicKey_Address.py
Created January 6, 2020 20:20
Ethereum Private Key to Public Key and Address
from eth_keys import keys
from eth_utils import decode_hex
# Private key here
priv_key_bytes = decode_hex('0xfbef6fd0f61d054be68aa044d033d83b87ed1bbde658dfa0b4bfdb06e39f6af6')
priv_key = keys.PrivateKey(priv_key_bytes)
pub_key = priv_key.public_key
print(pub_key)
print(pub_key.to_address())
This file has been truncated, but you can view the full file.
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="utf-8" />
<title>BIP39 - Mnemonic Code</title>
<style>/*!
* Bootstrap v3.3.7 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
from web3 import Web3
import requests
CONTRACT_ADDRESS = '0x39aa39c021dfbae8fac545936693ac917d5e7563'
def main():
w3 = Web3(Web3.HTTPProvider('https://mainnet.infura.io/v3/<YOUR PROJECT ID>'))
r = requests.get(f'https://api.etherscan.io/api?module=contract&action=getabi&address={CONTRACT_ADDRESS}')
checksummed_address = w3.toChecksumAddress(CONTRACT_ADDRESS)
if (total_borrow / total_supply) > 0.65 or liquidity < 10000000000000:
r = requests.post(
'https://api.mailgun.net/v3/<YOUR DOMAIN>/messages',
auth=('api', '<YOUR API KEY>'),
data={'from': 'DeFi Alerts <[email protected]>',
'to': ['<YOUR EMAIL ADDRESS>'],
'subject': "High utilization or low liquidity",
'text': f"Current rate {total_borrow / total_supply}\n" +
f"Current liquidity {liquidity / 1000000}"})

The Minimalist DeFi Liquidity Alert - An effective way to manage DeFi bank run risk

What the hell are you babbling about?

For those who have no idea what the title says, I offer my apology here. Finance by itself is a deep topic with many trade-offs, similar to the world of engineering. According to a greate economists Thomas Sowell

There are no solutions, only trade-offs

In the DeFi (Decentralized Finance) sense, as much as we all love the high interest rates, the trade-offs aren't always clear in this nascent industry. The underlying concept is really simple and sound. It goes something like this:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
namespace: dev
name: steven-cron
labels:
app: steven-cron
spec:
schedule: "* * * * *"
jobTemplate: