Back to authors
edwinhu

edwinhu

62 Skills published on GitHub.

ai-anti-patterns

ALWAYS load before finalizing ANY written prose, and whenever text is suspected of being machine-written - "does this sound like AI", "make this sound human", "clean up the AI-isms", "did a bot write this", "check this draft before I send it", "review this for AI tells", "this reads like ChatGPT", "is this student paper AI-generated", or before handing back any draft, memo, email, or article you wrote. Use proactively even if the user never mentions AI writing.

UncategorizedView skill →

bluebook-audit

This skill should be used when the user asks to 'audit footnotes', 'check Bluebook formatting', 'audit citations', 'run footnote audit', 'check my footnotes', 'bluebook audit', or needs systematic Bluebook compliance checking of a law review manuscript.

UncategorizedView skill →

bluebook

ALWAYS use for ANY legal citation question, even if the user never says 'Bluebook' - 'cite this case', 'how do I cite a statute', 'is this footnote formatted right', 'id. or supra here', 'cite a law review article', 'what signal goes here', 'format these footnotes', 'short form for this cite', or writing or checking any citation in a legal manuscript. NOT for auditing a whole manuscript's footnotes (use bluebook-audit) and NOT for rendering these rules in Typst (use docx-typst).

UncategorizedView skill →

continuous-learning

This skill should be used when the user asks to 'extract patterns from this session', 'save what we learned', 'create a skill from this workflow', 'learn from this conversation', 'capture reusable knowledge', or wants to turn session patterns into reusable skills.

UncategorizedView skill →

bright-data

Use when "query Bright Data", "Bright Data datasets", "Bright Data Web Archive / Wayback alternative", "scrape with Web Unlocker", "FINRA BrokerCheck data", "SEC IAPD / adviserinfo data", "Investment Adviser Public Disclosure", "broker/adviser disclosure snapshots", "LinkedIn/Crunchbase/Glassdoor company or people dataset", or any use of the Bright Data API (datasets/list, Web Archive search/dump, Web Unlocker zones).

UncategorizedView skill →

cite-check

ALWAYS use when a draft's citations need checking against what the sources actually say — 'check citations', 'check my cites', 'verify cites', 'cite-check', 'run citation review', 'are my citations grounded', 'does this source actually support that claim', 'does source X support claim Y', 'what does source X say about Y', 'did I cite that right', 'make sure the cites hold up before I send this'. Use proactively before a draft goes out. NOT for Bluebook formatting (use bluebook / bluebook-audit) and NOT for detecting citations that do not exist at all (use source-verify).

UncategorizedView skill →

consensus

ALWAYS use before running the `consensus` CLI or hitting consensus.app - "search Consensus", "consensus search", "find RCT papers", "randomized trials on X", "systematic reviews / meta-analyses of X", "clinical papers on X", "empirical papers in top journals only", "papers in these specific journals", "filter by journal quartile", "most-cited papers on X since 2018". Use even when the user names a filter (study type, journal, year range, citations) without saying "Consensus". NOT for a broad multi-source literature sweep - use the research skill, which calls this one.

UncategorizedView skill →

craft

Structured task loop with human review. Use when the user says "craft this", "run a craft loop", "do this properly", "clarify plan and verify this", "structured task with human review", "/craft", or wants a substantial change taken through clarification, an approved plan, delegated implementation with independent verification, and a tuicr human-review loop.

UncategorizedView skill →

crsp-lseg-splice

Use when "CRSP is stale / out of date", "CRSP only goes through December", "extend CRSP to today", "fill forward CRSP with LSEG", "current stock prices for my CRSP panel", "up-to-date returns for permnos", "splice CRSP and LSEG", "CUSIP to RIC for a CRSP universe", "backfill the CRSP gap", or any request to carry a CRSP daily/monthly stock series past CRSP's last data date using LSEG/Refinitiv.

UncategorizedView skill →

crsp-v2

Use when "CRSP CIZ", "CRSP v2", "CRSP flat file format 2.0", "crsp.dsf_v2 / msf_v2", "StkDlySecurityData", "StkMthSecurityData", "StkSecurityInfoHist", "stocknames_v2", "DlyRet / MthRet / DlyPrc / MthPrc", "SHRCD or EXCHCD equivalent in new CRSP", "SIZ to CIZ migration", "CRSP data after 2024", "CRSP delisting returns", "CRSP cumulative adjustment factors", "CRSP index INDNO / INDFAM", or any CRSP stock/index query where the legacy SIZ column names no longer exist.

UncategorizedView skill →

data-context

This skill should be used when the user asks to 'set up data analysis for our database', 'extract tribal knowledge about dataset', 'generate data skill', 'document this dataset', 'what does this column mean', 'create data dictionary', 'help me understand this data schema', 'capture domain knowledge about our data', or needs to create a reusable data context skill from dataset expertise.

UncategorizedView skill →

de-ai-revise

ALWAYS use when prose needs to stop sounding machine-written — 'de-AI this', 'make it sound less like AI', 'this reads like ChatGPT wrote it', 'remove the AI-isms', 'de-tic this draft', 'humanize the prose', 'fix the AI writing tells', 'less AI-sounding', 'make this sound like me', 'too many em-dashes and tricolons', 'it reads robotic'. Use as the standard AI-prose pass before any draft ships, even if the user only says 'clean up the writing'. NOT for judging whether text WAS AI-written — this revises, it renders no verdict on authorship.

UncategorizedView skill →

deep-research

ALWAYS load before attempting a broad web-grounded research report - "deep research this", "do a deep dive on X", "comprehensive research on X", "thorough investigation of X", "write me a research report on X", "everything you can find about X", "I need background on this industry/market/regulation", "the academic sources came up empty, look wider". Use even when the user never says "deep research" but wants a synthesized multi-source report. NOT for finding academic papers or citations - use the research, consensus and google-scholar skills first; this is the paid last resort.

UncategorizedView skill →

dev

Feature development and engineering changes under test-first discipline. Use when the user says "build this feature", "implement X", "fix this bug properly", "add support for", "/dev", or wants a code change taken through clarification, an approved plan, TDD-gated implementation, independent verification and human review.

UncategorizedView skill →

dewey

Use when "query Dewey Data", "deweydata.io", "SafeGraph places/patterns/spend", "Advan foot traffic", "POI / points of interest", "mobility data", "dataplor", "Veraset", "PassBy", "crypto/Bitcoin ATM locations", "GovFiles", "business entity / Secretary of State registry data", "OpenCorporates alternative", "LinkUp job postings", "job-postings panel", "Exchange Data International / EDI", "WCA / RCAN corporate actions", "global corporate actions (dividends, splits, mergers, tenders)", or any pull from the Dewey Data academic marketplace (UVA/NYU Platform Subscription) via the deweypy/deweydatapy client, DuckDB, or the Dewey MCP server.

UncategorizedView skill →

docx-render

Use when rendering/converting an EXISTING .docx (or .pptx/.xlsx) to PDF or PNG — 'convert docx to pdf', 'docx to pdf', 'render this Word doc', 'word to pdf', 'export docx as pdf', 'make a pdf of this docx', 'pdf from the docx', 'render the document to PDF'. The faithful path (Word's engine, incl. from background/headless jobs) lives in scripts/doc_render.py. NOT for editing docx content (use the generic 'docx' skill) and NOT for building a docx from markdown (use 'law-review-docx').

UncategorizedView skill →

docx-repair

Use to REPAIR a .docx damaged by a Google Docs or Word Online round-trip — the package/XML wiring, the footnote markup, leftover content controls, and heading styling. Triggers: 'Word won't open the docx / says it's corrupt', 'Google Docs export broken', 'fix the customXML error', 'recover unreadable content', 'phantom blank page', 'repair this docx'; AND 'footnotes broken after Google Docs', 'supra notes wrong after coauthor edits', 'cross-references point to the wrong footnote', 'bio footnotes show numbers instead of symbols (*, †, ‡)', 'author note shows 1 2 3 not star dagger', 'footnote numbering starts at the wrong number', 'separator line missing', 'doubled footnote marks (**, ††)'; AND 'boxes around text after Google Docs', 'content controls / doubled boxes around paragraphs', 'remove the boxes Word draws around headings', 'heading text isn't styled as a heading', 'headings look different / inconsistent heading formatting', 'blank/empty heading lines'; AND 'clean up Google Docs XML cruft', 'strip redundant run formatting', 'de-bloat docx after Google Docs', 'remove rsid bloat / no-op shading / explicit black' — or converting hardcoded 'supra note N' cross-references to auto-updating NOTEREF fields. Any OOXML-level repair on a .docx edited in a cloud editor, even if the user never says 'OOXML'. NOT for building a docx from markdown (law-review-docx) or exporting to PDF (docx-render).

UncategorizedView skill →

permacc

ALWAYS use when URLs in a manuscript need permanent archived copies — 'perma these links', 'archive the URLs in my footnotes', 'add perma links', 'the journal wants perma.cc cites', 'make sure these links don't rot', 'archive this site before it changes', 'snapshot these URLs', 'perma.cc', or when cite-checking a draft with web sources. ALSO use when perma returns 'you've reached your usage limit' despite an institutional account, or when asking which perma folder an account may archive into.

UncategorizedView skill →

docx-typst

Use to BUILD a Word document from a TYPST source, CONVERT a Word manuscript into Typst, or bring a returned .docx back into the repo. Triggers: 'build the docx from the typ', 'typst to Word', 'send them a Word version of this paper', 'I have a Word manuscript, give me Typst', 'convert this docx to typst', 'move my paper off Word', 'start a Typst repo from this Word draft', 'my coauthor sent back the docx', 'they returned the Word file with edits', 'reconcile their edits with my source', 'merge the docx changes back', 'what did they change in the Word file', 'pull the comments out of the docx', 'get their comments from the Google Doc', 'is this file canonical', 'the source and the docx have diverged'. ALSO owns TYPST CITATION RENDERING: 'render Bluebook citations in Typst', 'supra note numbering', 'my supra notes point at the wrong footnote', 'footnote numbers do not renumber when I insert one', 'Id. and supra in typst', 'small-caps reporters in typst', 'hayagriva cannot do Bluebook', 'typst bibliography style for a law review'. NOT 'law-review-docx' or 'law-econ-docx' (docx from MARKDOWN), NOT 'docx-repair' (OOXML damage), NOT 'docx-render' (docx to PDF only).

UncategorizedView skill →

ds-constraints

ALWAYS load before building or grading empirical work — 'build the panel', 'run the regression', 'clean this dataset', 'merge these two sources', 'profile this data', 'write the ETL', 'why does my sample drop rows', 'is this analysis sound', 'review my data pipeline', 'check the data quality', 'what are the DS rules here', or any reference to C1-C6, V1-V9, A1-A6 or E1-E6. Use before writing analysis code, not after — the data-quality, sample-coverage and deviation rules constrain the plan itself.

UncategorizedView skill →

ds

ALWAYS use for ANY substantive empirical task whose output is a dataset, table, figure or number - "analyze this data", "build the panel", "merge these datasets", "run the regression", "profile this dataset", "clean this file up for analysis", "how many firms are in here", "make me a summary table", "pull the data and check X", "replicate this paper's table 2", "build the ETL pipeline", "/ds". Use proactively even when the user asks casually and never says "analysis" - do not start writing pandas or SQL first.

UncategorizedView skill →

farm-out

Run ALL delegated agent work through CLIProxyAPI wrappers instead of the built-in tools. Use INSTEAD OF the Agent tool, subagents, the Workflow tool, and in-session agent teams — for any "delegate this", "spawn an agent", "run these in parallel", "fan out", "have an agent review/investigate/search", "use a subagent", "run a workflow", "spawn a team", "get a second opinion", or any task you were about to hand to a background agent. Also use for explicit mentions of cliproxy, codex-code, gemini-code, claude-code, farm out, or delegating work to another model.

UncategorizedView skill →

fuzzy-name-matching

Use when linking or deduping datasets by entity name rather than a shared key — 'fuzzy match', 'fuzzy name matching', 'entity resolution', 'record linkage', 'match company/person names', 'dedupe entity names', 'name-based join', 'bridge identifiers' (CIK ↔ permno ↔ gvkey ↔ wficn ↔ EIN ↔ personid), or any use of char n-gram TF-IDF, cosine similarity on names, `sparse_dot_topn`, or RapidFuzz at scale.

UncategorizedView skill →

gemini-batch

Use when the user says 'run this prompt over all the documents', 'process thousands of PDFs', 'extract fields from every filing', 'bulk LLM job', 'submit a batch job', 'use the Gemini Batch API', 'upload files to Gemini', or 'this is too many to do one at a time' - any large-scale LLM extraction or classification over many files. ALWAYS load before writing Gemini batch code, including the small test run.

UncategorizedView skill →

google-scholar

This skill should be used when the user asks to "search Google Scholar", "find academic papers", "scholar search", "lookup papers", "find citations", "academic search", "search for papers by author", "find journal articles", "get BibTeX", "cite this paper", "download paper", or needs to search Google Scholar for academic literature via the scholar CLI tool.

UncategorizedView skill →

headline-card

Use this skill when the user asks to add news headline cards, 'Last Week Tonight'-style cards, headline slides, news quote slides, or media quote cards to a Typst presentation. Also use when the user wants to modify existing headline cards (add/remove cards, change quotes, swap logos, fix layout issues). Trigger on: 'add a headline', 'news card', 'LWT card', 'headline slide', 'quote card', 'media quote', 'add a quote from [publication]'.

UncategorizedView skill →

hpc

Use when submitting jobs to UVA HPC (Rivanna/Afton), writing Slurm scripts (sbatch/srun/squeue), converting SGE to Slurm, running compute on any Slurm-managed cluster, or building WRDS data pipelines with polars on HPC. Triggers: 'submit to HPC', 'sbatch', 'squeue', 'slurm job', 'run on Rivanna', 'run on Afton', 'HPC array job', 'convert SGE to Slurm', 'polars on HPC', 'WRDS from HPC'.

UncategorizedView skill →

jupytext

ALWAYS use before touching a notebook as text or running one headlessly - "convert this notebook to a .py", "turn this script into a notebook", "get this ipynb into git", "the notebook diffs are unreadable", "keep the .py and .ipynb in sync", "run this notebook end to end", "execute the notebook with these parameters", "papermill", "jupytext", "add an R/Stata/SAS kernel", "share data between kernels". Use even when the user only says "just run the notebook" - never claim a notebook ran without executing and inspecting it.

UncategorizedView skill →

law-econ-docx

Use this skill to BUILD a Word manuscript from LAW AND ECONOMICS markdown — author-date citations plus a reference list, double spaced throughout, Latin Modern typography — for the Journal of Law and Economics, Journal of Legal Studies, JLEO, ALER, or an econ-flavored job market paper. NOT 'law-review-docx' (footnote/Bluebook style — different citation model), NOT the generic 'docx' skill (edits docx content), NOT 'docx-render' (docx to PDF only). Triggers: 'build the L&E paper', 'law and economics Word template', 'JLE submission docx', 'Journal of Legal Studies format', 'JLEO manuscript', 'author-date Word document', 'econ job market paper in Word', 'Chicago author-date docx', 'make the submission docx for JLE'.

UncategorizedView skill →

law-review-docx

Use this skill to BUILD a formatted Word document from law review / legal MARKDOWN drafts via the law_review_template + pandoc (footnotes, TOC, styled tables) — NOT the generic 'docx' skill (edits docx content), NOT 'docx-render' (docx to PDF only). Triggers: 'generate a docx', 'create the Word file', 'export to docx', 'build the document', 'compile/finalize the draft', 'build the law review document', 'make a Word version', 'turn my markdown draft into Word', 'make the submission docx', 'apply the law review template'.

UncategorizedView skill →

look-at

Use when the user asks to 'look at', 'analyze', 'describe', 'extract from', or 'what's in' media files like PDFs, images, diagrams, screenshots, or charts. Triggers include: 'what does this image show', 'extract the table from this PDF', 'describe this diagram', 'what's in this screenshot', 'analyze this chart', 'read this image', 'get text from this PDF', 'summarize this document', or requests for specific data extraction from visual or document files. Use for interpreted content, not literal file reading (Read tool).

UncategorizedView skill →

lseg-data

Use when "query LSEG/Refinitiv", "fundamentals or market data from LSEG", "ESG scores", "RIC/ISIN symbology", "corporate governance or activism (poison pills, campaigns)", "M&A or IPO deals", "syndicated loans or project finance", "PE/VC investments", "joint ventures", "municipal bonds", "Lipper fund details", "stock screening (fscreen)", "Refinitiv news", "Workspace web client", "Codebook", or any use of the `lseg.data` Python API. (academic loan/PE data: prefer the wrds skill.)

UncategorizedView skill →

marimo

ALWAYS load before editing ANY .py file that contains @app.cell or marimo.App — 'edit this notebook', 'add a cell', 'fix the notebook', 'why is this cell not updating', 'my notebook won't run', 'convert this ipynb to marimo', 'turn my Jupyter notebook into marimo', 'start a notebook', 'export the notebook to HTML', 'run marimo', 'the cell says variable already defined', 'marimo edit'. Use even when the user just says 'the notebook' — hand-editing a marimo file breaks its cell signatures and DAG.

UncategorizedView skill →

nlm

ALWAYS use for ANY NotebookLM work - "make me a notebook on X", "create a notebook", "add this PDF/source to the notebook", "what notebooks do I have", "make a podcast/audio overview of these", "generate a video overview", "study guide", "briefing doc", "FAQ from these sources", "outline from the notebook", "slide deck from these sources", "ask my notebook about X", "summarize the sources in there", or any mention of NotebookLM or `nlm`. Use even when the user says "make a podcast of these papers" without naming NotebookLM. NOT for open-web research reports - use deep-research instead.

UncategorizedView skill →

notebook-debug

ALWAYS use when an executed notebook has to be checked or has gone wrong - "debug this notebook", "why did the notebook fail", "which cell errored", "read the traceback from the ipynb", "the notebook ran but the output looks wrong", "did all the cells run", "papermill/jupytext/marimo execution failed", "inspect the notebook outputs". Use proactively before claiming any .ipynb executed successfully — never assert a notebook works without checking its outputs for tracebacks.

UncategorizedView skill →

npx-ownership-panel

ALWAYS use before building anything that joins proxy votes to ownership — 'build the N-PX panel', 'proxy voting panel', 'how did index funds vote on this item', 'passive vs active voting', 'fund-level votes with ownership attached', 'voting by block', 'link ISS funds to CRSP', 'risk.voteanalysis_npx', 'N-PX votes by meeting/agenda item', 'institutional ownership per proposal', '13F or S12 holdings joined to votes'. Use proactively instead of writing a local pipeline — the panel already exists end-to-end on the WRDS grid.

UncategorizedView skill →

obsidian-organize

Use when the user says 'organize my notes', 'clean up the vault', 'tidy the vault', 'where should this note go', 'file this note', 'move these notes', 'rename this note', or 'the vault root is a mess' - and ALWAYS before creating a new note anywhere in the Obsidian vault, so it lands in the right PARA folder under the right name. NOT for searching notes or appending to the daily note - use the obsidian skill.

UncategorizedView skill →

paperpile

Use when the user asks to "add paper", "paperpile add", "fetch PDF for", "find and add", "search paperpile", "find in paperpile", "paperpile search", "label paper", "trash paper", "download paper", "paperpile index", "edit paper metadata", "update paper title", "fix paper author", "paperpile edit", "find PDF online", "search google for PDF", "resolve PDF", "fetch PDF for citation", "get full-text for DOI", "resolve cite to PDF", or any request to manage their Paperpile library or resolve a citation to a local PDF.

UncategorizedView skill →

pattern-capture

This skill should be used when the user asks to 'find repeated feedback', 'what do I keep correcting', 'capture this pattern', 'DRY my prompting', 'stop repeating myself', 'turn this into a check', 'automate this correction', or when the same type of feedback has been given 3+ times across sessions.

UncategorizedView skill →

plugin-creator

This skill should be used when the user asks to 'create a plugin', 'scaffold a plugin', 'set up plugin structure', 'new plugin', 'edit the plugin manifest', 'wire plugin hooks', 'validate plugin structure', or needs plugin-level work spanning multiple components. For creating or editing a single skill (even inside a plugin), use skill-creator instead.

UncategorizedView skill →

pptx-render

>

UncategorizedView skill →

readwise-chat

Use when the user asks a QUESTION of their reading library rather than for a keyword lookup — 'ask readwise', 'chat about my highlights', 'what do my notes say about X', 'summarize my reading on X', 'what have I read about proxy advisors', 'compare what I've read about X vs Y', 'what's my take on X based on what I've read', 'pull together my highlights on X'. Use proactively for synthesis across many documents. NOT for finding a specific highlight by keyword — use readwise-search instead.

UncategorizedView skill →

readwise-docs

Use when the user says 'add to reader', 'save this article', 'read this later', 'put this in Readwise', 'list my documents', 'what's in my reading inbox', 'archive that article', 'tag this document', or 'delete that from Reader' - anything that lists, saves, updates or deletes documents in the Readwise Reader library. NOT for searching highlights (readwise-search) and NOT for bulk cleanup of stale documents (readwise-prune).

UncategorizedView skill →

readwise-prune

Clean up stale Readwise Reader documents. Use when the user wants to declutter their reading library, remove old unread articles, or manage Reader inbox. Triggers on "clean up readwise", "prune reader", "delete old articles", "declutter reading list".

UncategorizedView skill →

readwise-search

ALWAYS use when the user wants something out of their own reading library — "what did I highlight about X", "search my highlights", "find in readwise", "my notes on X", "did I save anything on Y", "what have I read about Z", "find that quote I saved", "pull quotes from my reading", "who was it that said X". Use proactively before answering from memory whenever the user refers to their own reading or annotations. NOT for conversational summarizing across highlights (readwise-chat), listing or saving Reader documents (readwise-docs), or cleanup (readwise-prune).

UncategorizedView skill →

readwise

ALWAYS use for ANY query against the user''s own reading library — "search Readwise", "find highlights", "what did I highlight about X", "get quotes from my reading", "search my annotations", "find that thing I saved about Y", "pull the full text of that article", "what do my notes say on this", "add my highlights to a notebook", "add tagged documents to notebook". Use even when the user never says "Readwise" but is asking about something they read or saved. NOT for web or academic search — this searches only their curated library.

UncategorizedView skill →

research

ALWAYS use for ANY request to find academic papers - "find papers on X", "what does the literature say about X", "is there research on this", "who has written about X", "find me cites for this claim", "literature search", "any papers in the journals I like", "top journals only", "recent work on X", "has anyone studied this". Use proactively before answering an empirical or doctrinal question from memory, and never run scholar/consensus/paperpile by hand in sequence - this skill parallelizes them. NOT for open-web report writing (deep-research).

UncategorizedView skill →

setup

Use when the user says "set up workflows", "workflows setup", "install the plugin", "is workflows installed correctly", "verify my install", "check the workflows install", "/setup", or asks whether this plugin's agents and preloaded skills actually resolve on this machine.

UncategorizedView skill →

skill-creator

This skill should be used when the user asks to 'create a skill', 'improve a skill', 'edit a skill', 'add a skill to a plugin', 'add enforcement patterns', 'add Iron Laws or fact rows', 'fix a skill description', 'audit skill enforcement', or needs to substantially create or edit any SKILL.md file — including a single skill inside a plugin. Use plugin-creator only for plugin-level work (manifest, hooks wiring, multi-component scaffolding).

UncategorizedView skill →

source-verify

Use when the user says 'verify my sources', 'check the citations', 'fact-check the footnotes', 'are my cites real', 'did I make this cite up', 'does the source actually say that', 'check this quote against the source', or 'source check before I submit'. Use proactively whenever a draft's citations or quotations have not been checked against the actual sources. NOT for Bluebook formatting - use bluebook or bluebook-audit.

UncategorizedView skill →

Page 1 of 2 · 62 results