daviddwlee84
- 25 skills
- 0 followers
- 17 hours ago last updated
- ▌ Chordpro · daviddwlee84 bundleAuthor, convert, validate, render, and transpose ChordPro chord sheets, and build one for a song from an existing online chart, lyrics, or audio. Use when the user mentions ChordPro or .cho/.crd/.pro files, `[C]lyric` inline chords or `{title:}`/`{start_of_chorus}` directives, the `chordpro`/`a2crd` CLI, converting chords-over-lyrics (Ultimate Guitar/OnSong) text, making a guitar chord sheet for a song by name, or extracting chords from a YouTube/Bilibili/SoundCloud link or mp3/wav. References chordpro.org.
- ▌ Slurm Hpc · daviddwlee84 bundleGeneric Slurm/HPC know-how for any cluster. Use when the user writes or debugs sbatch/srun batch scripts, requests resources (--mem/--cpus-per-task/--gres/--time/partitions), reads job state with squeue/sacct/sinfo/scontrol, cancels jobs, or reasons about resource isolation — cgroup CPU/RAM limits and GPU GRES (gpu vs shard vs mps vs MIG) and which of them actually fence VRAM so a misbehaving job fails alone.
- ▌ Git Workflow · daviddwlee84 bundleOpinionated, scale-aware git workflow — English Conventional Commits, cross-harness AI provenance (`AI-Assisted-By` + transcript/plan trailers), linear history, main-vs-PR tiers, worktrees for parallel agents, SemVer releases, and pre-merge hygiene. Use when committing, writing commit bodies, recording Claude/Codex/Cursor attribution, signing commits, branching, merging, opening a PR, tagging a release, or cleaning stale branches — incl. "幫我 commit / 整理 git" and "git 工作流".
- ▌ Skill Author · daviddwlee84 bundleAuthor a new agent skill or refactor an existing one to follow agentskills.io best practices — gotchas sections, output templates, validation loops, calibrated specificity (fragility-based), and agentic script design (--help, --dry-run, structured stdout, stderr diagnostics, PEP 723 inline deps, pinned uvx/npx versions). Use whenever the user wants to create a new skill from scratch, scaffold a SKILL.md, write a reference file, design a script meant to be invoked by an agent, lint a draft skill for quality, or convert an ad-hoc workflow into a reusable skill. For evaluating skill output quality with test cases, benchmarking, or optimizing the description trigger rate, defer to the `skill-creator` skill instead — this skill focuses on authoring, not evaluation.
- ▌ Demo Evidence · daviddwlee84 bundleCapture acceptance evidence — screenshots, terminal/screen recordings, HTTP logs — for a just-built feature into a gitignored .evidence/ bundle keyed to git branch/commit + coding-agent session, for async human validation (Cursor "Demos over diffs" style). Use when the user says "record a demo", "leave evidence", "capture a screenshot/video", "prove it works", wants async sign-off / 驗收, or asks to show a feature works without reading the diff or booting the app by hand. Playwright/asciinema/curl/ffmpeg.
- ▌ Clash Proxy API · daviddwlee84 bundleUse when diagnosing an unreachable website through Clash/mihomo, observing matched rules and proxy chains, checking node/mode/latency, or controlling Clash Verge, ClashX, TUN, Mixin and the system proxy. Supports explicit HTTPS controllers, private CA verification and bounded read-only routing observations; respects managed-router transaction workflows.
- ▌ Dvc Ml Workflow · daviddwlee84 bundleSet up and operate a DVC (Data Version Control) workflow for ML projects — `dvc init`, `dvc.yaml` pipelines, `params.yaml`, `dvc exp run --queue` for parallel sweeps with metrics auto-bound to ephemeral git commits, and remote storage (S3/SSH/GDrive). Use whenever the user wants reproducible ML pipelines, data/model versioning that lives alongside git, parameter sweeps without standing up a tracking server, queued/parallel experiment execution, or asks about `dvc.yaml` / `dvc exp run` / `dvc queue` / `params.yaml` / `dvc add` / `dvc push` / `.dvc/cache`. Always references the official docs at https://dvc.org/doc and the upstream repo https://github.com/treeverse/dvc (Iterative was acquired by Treeverse in 2024 — `pip install dvc` resolves to this repo).
- ▌ Mlflow Tracking · daviddwlee84 bundleSet up and operate MLflow for ML experiment tracking, model registry, and LLM tracing in any Python project. Covers three deployment modes — local file (`./mlruns`), local SQLite + `mlflow ui` (recommended for solo experiments), and a production Docker Compose stack with PostgreSQL + MinIO (vendored as a ready-to-copy `assets/docker-compose-stack/`). Use whenever the user wants to log params/metrics/artifacts, manage models with aliases (Champion/Challenger), enable framework autologging (sklearn/pytorch/lightning/xgboost/transformers/etc.), trace LLM calls (OpenAI/Anthropic/LangChain/LlamaIndex/DSPy), spin up a self-hosted tracking server, or asks about `mlflow.set_tracking_uri` / `mlflow.start_run` / `mlflow.<framework>.autolog` / `mlflow ui` / `MLFLOW_TRACKING_URI`. Always references the official docs at https://mlflow.org/docs/latest and the upstream repo https://github.com/mlflow/mlflow — MLflow ships fast, prefer fetching live docs over relying on memory.
- ▌ Pueue Job Queue · daviddwlee84 bundleDrive Nukesor/pueue (https://github.com/Nukesor/pueue) for queued, parallel, scheduled, and lightly-DAG'd shell jobs — wraps `pueue add --after`, `pueue status --json`, `pueue log --json`, group-level parallelism, and `pueued` daemon health. Use when the user wants to background long-running shell commands across reboots, queue dozens of jobs with capped parallelism, run a fan-out / fan-in pipeline of shell steps, says "pueue", "pueued", "pueue add", "pueue queue", "pueue group", "task queue for shell", "background this job", or asks how to schedule/parallelize CLI work without a real orchestrator (Airflow/Prefect/Dagster). Good fit for ML sweeps, long-running data pipelines, batched evaluations, scheduled `--delay` jobs, "wait for X then run Y" sequences.
- ▌ Long Running Jobs · daviddwlee84 bundleDecide how an agent should wait for work that outlives a turn — training runs, Slurm/sbatch jobs, sweeps, long builds. Use when a job "takes hours" or "runs overnight", the user says "check back when it's done", "wait for training to finish", or "run B after A finishes" — and especially when you are about to schedule a recurring check-in or repeated squeue poll to babysit a run. Ranks scheduler chaining, one blocking backgrounded wait, event streams, then scheduled wake-ups last.
- ▌ Fastapi AI Patterns · daviddwlee84 bundleProduction patterns and gotchas for building FastAPI services, especially AI/ML/LLM serving. Use when you build, review, or debug a FastAPI app: choosing def vs async def, loading models in lifespan, preventing event-loop blocking, setting response_model to stop data leaks, enforcing object-level authz in queries, wrapping LLMs with streaming + Pydantic validation loops, or designing RAG/embedding endpoints.
- ▌ Fastapi AI Scaffold · daviddwlee84 bundleScaffold a production-grade FastAPI AI/ML service from a bundled, opinionated skeleton. Use when starting a new FastAPI inference/LLM/RAG backend, bootstrapping a FastAPI project with clean architecture, or setting up a model-serving API with the production basics pre-wired: router/service/repository layering, lifespan-loaded model + httpx client, /health + /ready probes, JWT auth, SQLModel + Alembic, an SSE LLM gateway, guardrails + a Pydantic validation loop, tests with dependency_overrides, Docker, and gunicorn.
- ▌ Marimo Batch Mlflow · daviddwlee84 bundlePrepare a marimo notebook to run as both an interactive UI and a scheduled batch script, using Tyro for CLI parsing (with dataclass or Pydantic params) and MLflow for experiment tracking. Use when the user wants the same marimo notebook to serve as both a UI for iteration and a CLI script for batch jobs / hyperparameter sweeps, and prefers Tyro over `mo.cli_args()` and MLflow over Weights and Biases. For the upstream W&B + `mo.cli_args()` variant, see marimo-team/skills/skills/marimo-batch.
- ▌ Verifiable Surfaces · daviddwlee84 bundleDesign and verify exercisable surfaces on apps, CLIs, services, and config. Use when authoring a new CLI/tool/library/service in Python (uv + tyro / click / argparse), Node (commander/yargs), or Bash to ensure it exposes `--help`, `--dry-run`, `--print-config`, isolated-state smoke entrypoints, and explicit exit-code contracts. Also use when editing app/tool config, CLI args/env parsing, dotfiles such as chezmoi, Ansible playbooks, CI/deploy manifests, or generated/rendered config — forces syntax/schema, then app-native loader/parser/debug/dry-run, then narrowest harmless runtime smoke. The invariant: a surface that cannot be exercised cheaply and harmlessly was not actually verified, regardless of how much linting passed.
- ▌ Agent History Hygiene · daviddwlee84 bundleCommit SpecStory transcripts and Claude/Cursor/OpenCode/Codex plans with feature diffs, derive staged `AI-Assisted-By` plus transcript/plan trailers, prevent secret leaks, and ignore SpecStory machine-local state. Use when asked to commit/save/stage agent sessions, record cross-harness provenance, bootstrap pre-commit, fix `.specstory/statistics.json` churn, scrub a transcript, or remediate accidental secret commits/pushes with rotate-first discipline.
- ▌ Mkdocs Site Bootstrap · daviddwlee84 bundleBootstrap or maintain MkDocs Material docs sites with GitHub Pages, strict two-pass i18n plus default-language llms.txt, copy-to-LLM, page/nav helpers, and zh-TW translation. Use when setting up or publishing docs, adding bilingual or multilingual docs, repairing nearly empty llms.txt or i18n strict-build failures, or migrating an older mkdocs-site-bootstrap site. Consent-gated; never rewrites existing docs without approval.
- ▌ Raycast Extension Dev · daviddwlee84 bundleBuild, verify, and ship Raycast extensions in TypeScript with @raycast/api. Use when the user says "Raycast extension", "ray build", "ray develop", "ray lint", "menu bar command", "MenuBarExtra", "useCachedPromise", "raycast-env.d.ts", "no-view command", "Raycast on Windows", "platforms field", "runPowerShellScript", "AI extension", "Raycast AI tool", "ai.yaml", "ai evals", "suggested prompts", or wants to publish to the Raycast Store. Covers the launchd PATH trap, the typecheck ray build skips, optimistic-update reconcile timing, cross-platform macOS/Windows seams, and the store-readiness checks ray lint never runs.
- ▌ Userscript Development · daviddwlee84 bundleBuild and debug userscripts for Tampermonkey and Violentmonkey. Use when editing .user.js files, adding page tools or hotkeys, exporting Markdown, fixing SPA or GM API issues, testing with Chromium/Firefox fixtures or real managers, comparing reference extensions, or assessing Safari Userscripts support. Covers sandbox boundaries, UI isolation, browser setup, and evidence-based compatibility claims.
- ▌ CLI Release Distribution · daviddwlee84 bundleShip a compiled CLI (Go/Rust) to real users: tag-triggered GoReleaser/cargo-dist cross-compilation, GitHub Releases with checksums, your own Homebrew tap and Scoop bucket, and shell completions that actually get installed. Use when the user says "release my CLI", "publish to Homebrew", "make a tap", "scoop bucket", "winget manifest", "goreleaser", "cross-compile for macOS/Linux/Windows", "prebuilt binaries", "brew install is building from source", "tab completion does not work after install", "how do I get on repology / AUR / nixpkgs", or asks what it takes to distribute a self-authored terminal tool beyond `go install`.
- ▌ Fastapi AI Interview Prep · daviddwlee84 bundleFastAPI + AI engineering interview preparation — 100 self-contained Q&A across 10 topics (ASGI, Pydantic, REST, dependency injection, databases, security, testing, async, AI/ML/RAG/LLM serving, deployment) plus a quiz CLI. Use when preparing for a FastAPI/Python backend or AI-engineer interview, running or being given a mock interview, drilling a specific topic, or self-testing against senior-level answer rubrics.
- ▌ Project Knowledge Harness · daviddwlee84 bundleSet up a structured project memory for any software project — TODO.md as priority/effort-tagged index of future work, backlog/ for resume-friendly research/design notes on P? items, and pitfalls/ as a symptom-grep-able knowledge base of past traps. Use when a user wants somewhere to record "maybe later" ideas, freeze troubleshooting state, capture trade-off analysis, or stop re-debugging the same problem.
- ▌ Experiment Knowledge Harness · daviddwlee84 bundleSet up and operate a research-experiment memory for ML/DL/Quant projects — LEDGER.md of numbered findings (what we believe, evidence links, overturn protocol), ROADMAP.md experiment queue triaged by expected payoff × cost × category × assumption dependencies, INBOX.md human scratchpad swept into the roadmap via targeted questions, an auto-rendered Mermaid map of how experiments/findings/queued work reference each other, and per-experiment REPORT.md with pre-registration, single-axis ablation contract, results tables and provenance blocks (git SHA, config hash, data window, seeds, MLflow refs). Use when the user wants to track which directions were explored vs not, record which succeeded or failed, avoid re-running dead-end experiments or wasting compute, make results discoverable and comparable, keep experiments reproducible, re-prioritize planned work when a conclusion changes, get a big-picture map of all experiments, jot a raw research idea somewhere, or asks to sweep the experiments inbox.
- ▌ Python Project Best Practice · daviddwlee84 bundleModern Python project conventions for the agentic-coding era: uv + src layout, Tyro CLIs with shell completion, marimo notebooks that run as scripts, loguru, and ruff/type/pytest gates behind a Justfile, plus an AGENTS.md contract agents can drive. Use when starting a new Python project or package, scaffolding a pyproject.toml, choosing a CLI/test/lint/logging stack, making a tool installable with `uv tool install`, or modernizing a legacy setup.py / requirements.txt / poetry / conda repo.
- ▌ 12 Factor Agent Design Review · daviddwlee84 bundleDesign and evidence-review LLM systems with HumanLayer's 12-Factor Agents. Use whenever planning or auditing an LLM workflow, agent loop, tool-calling app, framework migration, human approval, or unreliable agent—even without naming the method. Covers LLM/code boundaries, prompts/context, typed tools, durable state, control flow, pause/resume, retries, and replay. Not for Twelve-Factor App deployment, prompt-only edits, model comparisons, generic code review, security-only work, or scaffolding.
- ▌ Quantatitive Factor Researcher · daviddwlee84assists in designing, evaluating and implementing factor-based investment strategies with Python