Our review
Scaffolds a new product skill (SKILL.md) inside the dbt-lineage plugin, following the repository's frontmatter, structure, and README conventions.
Strengths
- Enforces house style: a trigger-style description, the refresh-artifacts precondition for lineage-reading skills, and an explicit choice between --format json and Markdown.
- Forces verification of real CLI flags via `poetry run parrant --help` instead of relying on memory.
- Requires a sibling-disambiguation clause so the new skill's description draws a clear line against the closest existing one.
- Closes the loop by adding the README Skills table row and suggesting a Conventional Commit, without committing.
Limitations
- Tightly coupled to the dbt-lineage plugin layout — it is not a general-purpose skill generator.
- Requires a human in the loop to settle the slug, the type (command/agent/helper), and which CLI surface to wrap.
- Does not test the generated skill: no execution check that the trigger or the CLI invocation actually works.
- The plugin.json version bump is only performed if the user explicitly asks for a release.
Use it when adding a new end-user skill to the dbt-lineage plugin and you want it to match the conventions of the skills already shipped.
Avoid it for contributor tooling, for skills belonging to a different plugin or repo, or when editing the content of an existing skill rather than creating a new one.
Security analysis
SafeThe 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.
No concerns found
Examples
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.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.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:
- Slug — kebab-case, becomes both the directory name and frontmatter
name. - 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).
- The question it answers in the user's words ("what breaks if…", "where does…").
- CLI surface it wraps — the exact
parrantcommand(s) and which JSON/ Markdown fields it reads. Verify the flags against the current CLI (poetry run parrant --help), not memory. - 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
descriptionis 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-artifactsprecondition (stale artifacts are the #1 cause of wrong results). - Prefer
--format jsonfor 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
- Add a row to the Skills table in
skills/dbt-lineage/README.md(| slug | type | answers |). - Bump
skills/dbt-lineage/.claude-plugin/plugin.jsonversiononly if the user is cutting a plugin release (ask; don't assume). - Show the created file and the README diff, and suggest a
feat(skills): add <slug> skillConventional Commit — but do not commit unless asked.
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.