Agent skill

Dhub Skill Creator

by pymc-labs in pymc-labs/decision-hub

Guide for creating effective skills for Claude Code agents. An agent skill from pymc-labs/decision-hub.

MITAuto-check: notesAgent Workflows

Install Dhub Skill Creator

skills CLI
$ npx skills add pymc-labs/decision-hub --skill dhub-skill-creator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install pymc-labs/decision-hub dhub-skill-creator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/pymc-labs/decision-hub.git skills-src && mkdir -p .claude/skills && cp -r skills-src/bootstrap-skills/dhub-skill-creator .claude/skills/dhub-skill-creator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
dhub-skill-creator
GitHub stars
105
Token cost
~3.1k tokens
SKILL.md length
1,451 words
Files
6 (incl. scripts, references)
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Guide for creating effective skills for Claude Code agents. An agent skill from pymc-labs/decision-hub.

  • Works in 2 steps: Define the Domain → Design the Architecture
  • Users want to create
  • SKILL.md covers Anatomy of an Effective Skill, Skill Creation Workflow, Writing Guidelines and Validate, Package, Iterate, plus 2 more sections
  • Runs Python scripts from its folder; calls python

What it does

Dhub Skill Creator is an agent skill from pymc-labs/decision-hub. Guide for creating effective skills for Claude Code agents. Covers skill design, implementation, validation, packaging, and optionally runtime environments and automated evaluations for Decision Hub publishing. Use when users want to create, improve, or package a skill.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `references/format_spec.md`, `references/skill_patterns.md` and `scripts/init_skill.py`).

It sits in Agent Workflows, covering Skill authoring. The licence is MIT.

When your agent uses it

  • Users want to create
  • Package a skill

Example prompts

  • “/dhub-skill-creator”

Requirements

  • Python 3

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Define the Domain
  2. Design the Architecture

What it can do on your machine

Read from SKILL.md and the folder at commit ebc814e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Dhub Skill Creator loads about 3.1k tokens when it runs, and up to ~8.4k if it reads all its reference files. Until then it costs about 72 tokens; SKILL.md has 1,451 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:237
    `, `.DS_Store`, `.git/`, `*.egg-info/`, `.env*`. If a needed file matches these patterns, rename it.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from pymc-labs/decision-hub at commit ebc814e, republished under its MIT licence (© pymc-labs). 1,451 words, ~3,095 tokens.

Download SKILL.mdSave it as .claude/skills/dhub-skill-creator/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
dhub-skill-creator
description
Guide for creating effective skills for Claude Code agents. Covers skill design, implementation, validation, packaging, and optionally runtime environments and automated evaluations for Decision Hub publishing. Use when users want to create, improve, or package a skill.

Decision Hub Skill Creator

Create modular skill packages (SKILL.md + optional resources) that turn Claude into a specialist. This skill guides the full lifecycle: define the domain, design the architecture, build and validate the skill, and package it for distribution.

For skills intended for Decision Hub, the workflow naturally extends into defining runtime environments and writing evaluation criteria — not as a separate mode, but as a natural consequence of what the skill needs.

Anatomy of an Effective Skill

What a Skill Contains

Progressive disclosure — each layer loads only when needed:

  1. Metadata (always in context): name + description in frontmatter. Determines when the skill activates.
  2. SKILL.md body (when triggered): The agent system prompt. Core procedures, workflow, constraints.
  3. Bundled resources (as needed):
    • scripts/ — deterministic code the agent executes via Bash
    • references/ — domain knowledge the agent reads on demand
    • assets/ — templates, sample data, output formats
    • agents/ — subagent system prompts for delegation
Patterns That Make Skills Effective
PatternWhy It WorksExample
Architecture diagram up frontAgent grasps the big picture before detailsASCII flow showing phase transitions
Review gatesPrevents runaway execution, gives user control points"HARD STOP — present outline, wait for approval"
Subagent delegationSeparates concerns, each agent does one thing wellActor-critic loop: generate → critique → revise
Anti-patterns / blacklistsTells agent what NOT to do — as important as what to doList of cliches to never use
Quality checklistsActionable verification before outputDesign system checklist with checkboxes
Sensible defaultsReduces friction — ask only what's neededDefault assumptions table at skill start
Concrete examplesShows expected behavior, not just rulesGood/bad output snippets inline
What to Avoid
  • Generic TODO templates the agent fills with boilerplate
  • Excessive placeholder files that create clutter to delete
  • Vague descriptions like "A helpful skill" — triggers for wrong contexts
  • Instructions written for humans instead of agents
  • Duplicating content between SKILL.md and references
  • Overly long SKILL.md — move detail to references/

Skill Creation Workflow

Four phases. Not rigid steps — they overlap and the depth of each depends on the skill's complexity.

Phase 1 — Define the Domain

Understand what the skill does before building anything. Ask focused questions:

  • What specific tasks does this skill handle? Not "data analysis" but "causal inference for A/B tests, lift analysis, treatment effect estimation."
  • What triggers should activate this skill? Maps directly to the description field. Think about what a user would say.
  • What does the agent need to know that it doesn't already know? This is the test for whether content belongs in the skill. If Claude already knows it, don't include it.

Ask 2-3 focused questions. Never more than 5. Gather enough to make design decisions, then move on.

Phase 2 — Design the Architecture

Choose the structural pattern and identify resources. Read references/skill_patterns.md for detailed patterns.

Choose a structural pattern:

  • Workflow-based — multi-step processes with phases and review gates
  • Task-based — focused input/output with processing rules
  • Agent-delegation — multiple subagents, each handling one concern
  • Reference-based — augmenting with domain knowledge the agent lacks

Identify bundled resources:

  • What scripts need to exist in scripts/?
  • What reference material goes in references/?
  • Does the skill need subagents in agents/?
  • Are there template files for assets/?

Determine if the skill needs runtime or evals blocks. These are about the skill's nature — whether it has executable code or should be automatically testable — not about where the skill will be published.

  • Runtime block: Ask "Does this skill include executable code or dependencies?" If yes, ask what language/packages it needs and any required API keys, then define the runtime block in frontmatter. See references/format_spec.md for field details.
  • Evals block: Ask "Should this skill be automatically testable?" If yes, ask "What does 'correct' look like? Describe a scenario where it should pass and one where it should fail." Then guide eval case authoring in Phase 3b.
Phase 3a — Build the Skill
  1. Scaffold. Run scripts/init_skill.py to create the directory:

    python internal-skills/dhub-skill-creator/scripts/init_skill.py <name> --path <dir> [--with-runtime] [--with-evals] [--description "..."]
  2. Write the SKILL.md body. Follow the writing guidelines below. The body is the agent system prompt — procedural knowledge the agent cannot infer on its own.

  3. Build resources. Create scripts, references, assets, agents as designed. For runtime skills, ensure the entrypoint exists and dependencies are declared.

  4. Validate early. Run scripts/validate_skill.py during development, not just at the end.

Phase 3b — Author Evaluation Cases

When the skill has an evals block, help the user construct eval cases through a structured interview.

Step 1 — Identify what to test. Each eval case tests one specific behavior.

  • "What's the most important thing this skill must get right?"
  • "What's the most common way it could fail?"

Step 2 — Write the eval prompt. A realistic user message — what a real person would say to trigger this skill. Keep it focused. Include test data in evals/data/ if needed.

Step 3 — Compose judge criteria. The judge_criteria field is free-text interpreted by an LLM judge. Build it from structured blocks — pick whichever are relevant:

Required Behaviors — things the agent MUST do:

## Required Behaviors
- Checks data distribution before selecting a statistical test
- Reports confidence intervals, not just p-values

Forbidden Behaviors — things that cause automatic failure:

## Forbidden Behaviors
- Applies parametric tests without verifying normality
- Hallucinates data that wasn't in the input file

Expected Output Contains — specific patterns or concepts:

## Expected Output Contains
- A test statistic and p-value
- An interpretation in plain language

Calibration Examples — good/bad snippets so the judge knows what "right" looks like:

## Examples
Good: "Shapiro-Wilk test (p=0.003) rejects normality, using Mann-Whitney U..."
Bad: "Running a t-test gives p=0.04, so the treatment works."

Threshold — how to combine criteria into pass/fail:

## Scoring
PASS if all Required Behaviors present AND no Forbidden Behaviors appear.

Interview the user to populate these blocks:

  • "Describe what a correct output looks like" → Required Behaviors + Expected Output
  • "What would a wrong output look like?" → Forbidden Behaviors + bad Example
  • "Can you show a snippet of ideal output?" → good Example

For simple cases, a single sentence works: "PASS if the agent creates a valid CSV file with headers matching the schema. FAIL otherwise."

Step 4 — Assemble the eval YAML. Create evals/<case-name>.yaml with name, description, prompt, and judge_criteria fields. See references/format_spec.md for the complete spec and references/skill_patterns.md for the eval criteria authoring guide.

Show full SKILL.md (520 more words)Show less

Writing Guidelines

  • Write for an AI agent, not a human. Focus on procedural knowledge the agent cannot infer from its training.
  • Imperative form. "Parse the input" not "You should parse the input."
  • Be specific about what NOT to do. Agents tend toward generic outputs unless constrained. Anti-pattern lists and blacklists are highly effective.
  • Include concrete examples. Show expected input/output pairs, good/bad snippets. Examples outperform abstract rules.
  • Keep SKILL.md under 5000 words. Move detailed specs, lookup tables, and large examples to references/.
  • Every instruction must be actionable. If the agent cannot act on a sentence, delete it. No throat-clearing, no meta-commentary.
  • Use tables for structured data. Default assumptions, field specs, command references — tables are faster to parse than prose.
  • One section, one concern. Don't mix workflow steps with quality criteria. Separate them.

Validate, Package, Iterate

Validate

Run validation during development to catch issues early:

python internal-skills/dhub-skill-creator/scripts/validate_skill.py <skill-dir>
python internal-skills/dhub-skill-creator/scripts/validate_skill.py <skill-dir> --strict

Fix all errors before packaging. Address warnings to improve quality.

Package

Create a distributable zip (runs validation first):

python internal-skills/dhub-skill-creator/scripts/package_skill.py <skill-dir> [--output-dir <dir>]
Iterate

Test the skill by using it on real tasks. Notice gaps, iterate on the SKILL.md and resources. Skills improve through use, not through planning.

Publish

After validation and packaging, ask the user: "Do you want to publish this skill to Decision Hub?" If yes:

dhub publish --org <org> --name <skill>

Run from the skill directory. The server validates the manifest, runs safety checks, and optionally triggers eval runs.

Quick Reference

Scripts
ScriptPurposeUsage
init_skill.pyScaffold a new skillpython scripts/init_skill.py <name> --path <dir> [--with-runtime] [--with-evals] [--description "..."]
validate_skill.pyValidate a skill directorypython scripts/validate_skill.py <skill-dir> [--strict]
package_skill.pyValidate + zip for distributionpython scripts/package_skill.py <skill-dir> [--output-dir <dir>]
Frontmatter Fields
FieldRequiredDescription
nameyes1-64 chars, ^[a-z0-9]([a-z0-9-]{0,62}[a-z0-9])?$
descriptionyes1-1024 chars, what the skill does + when to trigger
licensenoSPDX identifier
compatibilitynoRequirements or constraints
metadatanoKey-value pairs
allowed_toolsnoTool access restrictions
runtimenoExecutable code configuration (see references/format_spec.md)
evalsnoAutomated evaluation configuration (see references/format_spec.md)
Validation Checks Summary
  • 10 error-level checks: SKILL.md exists, valid frontmatter, non-empty body, valid name, name matches dir, valid description, no placeholders, runtime language/entrypoint, evals agent/judge_model, eval YAML fields, unique eval names
  • 5 warning-level checks: short description, short body, env var naming, missing eval files, --strict promotes all to errors

Troubleshooting

"SKILL.md not found" — Ensure you point to the skill directory, not the SKILL.md file itself.

"name does not match directory name" — The name field in frontmatter must exactly match the containing directory name. Rename either one.

"Frontmatter is not valid YAML" — Check for unquoted colons in field values. Wrap the description in quotes if it contains colons: description: "My skill: does things".

"entrypoint does not exist" — The file at runtime.entrypoint must exist relative to the skill root. Create the file or fix the path.

"No evals/*.yaml files found" — Either add eval case YAML files to the evals/ directory, or remove the evals block from frontmatter if evals aren't needed yet.

Validation passes but skill doesn't trigger — The description may be too vague. Make it specific with concrete task types and "Use when..." phrasing.

Zip excludes needed files — The packager excludes __pycache__/, *.pyc, .DS_Store, .git/, *.egg-info/, .env*. If a needed file matches these patterns, rename it.

© pymc-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in bootstrap-skills/dhub-skill-creator of pymc-labs/decision-hub.

  • SKILL.md
  • references/format_spec.md
  • references/skill_patterns.md
  • scripts/init_skill.py
  • scripts/package_skill.py
  • scripts/validate_skill.py

Open the folder on GitHubat commit ebc814e

Compare with similar skills

Dhub Skill Creator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Dhub Skill Creator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dhub Skill Creator this skillpymc-labs/decision-hub105—~3.1kAutomated safety check: NotesMIT
Skill CreatorAzure/azqr79689 repos~8.2kAutomated safety check: PassApache-2.0
Claude Code Skill Developer Guidediet103/claude-code-infrastructure-showcase10k11 repos~3.5kAutomated safety check: PassMIT
Darwin Skill Optimizeralchaincyf/darwin-skill6.2k1 repos~4.7kAutomated safety check: PassMIT
Claude Code Command Developmentanthropics/claude-plugins-official38k10 repos~4.8kAutomated safety check: PassApache-2.0
Claude Code Plugin Structureanthropics/claude-plugins-official38k10 repos~3.4kAutomated safety check: PassApache-2.0

Similar skills

  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    796 GitHub starsUsed in 89 repos~8.2k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Skill Developer Guide

    diet103/claude-code-infrastructure-showcase

    A guide to creating and managing Claude Code skills with auto-activation: skill-rules.json triggers, hooks, enforcement levels, YAML frontmatter and progressive disclosure.

    10k GitHub starsUsed in 11 repos~3.5k tokens
    Agent WorkflowsAuto-check passed
  • Darwin Skill Optimizer

    alchaincyf/darwin-skill

    Scores SKILL.md files on a nine-dimension rubric, then improves them in a keep-or-revert loop with independent judge agents, test prompts, git history and human checkpoints.

    6.2k GitHub starsUsed in 1 repo~4.7k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Command Development

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code slash commands: Markdown files with YAML frontmatter, arguments, file references, bash context and interactive prompts.

    38k GitHub starsUsed in 10 repos~4.8k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Plugin Structure

    anthropics/claude-plugins-official

    Official

    Explains the directory layout, plugin.json manifest and component organization of a Claude Code plugin, including auto-discovery and portable paths.

    38k GitHub starsUsed in 10 repos~3.4k tokens
    Agent WorkflowsAuto-check passed
  • Skill Release Gate

    rohitg00/ai-engineering-from-scratch

    Evaluates an Agent Skill bundle before release for structure, trigger quality, artifact improvement, script correctness, safety, installed-tree integrity and host portability.

    66k GitHub stars~1k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from pymc-labs/decision-hub

  • Dhub CLI

    pymc-labs/decision-hub

    Guide for using the dhub CLI — the AI skill manager for data science agents.

    105 GitHub stars~3.8k tokensUpdated yesterday
    Auto-check: warnings

Categories

Questions about Dhub Skill Creator

What does Dhub Skill Creator do?

Guide for creating effective skills for Claude Code agents. An agent skill from pymc-labs/decision-hub. Dhub Skill Creator is an agent skill from pymc-labs/decision-hub. Guide for creating effective skills for Claude Code agents.

When should I use Dhub Skill Creator?

Dhub Skill Creator fits situations like: users want to create; package a skill.

How do I install Dhub Skill Creator in Claude Code?

Run `npx skills add pymc-labs/decision-hub --skill dhub-skill-creator -a claude-code`. Or copy the skill folder (bootstrap-skills/dhub-skill-creator in pymc-labs/decision-hub) into .claude/skills/dhub-skill-creator in your project. Claude Code loads it when a task matches its description.

How do I install Dhub Skill Creator in Codex?

Run `npx skills add pymc-labs/decision-hub --skill dhub-skill-creator -a codex`. Or copy the skill folder (bootstrap-skills/dhub-skill-creator in pymc-labs/decision-hub) into .agents/skills/dhub-skill-creator in your project. Codex loads it when a task matches its description.

Can I use Dhub Skill Creator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pymc-labs/decision-hub --skill dhub-skill-creator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dhub-skill-creator, .gemini/skills/dhub-skill-creator, .github/skills/dhub-skill-creator and .opencode/skills/dhub-skill-creator in your project.

What does Dhub Skill Creator need to run?

Going by SKILL.md and its folder, Dhub Skill Creator needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Dhub Skill Creator access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Dhub Skill Creator safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Dhub Skill Creator use?

Dhub Skill Creator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Dhub Skill Creator use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.3k tokens, read only when the agent opens those files.

What are the alternatives to Dhub Skill Creator?

Skills that share tags, products or a category with Dhub Skill Creator: Skill Creator (Azure/azqr, 796 stars), Claude Code Skill Developer Guide (diet103/claude-code-infrastructure-showcase, 10k stars), Darwin Skill Optimizer (alchaincyf/darwin-skill, 6.2k stars) and Claude Code Command Development (anthropics/claude-plugins-official, 38k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dhub Skill Creator?

pymc-labs (a GitHub organization) maintains it in pymc-labs/decision-hub, which has 105 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 9, 2026.

Source: pymc-labs/decision-hub on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.