Skip to content

Replace write-a-skill with custom write-a-7f-skill#4

Draft
dumptruckman wants to merge 10 commits into
mainfrom
jwood/write-a-skill-skill
Draft

Replace write-a-skill with custom write-a-7f-skill#4
dumptruckman wants to merge 10 commits into
mainfrom
jwood/write-a-skill-skill

Conversation

@dumptruckman

@dumptruckman dumptruckman commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

This PR introduces a new skill to help us write skills for this repo. The new skill focuses on the new guidelines for using docker as a fallback when your skills include scripts. Rather than copy/pasting skill building advice from Matt Pocock's skills, this skill instead expects the user to use such a skill in combination with this new skill.

This PR also removes the checked in, but outdated, Matt Pocock write-a-skill skill from .agents/skills, and replaces it with a symlink to the new skill.

@dumptruckman
dumptruckman requested review from berv63 and goneflyin July 13, 2026 16:22
@dumptruckman
dumptruckman force-pushed the jwood/write-a-skill-skill branch from aae03d1 to 49a2ff6 Compare July 13, 2026 18:49
@dumptruckman
dumptruckman requested a review from mariobrubio July 14, 2026 20:41
Comment thread skills/write-a-7f-skill/SKILL.md Outdated
Comment thread skills/write-a-7f-skill/SKILL.md
description: Write or revise a 7Factor Software agent skill using Matt Pocock's skill-writing discipline and 7Factor's immutable-host script standard.
compatibility: Requires filesystem access and a client supporting Claude-compatible manual skill invocation; best with /writing-great-skills installed.
argument-hint: "[skill request]"
disable-model-invocation: true

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

the skill itself says user-invoked skills cannot be reached by other skills. Since write-a-7f-skill is expected to use this as its authoring discipline, shouldn’t this remain model-invoked?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The idea is that you invoke it specifically though?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I do like the intent of this, but in reality, at least the way I tend to want to reference skills like this, it makes it awkward.

To intentionally invoke it you have to start your prompt with /write-a-7f-skill. That's not bad, but when you're just thinking out loud and typing it, and say "I want you to create a skill that ... And make sure to use the /write-a-7f-skill to ensure it's robust", then it refuses.

This flag would also prevent you from having it be used to analyze your skill if you were updating it -- even if it knew from the frontmatter that it would be helpful, it can't use it to recommend things without asking you about it first.

It's fine if you do want to keep it -- I've just found it's personally more limiting than beneficial. Totally your call though.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This is interesting @goneflyin because from my experience, it seems like Codex doesn't care whether disable-model-invocation is set to true. When I was working on building this, it just kept invoking it even though I never asked it to.

@goneflyin goneflyin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I cheated. I'm not the best judge of what makes a skill great myself, so I asked claude a few different ways and especially within the context of the /writing-great-skills skill, a few recurring themes arose.

(a few of these I adopted and rewrote myself, a couple ... I didn't have time, so forgive the raw copy/paste!)

  1. The various failure modes that can come up with depending on Matt Pocock's skill. Details in my comment below.
  2. Sprawl — the standards in the skill should be moved externally from the SKILL.md file. ~90 lines of dispatch / native-pair / simple / complex / container-contract are only relevant on the branch where the authored skill bundles scripts. The base skill's branch test is explicit: inline what every branch needs, push behind a pointer what only some reach. Most skills bundle no scripts, so most runs pay this context load for nothing. Move it to a REFERENCE.md.
  3. Duplication — portability stated three times (the "Portability invariant" section, the frontmatter bullet, the dispatch section). The base skill: duplication "inflates a meaning's prominence past its real rank." And the skill's own step 2 demands "one authoritative home" — so it breaks its own single source of truth.
  4. Some "leading words" are invented jargon. immutable-host works — the model has priors for both words. native pair and portable dispatch don't recruit pretraining; they're locally-defined terms the agent must decode, so they cost load without the anchoring a leading word is supposed to buy.

description: Write or revise a 7Factor Software agent skill using Matt Pocock's skill-writing discipline and 7Factor's immutable-host script standard.
compatibility: Requires filesystem access and a client supporting Claude-compatible manual skill invocation; best with /writing-great-skills installed.
argument-hint: "[skill request]"
disable-model-invocation: true

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I do like the intent of this, but in reality, at least the way I tend to want to reference skills like this, it makes it awkward.

To intentionally invoke it you have to start your prompt with /write-a-7f-skill. That's not bad, but when you're just thinking out loud and typing it, and say "I want you to create a skill that ... And make sure to use the /write-a-7f-skill to ensure it's robust", then it refuses.

This flag would also prevent you from having it be used to analyze your skill if you were updating it -- even if it knew from the frontmatter that it would be helpful, it can't use it to recommend things without asking you about it first.

It's fine if you do want to keep it -- I've just found it's personally more limiting than beneficial. Totally your call though.


## Load the craft discipline

Use Matt Pocock's `/writing-great-skills` as the primary authoring discipline. Fall back to the legacy `/write-a-skill`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I thought about this a lot more, and even grilled my clanker about it, and think I've changed my mind....

Don't make Matt's skill a silent external dependency.

If /writing-great-skills is absent or renamed (as it was once already), the gate falls through and the agent proceeds anyway even though the skill may not exist -- it only has the overlay.

I still prefer that we reference the skill, but I think we should fall back on a vendored copy if necessary. So:

  1. Try the live /writing-great-skills (then legacy /write-a-skill).
  2. If neither is exists/active, fall back to a vendored copy included here -- don't proceed.
  3. Have the skill announce which skill it actually loaded — e.g. "loaded live writing-great-skills" vs "loaded vendored copy @ <commit/version>" — so the user is never misled about what's driving the authoring.
  4. Pin a version/commit in the vendored copy's header and add a short "how to re-sync" note, so drift is visible and intentional rather than invisible.

@dumptruckman
dumptruckman marked this pull request as draft July 23, 2026 15:39
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.

3 participants