Créer un skill pour le plugin dbt-lineage

VérifiéSûr

Guide pour créer un nouveau skill respectant les conventions du dépôt dbt-lineage — structure, frontmatter et bonnes pratiques.

Spar Skills Guide Bot
DeveloppementIntermédiaire
32003/09/2026
Claude Code
#scaffolding#skill-authoring#claude-code-plugin#dbt#conventions

Recommandé pour

Notre avis

Génère une nouvelle skill produit (SKILL.md) dans le plugin dbt-lineage, en respectant les conventions de frontmatter, de structure et de README du dépôt.

Points forts

  • Impose le style maison : description servant de déclencheur, précondition refresh-artifacts pour les skills qui lisent la lineage, choix explicite entre --format json et Markdown.
  • Oblige à vérifier les options CLI réelles via `poetry run parrant --help` plutôt que de se fier à la mémoire.
  • Exige une clause de désambiguïsation par rapport à la skill voisine la plus proche, pour éviter les déclenchements concurrents.
  • Termine par l'ajout de la ligne dans le tableau Skills du README et propose un commit Conventionnel sans jamais committer.

Limites

  • Fortement couplé à l'arborescence du plugin dbt-lineage : ce n'est pas un générateur de skills générique.
  • Nécessite un aller-retour humain pour clarifier le slug, le type (command/agent/helper) et la surface CLI à encapsuler.
  • Ne teste pas la skill générée : aucune validation d'exécution ni vérification que le déclenchement fonctionne réellement.
  • La montée de version du plugin.json n'est faite que si l'utilisateur la demande explicitement.
Quand l'utiliser

À utiliser lorsqu'on ajoute une nouvelle skill destinée aux utilisateurs finaux du plugin dbt-lineage et qu'on veut qu'elle respecte les conventions existantes.

Quand l'éviter

À éviter pour de l'outillage contributeur, pour une skill destinée à un autre plugin ou dépôt, ou pour modifier le contenu d'une skill existante plutôt que d'en créer une.

Analyse de sécurité

Sûr
Score qualité88/100

The skill scaffolds a new product skill by reading repository templates and documentation, optionally running 'poetry run parrant --help' to verify CLI flags, and creating/editing Markdown and JSON files. It does not instruct destructive actions, exfiltration, obfuscation, or unsafe network behavior, and it explicitly avoids committing or releasing without user confirmation.

Aucun point d'attention détecté

Exemples

New command skill
Scaffold a new dbt-lineage product skill called `impact-analysis` that answers 'what breaks downstream if I change this model?' — it should wrap the parrant CLI and follow the repo conventions.
New helper skill
Add a helper skill named `check-artifact-freshness` to the dbt-lineage plugin that other skills can call to confirm lineage artifacts aren't stale before they run.
New agent skill
Create an agent-type skill `change-safety-review` in skills/dbt-lineage — it reviews a PR diff for downstream lineage risk, and its description should make clear how it differs from trace-column.

description: Scaffold a new product skill under skills/dbt-lineage/ matching the repo's SKILL.md conventions. argument-hint: [skill-name] [one-line purpose]

Scaffold a new product skill for the dbt-lineage Claude Code plugin (the skills shipped to end users of the CLI — not contributor tooling).

Requested skill: $ARGUMENTS

Before writing — gather what you can't infer

Read one existing skill of the same type as a template (skills/dbt-lineage/skills/*/SKILL.md) and the plugin README (skills/dbt-lineage/README.md). Then determine — asking the user only if not already clear from the request:

  1. Slug — kebab-case, becomes both the directory name and frontmatter name.
  2. Type — one of:
    • command — wraps a specific CLI invocation, deterministic (e.g. trace-column).
    • agent — judgment-heavy, multi-step, may branch (e.g. change-safety-review).
    • helper — a precondition/utility other skills call (e.g. refresh-artifacts).
  3. The question it answers in the user's words ("what breaks if…", "where does…").
  4. CLI surface it wraps — the exact parrant command(s) and which JSON/ Markdown fields it reads. Verify the flags against the current CLI (poetry run parrant --help), not memory.
  5. Sibling disambiguation — which existing skill is it most likely confused with, and how does its description draw the line?

Create skills/dbt-lineage/skills/<slug>/SKILL.md

Match the house style exactly:

---
name: <slug>
description: <what it does>. Use when the user asks "<phrase 1>", "<phrase 2>", or <situation>. <One clause distinguishing it from the closest sibling skill>.
---

# <Title Case Name>

<One or two sentences framing the job and, if relevant, pointing to the sibling
skill for the adjacent job.>

## Inputs
- `<name>` (required/optional, default …).

## Steps
1. Ensure artifacts are fresh (`refresh-artifacts`).   # include for any lineage-reading skill
2. <run the CLI invocation, in a fenced bash block>
3. <read these fields from the output>

## Output
- <the deliverable: what Claude should synthesize, and any ⚠️ flags to raise>

Conventions that matter:

  • The description is the trigger — it's how Claude auto-selects the skill. Front-load what it does, list concrete user phrasings, and end with the disambiguation clause.
  • Lineage-reading skills start with the refresh-artifacts precondition (stale artifacts are the #1 cause of wrong results).
  • Prefer --format json for skills that compute; Markdown when the report is the deliverable.
  • Any external side effect (posting a PR comment, rebuilding artifacts) → confirm with the user first.

Finish

  1. Add a row to the Skills table in skills/dbt-lineage/README.md (| slug | type | answers |).
  2. Bump skills/dbt-lineage/.claude-plugin/plugin.json version only if the user is cutting a plugin release (ask; don't assume).
  3. Show the created file and the README diff, and suggest a feat(skills): add <slug> skill Conventional Commit — but do not commit unless asked.
Skills similaires