kriscard
- 46 skills
- 0 followers
- 17 hours ago last updated
- ▌ Spec · kriscard bundleCreates an approval-gated spec for non-trivial feature work from an issue URL or requirements text. Use when the user asks for a spec/PRD, pastes a Linear, GitHub issue, or Jira URL, or requests implementation where scope is ambiguous enough to need acceptance criteria before coding.
- ▌ Test · kriscard bundleApplies test-pyramid, red-green-refactor, and behavioral testing practices for common JS/Python/Ruby stacks and other projects after detecting the runner. Use when the user says "write tests", "add tests", "TDD", "test coverage", "this test is failing", or mentions Jest/Vitest/pytest/RSpec/Playwright/ Cypress. Also use when a feature is implemented without tests.
- ▌ Debug · kriscardDebugs errors, test failures, and unexpected behavior with systematic root-cause analysis. Use when the user reports a bug, says "this isn't working", a test is failing, an exception is thrown, output is wrong, or asks to investigate "why does X happen". Applies to frontend, backend, database, network, and performance issues.
- ▌ React · kriscard bundleAudits React and Next.js code for high-leverage runtime and rendering pitfalls, then routes to deep-dive references on useEffect anti-patterns, re-render causes, rendering model selection, React 19 APIs, and waterfall chains. Use when a .tsx or .jsx file is opened or reviewed, the user asks "is my React code good", mentions useEffect, re-renders, memoization, React Compiler, Server Components, Server Actions, SSR vs CSR, hydration, waterfalls, or bundle size. Triggers on React runtime/rendering reviews.
- ▌ Commit · kriscardCreates semantic git commits with conventional commit format, stages selected changes safely, and optionally pushes to remote after explicit approval. Handles pre-commit hooks and writes meaningful commit messages. Use when the user says "commit", "push changes", "save to git", "commit this", or wants to create a git commit — even if they just say "save my work."
- ▌ Review · kriscard bundleBug-first, evidence-only review for code changes: find production-impacting security, correctness, reliability, performance, and maintainability issues. Use after writing or modifying code, when reviewing diffs or PRs, or when the user asks "review this", "check this code", mentions security, code quality, or performance. Enforces project guidance when available and prefers silence over speculative findings.
- ▌ Frontend · kriscard bundleFrontend engineering audit for TypeScript, UI accessibility, Next.js boundaries, Tailwind/component patterns, and browser security. Use when reviewing .ts/.tsx/.jsx frontend code, designing UI components, checking type/runtime boundaries, handling XSS/CSP/token storage, or deciding frontend file structure. For React runtime/rendering pitfalls, use the react skill.
- ▌ Refactor · kriscardPerforms behavior-preserving refactors to improve readability, reduce complexity, and enhance maintainability without altering functionality. Use when the user says "refactor", "simplify this code", "clean up", "reduce complexity", "extract method", "this is too complex", or asks to improve naming/structure without changing behavior. Preserves all public APIs unless explicitly authorized.
- ▌ Research · kriscardFetches source-grounded, current docs for library/framework/API implementation. Use when the user needs API syntax, config options, examples, migration notes, or version-sensitive guidance. Do not invoke for stable concepts or broad explanations that can be answered from memory.
- ▌ Til · kriscardTIL capture for explicit requests to save learned material from a session into an engaging Obsidian note. Use when the user runs /til or asks to save, document, or write up what they learned.
- ▌ Blog · kriscard bundleUse when writing or revising developer-facing blog posts: technical articles, opinion pieces, project writeups, TILs, or learned-in-public posts that need one sharp angle/aha.
- ▌ Docs · kriscard bundleReader-job technical documentation: READMEs, API docs, architecture docs, how-tos, RFCs, design docs, and ADRs. Use when writing, revising, or reviewing docs for other developers.
- ▌ Talk · kriscard bundleConference talk builder for technical CFP submissions, speaking proposals, timed talk outlines, and slide flows. Use when the user asks for a conference talk, CFP abstract, talk proposal, or to turn a project/article into a speaking proposal.
- ▌ Architect · kriscard bundleGuides architecture decisions about service/module boundaries, system trade-offs, ADRs, data flow, rendering strategy, scaling strategy, API protocols, persistence choices, and code organization. Use when the user asks "how should I structure this", "what's the right approach", or needs a decision that affects multiple modules, teams, deployment boundaries, or future reversibility. Do not use for routine React implementation, PR review, or simple refactors unless the user is making an architectural decision.
- ▌ Pr Review · kriscardBug-first, evidence-only PR review with guidance-scoped specialist passes for security, correctness, architecture, React patterns, and accessibility. Use when the user says "review this PR", "review my changes", "review the diff", or mentions a PR number. Prefers silence over speculative findings.
- ▌ Audit · kriscard bundleDotfiles health baseline and triage. Use when the user wants a whole-system audit of ~/.dotfiles: credential leaks, shell startup, Stow symlinks, Neovim startup, missing tools, or orphan config. Do not use for targeted Neovim or shell edits; route those to neovim or shell-env.
- ▌ Learn · kriscard bundleSocratic teaching for explicit learning requests: diagnose prior understanding, teach one concept at a time, verify comprehension, and correct misconceptions. Use for /learn, "teach me", or "I don't get X".
- ▌ Daily · kriscardDaily startup ritual for the Obsidian vault: create today's workday note, surface exact context, and require the user to choose one daily outcome and next action. Use for "start my day", "daily startup", "today's focus", or /daily.
- ▌ Goals · kriscardObsidian goals review for quarterly or monthly goal notes. Use when the user asks to review goals, run an OKR check-in, update goals, set monthly or quarterly goals, check whether goals are on track, or runs /goals.
- ▌ Ideas · kriscard bundleIdea capture and promotion for Obsidian: quick thoughts land in Inbox, conversation idea clusters are reviewed before writing, and daily-note ideas can be promoted to permanent notes. Use when the user asks to capture an idea, brain dump, write down a thought, find buried ideas, or graduate ideas from daily notes.
- ▌ Money · kriscardRevenue advisor — scans the Obsidian vault for work history and active projects, diagnoses the revenue system, and surfaces monetization opportunities the user can't see from inside their own perspective. Make sure to use this skill whenever the user says "/money", "how can I make more money", "review my revenue", "what should I charge", "help me monetize", "find opportunities", or asks about income, pricing, or business strategy. Goes beyond the vault — diagnoses structure first, then surfaces opportunities.
- ▌ Vault · kriscard bundleFoundational Obsidian vault context skill. Make sure to use this skill whenever the user mentions Obsidian, notes, vault, PARA, "in my notes", "check my vault", "second brain", or any interaction that touches the personal knowledge system. Provides vault structure, CLI reference, and PARA rules that all other obsidian skills build on.
- ▌ Neovim · kriscard bundleNeovim config healthcheck for ~/.dotfiles/.config/nvim/ using lazy.nvim and GNU Stow. Use when the user wants to validate or repair Neovim, add/remove plugins, diagnose startup performance, fix keymaps/LSP, or modernize config. Prefer audit for whole-dotfiles reviews and shell-env for non-Neovim terminal config.
- ▌ Ingest · kriscard bundleSource synthesis for Obsidian: ingest an article, URL, video, book note, or selected Inbox source into durable Resources notes after discussing the key ideas. Use when the user asks to ingest a source, add source material to the wiki, synthesize an article, or runs /ingest.
- ▌
- ▌ Analyze Repo · kriscard bundleFull-repo visual architecture and tech-debt audit. Spawns an Explore subagent to map layers, dependencies, hotspots, and patterns across the entire codebase, then generates an HTML report with a Mermaid architecture diagram and opens it in the browser. Use for full-repo audits such as "analyze my repo", "what's wrong with this codebase", "technical debt audit", or "how is this codebase structured". Do not use for single design decisions, PR review, or small refactors.
- ▌ Project · kriscard bundleCreate, update, or complete Obsidian PARA Project notes in `1 - Projects/`. Use when the user asks for a project note, Obsidian/PARA project tracking, project status updates, or completing a vault project. Do not use for generic software/project planning unless vault notes are requested.
- ▌ Tutorial · kriscardCheckpointed tutorial writer for step-by-step technical teaching: visible end state, dependency-ordered steps, working checkpoints, and mechanism explanations. Use when the user asks to create, draft, revise, or outline a tutorial, step-by-step guide, onboarding guide, or documentation that teaches a skill.
- ▌ Maintain · kriscard bundleRuns a read-only health check on the Obsidian vault — finds broken links, orphaned notes, tag inconsistencies, and wiki issues, then reports prioritized fixes. Make sure to use this skill whenever the user says "vault health check", "fix broken links", "clean up my vault", "vault maintenance", or runs /maintain. Never modifies anything without explicit request — this skill diagnoses, it doesn't operate.
- ▌ Shell Env · kriscard bundleStow-first shell environment editing for zsh, aliases, tmux/sesh, Starship, Ghostty, yabai, Git, and dotfiles packages. Use when the user wants to add or change terminal config, aliases, shell startup, or Stow-managed symlinks. Route Neovim-specific work to neovim and whole-system health checks to audit.
- ▌ Close Day · kriscardEnd-of-day Obsidian ritual: close the active focus loop, triage Ideas Worth Sharing, and confirm tomorrow's carry-forward. Use for "close my day", "end of day", "wrap up today", or /close-day.
- ▌ Save Note · kriscardFiles the current conversation answer as a permanent wiki page in Obsidian. Make sure to use this skill whenever the user says "save this to my notes", "add this to my knowledge base", "create a wiki page for this", "save what we discussed", or "file this answer". Converts session synthesis, insights, or technical decisions into a self-contained reference note. Never writes a note that references "the conversation above" — the body must stand alone.
- ▌ React Hook Form · kriscard bundleBuild and modify React Hook Form forms. Use when React Hook Form is mentioned, imported, installed, or established by project conventions, including controlled widget integration, schema validation, fetched edit forms, conditional fields, multi-step wizards, field arrays, submission errors, and dirty-state handling. Use the react-hook-form-audit skill when the job is review rather than implementation.
- ▌ Audit Para · kriscard bundleRead-only PARA classification audit for the Obsidian vault, followed by an optional explicit-fix flow. Use when the user asks to audit PARA, check whether notes are in the right place, find projects missing outcomes/deadlines, or runs /audit-para.
- ▌ Spot Drift · kriscardDrift check for Obsidian: compare stated intentions against 30 days of vault behavior and surface verified priority gaps or avoidance questions. Use when the user asks "what am I avoiding?", "am I drifting?", "check my priorities vs behavior", "what's getting neglected?", or runs /spot-drift.
- ▌ Career · kriscard bundleCareer advisor for job search, resumes, interviews, salary negotiation, performance reviews, promotions, and Staff Engineer trajectory. Use when the user asks about career advancement, job applications, offers, comp, feedback, promotion packets, or whether they are on track for Staff.
- ▌ Tweet Today · kriscard bundleTweet Today creates categorized Twitter/X post options from today's work, a conversation, a draft, or a technical topic. Use when the user asks what to tweet today or wants software dev, programming, UI/frontend, startup/product, tech, code-snippet, or AI-agent tweet options.
- ▌ Standup · kriscardGenerates a casual, human-sounding daily standup from git activity in the requested period, defaulting to the last workday. Use when the user says "standup", "daily standup", "write my standup", "what did I do yesterday", "write my daily update", or invokes /standup — even if they just ask "can you write my standup?"
- ▌ Ideation · kriscard bundleUse when the user wants help shaping an idea through conversation: generating options, choosing between options, stress-testing assumptions, or turning an early idea into a lightweight spec. Also use when explicitly asked to run the ideation pipeline from messy input into contract, PRD, and implementation spec artifacts. Trigger on "ideate", "explore this idea", "poke holes in this", "help me choose", "turn this into a PRD/spec", or /ideation. Do not use for merely capturing an idea, processing inbox notes, or building the MVP directly.
- ▌ Memory Recall · kriscardSearches the Obsidian vault for prior knowledge, past decisions, and accumulated learnings — and finds unexpected connections between domains. Make sure to use this skill whenever the user asks "do I have notes on", "what do I know about", "what did I write about", "find in my vault", "check my notes about", "have I learned about", "what did I decide about", "connect [A] and [B]", "find bridges between", or any phrasing that implies consulting personal vault knowledge rather than answering from general knowledge. Also fires when user references prior sessions or wants to know what they already know about a topic.
- ▌ Process Inbox · kriscardPARA triage for Obsidian Inbox notes: read each raw inbox note, suggest the correct PARA destination, confirm with the user, and move only on approval. Use when the user asks to process, clear, sort, or triage inbox notes, or runs /process-inbox.
- ▌ Deslopify · kriscardDeslopifies AI-sounding prose and code diffs. Use when the user asks to make text sound human, remove ChatGPT-style filler, rewrite without fluff, clean up AI comments, or strip restatement comments from a diff without changing code.
- ▌ Prototype · kriscardUse when the user wants to build, scaffold, or ship a working MVP from an idea. Covers scope, stack choice, minimal architecture, implementation handoff, validation, and deployment. Trigger on "build an MVP", "prototype this", "scaffold this project", "turn this idea into a working app", "launch this", or /prototype. Do not use when the user only wants to capture, explore, or stress-test an idea; use ideation for that.
- ▌ Capture Receipt · kriscardCapture a concrete work or learning receipt in today's Obsidian note, then optionally hand it to tweet-today or blog. Use when the user says "save this for sharing", "capture this receipt", "tweet this now", or when close-day promotes an Idea Worth Sharing.
- ▌ React Hook Form Audit · kriscard bundleAudit existing React Hook Form code for correctness, accessibility, validation, data ownership, submission, dirty-state, field-array, wizard, controlled-widget, and performance problems. Use when reviewing RHF forms, investigating form bugs or rerenders, or checking an RHF-heavy change. Read-only; use react-hook-form for implementation.
- ▌ Check Communication · kriscardReviews draft communication before sending: Slack, email, PR comments, status updates, proposals, feedback, and pushback. Use when the user asks if a message sounds right, wants a rewrite, or pastes a draft for tone, clarity, buried asks, passive aggression, length, or next-step review.