Skip to content

Instantly share code, notes, and snippets.

View weisisheng's full-sized avatar

Vince Fulco--MarginLevers.com weisisheng

View GitHub Profile
@weisisheng
weisisheng / moat-radar-skill-gist.md
Created April 4, 2026 00:54
Moat Radar — competitive defensibility skill for Claude Code

Moat Radar — Competitive Defensibility Skill for Claude Code

A Claude Code skill that runs an on-demand competitive reality check. Type "run moat radar" and it searches the web for what your competitors shipped, scores defensibility across 7 vectors, and tells you where you're strong vs. exposed.

How It Works

  1. You say "run moat radar" (or "how defensible are we", "competitive analysis", etc.)
  2. The skill searches the web for recent competitive signals — product launches, pricing changes, funding rounds, new entrants
  3. It scores each competitor across 7 defensibility vectors (1–5 scale)
  4. It generates two outputs:
@weisisheng
weisisheng / night-shift.txt
Last active March 27, 2026 12:03
claude skill for working overnight when you don't have 24/7 agents, reviews code and does maintenance work.
---
name: night-shift
description: End-of-day review + autonomous overnight improvement plan. Analyzes day/week progress, identifies safe refactors, tech debt removal, and code quality improvements that can be executed while the developer sleeps.
---
Night Shift is the end-of-day handoff ritual. It reviews what shipped today and this week, then identifies and executes safe, high-confidence improvements that make the codebase materially better overnight. The goal: wake up to a codebase that's measurably closer to a 1000x product.
## Arguments
- `/night-shift` — full review + execute improvements
@weisisheng
weisisheng / gist:f39857e7becb25d9b57a4ccb4a8d8a68
Created February 17, 2026 07:36
ROI Scorer for Feature Proposals
---
name: roi-score
description: Evaluate feature ideas with a structured ROI scorecard — estimates effort, revenue impact, extendability, and north star alignment before you build. Helps a solo founder stay on the highest-leverage path.
---
This skill evaluates a proposed feature, enhancement, or piece of work against a structured ROI framework. It produces a scorecard that helps prioritize what to build next by estimating effort, revenue impact, extendability, and alignment with the business north star.
The user provides a feature description — either inline text, a reference to a doc/ticket, or a list of ideas to compare.
## Before Scoring: Research the Codebase
@weisisheng
weisisheng / final-review-gist.md
Created January 30, 2026 00:06 — forked from patyearone/final-review-gist.md
Claude Code /final-review slash command - Comprehensive PR review workflow with parallel agents

Final Review - Comprehensive PR Review & Testing

Step 0: Determine Review Pass

Before starting, check the git history to determine if this is a follow-up review:

git log --oneline -10 | grep -i "Co-Authored-By: Claude"
@weisisheng
weisisheng / claude-code-sheet.md
Created October 19, 2025 02:52 — forked from pffigueiredo/claude-code-sheet.md
Claude Code Sheet Sheet

Claude Code

Plan Mode

  • Shift + tab + tab
  • Use “opus” for planning and Sonnet for everything else, /model

Multi Agent Parallel Tasks

@weisisheng
weisisheng / gist:227c97c4ed88a399873926112a2de55d
Created May 5, 2025 08:58 — forked from kleneway/gist:07432638aeaf6210316ebbc32dfbe643
Cursor Agent prompt for executing a checklist item
@cursor-tasks.md Go through each story and task in the cursor-tasks.md file. Find the next story to work on. Review each unfinished task, correct any issues or ask for clarifications (only if absolutely needed!). Then proceed to create or edit files to complete each task. After you complete all the tasks in the story, update the file to check off any completed tasks. Run builds and commits after each story. Run all safe commands without asking for approval. Continue with each task until you have finished the story, then stop and wait for me to review.
@weisisheng
weisisheng / try-catch.ts
Created March 31, 2025 11:11 — forked from t3dotgg/try-catch.ts
Theo's preferred way of handling try/catch in TypeScript
// Types for the result object with discriminated union
type Success<T> = {
data: T;
error: null;
};
type Failure<E> = {
data: null;
error: E;
};
@weisisheng
weisisheng / query_read_bsky_feed.duckdb.sql
Created November 11, 2024 13:27 — forked from sspaeti/query_read_bsky_feed.duckdb.sql
Reading bsky posts with DuckDB example.
-- Query the API directly and flatten the nested JSON structure
WITH raw_data AS (
SELECT * FROM read_json_auto('https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor=did:plc:edglm4muiyzty2snc55ysuqx&limit=10')
),
unnested_feed AS (
SELECT unnest(feed) as post_data FROM raw_data
)
SELECT
-- Post basics
post_data.post.uri as post_uri,
@weisisheng
weisisheng / gist:1063091936d01f0e218e787f6d23087c
Created September 19, 2024 14:14 — forked from jeroos/gist:c4336e8e177ab634a91968431d8af4cd
Streamlining AWS Lambda with DuckDB for Dynamic Data Handling
import json
import os
import duckdb
import boto3
import datetime
from typing import Any, Dict
def construct_prepared_sql_and_params(sql_template, bind_params):
single_value_params = {k: v for k, v in bind_params.items() if not isinstance(v, list)}
const AWS = require("aws-sdk");
const csv = require("csv-parser");
const { Readable } = require("stream");
const simpleParser = require("mailparser").simpleParser;
const s3 = new AWS.S3();
const documentClient = new AWS.DynamoDB.DocumentClient();
const TableName = process.env.TABLE;