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"| --- | |
| 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 |
| @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. |
| // Types for the result object with discriminated union | |
| type Success<T> = { | |
| data: T; | |
| error: null; | |
| }; | |
| type Failure<E> = { | |
| data: null; | |
| error: E; | |
| }; |
| -- 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, |
| 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; |
npm install --save tinymce @tinymce/tinymce-react copy-webpack-pluginpublic folder. Edit file next.config.jsconst path = require('path');
const webpack = require('webpack');
const CopyPlugin = require('copy-webpack-plugin');| //! How to get all records from a Dynamo DB Table and store as regular JSON | |
| // 1. Run the following command in the terminal | |
| // * Note that the output will be in Dynamo JSON format | |
| // aws dynamodb scan --region REGION --profile PROFILE_NAME --table-name TABLE_NAME > exports.json | |
| // 2. Convert from Dynamo JSON to regular JSON. | |
| const AWS = require('aws-sdk') | |
| const fs = require('fs') |