Skip to content

Add blog post on writing agent skills for datafusion-python#187

Open
timsaucer wants to merge 1 commit into
mainfrom
site/writing-agent-skills
Open

Add blog post on writing agent skills for datafusion-python#187
timsaucer wants to merge 1 commit into
mainfrom
site/writing-agent-skills

Conversation

@timsaucer
Copy link
Copy Markdown
Member

@timsaucer timsaucer commented May 22, 2026

Walks through the user-facing vs developer skill split, the TPC-H
grounding exercise, and the iterative feedback loop we used to keep the
skills honest as the API moved.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@ntjohnson1 ntjohnson1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All nits so accept or reject however makes sense to you. This looks great. Excited for when this publishes


[TOC]

If you maintain an open source project, a growing fraction of the people
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If you maintain an open source project, a growing fraction of the people
If you maintain an open source project, a growing fraction of people

[TOC]

If you maintain an open source project, a growing fraction of the people
using your library are not typing code directly anymore — they are asking an
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
using your library are not typing code directly anymore — they are asking an
using your library are not typing code anymore — they are asking an

Concretely, you will get out of this post:

- A pattern for splitting skills by audience — user-facing vs.
contributor-facing — and why the split matters more than it sounds.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
contributor-facing — and why the split matters more than it sounds.
contributor-facing — and why the split matters.

- A pattern for splitting skills by audience — user-facing vs.
contributor-facing — and why the split matters more than it sounds.
- A workflow for keeping skills in sync with a moving API by treating the
skill itself as the maintenance tool.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
skill itself as the maintenance tool.
skill itself as a maintenance tool.

to generate code. That distinction matters: a good user guide is patient and
walks the reader through concepts; a good skill is opinionated and tells the
model the exact pattern to emit.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[Skill]: https://agentskills.io/home

is silent on something it should cover. Codify the reasoning, don't
rely on the agent finding it again next time.

The next two sections describe two different things we did after the
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two twos felt redundant

Suggested change
The next two sections describe two different things we did after the
The next two sections describe different things we did after the


A draft skill needs to be tested against something more demanding than the
ad-hoc prompts the author used while writing it. We needed a way to confirm
that the skill, once handed to a fresh agent, actually produced code that
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
that the skill, once handed to a fresh agent, actually produced code that
that the skill, once handed to a fresh agent, actually produces code that

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are mixed tenses between past work then current validation. I think this aligns them consistently

A draft skill needs to be tested against something more demanding than the
ad-hoc prompts the author used while writing it. We needed a way to confirm
that the skill, once handed to a fresh agent, actually produced code that
*ran* and returned *correct answers* on real workloads — not just on the
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
*ran* and returned *correct answers* on real workloads — not just on the
*runs* and returns *correct answers* on real workloads — not just on the

person would follow, it is a candidate for a skill — and the act of
writing the skill forces you to make the checklist explicit.

The three correspond to the three places maintenance drift shows up in a
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The three correspond to the three places maintenance drift shows up in a
The skills correspond to the three places maintenance drift shows up in a

The three correspond to the three places maintenance drift shows up in a
binding project like ours:

- **`check-upstream`** — *the public API of the wrapped library moved
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wrapped library felt ambiguous if we were talking about the library that does the wrapping or the source

Suggested change
- **`check-upstream`***the public API of the wrapped library moved
- **`check-upstream`***the public API of the source library moved

@andygrove
Copy link
Copy Markdown
Member

The staged URL is not working for me

@kevinjqliu
Copy link
Copy Markdown
Contributor

perhaps the staging was overwritten by the ballista 53 blog, https://datafusion.staged.apache.org/blog/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants