> Reference for writing and improving Claude Code skills. Use when the user asks to create a new skill, improve an existing skill, turn a conversation workflow into a reusable skill, or says anything like "make this a skill", "save this as a skill", or "let's capture this."
npx skills add https://github.com/aspi6246/Claude-Code-Skills-for-Academics --skill skill-writing-guide
Every skill needs:
r-empirical-finance)SKILL.md file inside that foldername and description fieldsOptional supporting files go in subfolders:
scripts/ — code Claude can execute (R, Python, shell)references/ — documentation Claude reads into context as neededassets/ — templates, fonts, or other files used in outputThe description is the single most important line. Claude uses it to decide
whether to load the skill. Claude tends to under-trigger, so be explicit:
Weak:
description: Helps with R code.
Strong:
description: >
Conventions for writing empirical finance R code with data.table, fixest,
arrow, and ggplot2. Use this skill whenever writing, reviewing, or debugging
R scripts for panel data, regressions, or data pipelines — even if the user
doesn't explicitly mention these packages.
Rules of thumb:
Claude learns patterns from examples more reliably than from abstract
instructions. Always show what you want, not just describe it.
Weak:
Use proper regression syntax.
Strong:
## Panel regressions
est <- feols(y ~ x1 + x2 | firm_id + year, data = dt, vcov = "cluster")
If you've corrected Claude 3+ times on the same thing across sessions,
that correction belongs in a skill. Common examples:
Negative instructions are surprisingly effective when Claude has known
defaults you want to override:
Do NOT use dplyr or any tidyverse package for data manipulation.
Do NOT use lm() for panel regressions — always use fixest::feols().
Do NOT use fontspec — it is incompatible with pdfLaTeX.
a references/ subfolder and point to it from SKILL.md
those are different tasks and deserve separate skills
what you'd actually type, like "write me a DiD regression script")
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Curated collection of high-quality prompts for various use cases. Includes role-based prompts, task-specific templates, and prompt refinement techniques. Use when user needs prompt templates, role-play prompts, or ready-to-use prompt examples for coding, writing, analysis, or creative tasks.
Convert abstract edge concepts into strategy draft variants and optional exportable ticket YAMLs for edge-candidate-agent export/validation.
INVOKE THIS SKILL when writing ANY LangGraph code. Covers StateGraph, state schemas, nodes, edges, Command, Send, invoke, streaming, and error handling.
Analyze the protocol layer between agent harness and LLM model. Use when (1) understanding message wire formats and API contracts, (2) examining tool call encoding/decoding mechanisms, (3) evaluating streaming protocols and partial response handling, (4) identifying agentic chat primitives (system prompts, scratchpads, interrupts), (5) comparing multi-provider abstraction strategies, or (6) understanding how frameworks translate between native LLM APIs and internal representations.
Translate SKILL.md and README.md files into multiple languages for sharing skills internationally
| Shared workflow for editing Langfuse's repo-owned agent setup under `.agents/`. Use when changing AGENTS files, shared skills, `.agents/config.json`, generated shim behavior, provider discovery paths, or install-time agent sync.
>- Summarizes Google Cloud Data Lineage graphs to help users debug data quality issues and understand data provenance for BQ/GCS. Use when summarizing upstream and downstream data flows, and presenting complex lineage data as an intuitive Markdown report. Don't use for generic BigQuery queries, editing lineage relationships, or downstream deprecation. Don't use for downstream blast-radius impact analysis (use datalineage-bigquery-asset-impact-analysis skill instead).
Take aspi6246/skill-writing-guide from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.