Skip to content

docs: Rename brand-voice to brand-writer skill - #62384

Merged
dinocosta merged 2 commits into
zed-industries:mainfrom
bechor25:fix/brand-writer-skill-dirname
Aug 11, 2026
Merged

docs: Rename brand-voice to brand-writer skill#62384
dinocosta merged 2 commits into
zed-industries:mainfrom
bechor25:fix/brand-writer-skill-dirname

Conversation

@bechor25

@bechor25 bechor25 commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

What

docs/.conventions/brand-voice/SKILL.md declares:

name: brand-writer

while sitting in a directory called brand-voice.

The Agent Skills specification requires the two to be identical:

The required name field: … Must match the parent directory name
https://agentskills.io/specification#name-field

So this skill fails skills-ref validate today.

Which side is wrong

The directory — and this repository settles it three separate ways, with no outside context needed.

1. The sibling copy already uses the matching name. .factory/skills/brand-writer/ holds the same four files (SKILL.md, rubric.md, taboo-phrases.md, voice-examples.md) under brand-writer.

2. crates/agent_skills/README.md documents the skill system using this exact skill, and the name it documents is brand-writer:

line 107:  <name>brand-writer</name>
line 149:  the model … calls `skill { name: "brand-writer" }`
line 151:  when the user types `/brand-writer`
line 158:  <skill_content name="brand-writer">

That name is load-bearing — it is what the skill tool invokes and what the slash command types. The directory name is referenced twice, both inside docs/.conventions/CONVENTIONS.md.

3. Six of the repository's seven skills already match their directory:

skill matches?
.agents/skills/gpui-test
.agents/skills/lint-creator
.agents/skills/zed-cherry-pick
.factory/skills/brand-writer
.factory/skills/humanizer
crates/agent_skills/builtin/create-skill
docs/.conventions/brand-voice ❌ the only one

The change

The frontmatter is untouched. Only the directory moves, plus the two references to it:

  • docs/.conventions/brand-voice/docs/.conventions/brand-writer/ (4 files, pure rename)
  • CONVENTIONS.md:5[brand-voice/](./brand-voice/)[brand-writer/](./brand-writer/)
  • CONVENTIONS.md:368`brand-voice/rubric.md``brand-writer/rubric.md`

git grep brand-voice returns nothing afterwards.

If you would rather keep the directory name and rename the field to brand-voice, that is a one-line change instead and I am happy to switch it — but it would give the two copies of one skill two different names, and it would diverge from the name crates/agent_skills/README.md documents.

One thing I noticed but did not touch

The two copies have drifted. .factory/skills/brand-writer/SKILL.md is 279 lines and includes a "Phase 4: Humanizer Pass" section; docs/.conventions/'s copy is 265 lines, lacks that section, and renumbers Validation from Phase 5 to Phase 4. That is a separate question about which copy is canonical, so it is left alone here.


Found with AgentCompass, an offline static analyzer for AI-agent repo readiness. Verified by hand against the spec before opening.

Release Notes:

  • N/A

docs/.conventions/brand-voice/SKILL.md declares `name: brand-writer`
while sitting in a directory called `brand-voice`. The Agent Skills spec
requires the two to be identical, so this skill fails `skills-ref
validate` today.

The directory is the side that is wrong, for three reasons that are all
visible in this repository:

  * .factory/skills/brand-writer/ holds the same four files under the
    matching name;
  * crates/agent_skills/README.md documents the skill system using this
    exact skill, and the name it documents is brand-writer — `skill {
    name: "brand-writer" }`, `/brand-writer`, and
    `<skill_content name="brand-writer">`;
  * six of the repository's seven skills already match their directory
    (humanizer, gpui-test, lint-creator, zed-cherry-pick, create-skill,
    and .factory's brand-writer).

The frontmatter is untouched — `name: brand-writer` is what everything
else already expects. Only the directory moves, along with the two
references to it in docs/.conventions/CONVENTIONS.md. `git grep
brand-voice` returns nothing afterwards.

Spec: https://agentskills.io/specification#name-field
@cla-bot

cla-bot Bot commented Aug 9, 2026

Copy link
Copy Markdown

We require contributors to sign our Contributor License Agreement, and we don't have @bechor25 on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'.

@zed-community-bot zed-community-bot Bot added the first contribution the author's first pull request to Zed. NOTE: the label application is automated via github actions label Aug 9, 2026

@dinocosta dinocosta left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks @bechor25 ! I believe we do want to keep it consistent with the existing .factory/skills/brand-writer 🙂

However, we need you to sign the CLA before we're able to approve and merge these changes. Thanks!

@bechor25

Copy link
Copy Markdown
Contributor Author

@cla-bot check

@cla-bot

cla-bot Bot commented Aug 11, 2026

Copy link
Copy Markdown

We require contributors to sign our Contributor License Agreement, and we don't have @bechor25 on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'.

@cla-bot

cla-bot Bot commented Aug 11, 2026

Copy link
Copy Markdown

The cla-bot has been summoned, and re-checked this pull request!

@bechor25

Copy link
Copy Markdown
Contributor Author

@cla-bot check

@cla-bot cla-bot Bot added the cla-signed The user has signed the Contributor License Agreement label Aug 11, 2026
@cla-bot

cla-bot Bot commented Aug 11, 2026

Copy link
Copy Markdown

The cla-bot has been summoned, and re-checked this pull request!

@bechor25

bechor25 commented Aug 11, 2026

Copy link
Copy Markdown
Contributor Author

@dinocosta CLA is signed and the check is green now (verification/cla-signed: success), so this should be unblocked on that front.

Two things left that need someone with write access:

  • run_bundling and nix_build are sitting at action_required — first-time fork contributor, so they need an "Approve and run workflows" click before they'll start.
  • The review is still CHANGES_REQUESTED from the CLA hold.

And thanks for confirming the direction — keeping it consistent with .factory/skills/brand-writer is exactly what this does. The frontmatter is untouched; only the directory moves, along with the two references to it in docs/.conventions/CONVENTIONS.md. No rush at all, just flagging since it's waiting on your side.

@dinocosta dinocosta added the area:docs This is a PR label! For issues use issue type 'Docs' instead. label Aug 11, 2026
@dinocosta
dinocosta enabled auto-merge August 11, 2026 15:32
@dinocosta

Copy link
Copy Markdown
Member

Thanks! 🙂

@dinocosta dinocosta changed the title docs: name the brand-writer skill directory after the skill docs: Rename brand-voice to brand-writer skill Aug 11, 2026
@dinocosta
dinocosta added this pull request to the merge queue Aug 11, 2026
Merged via the queue into zed-industries:main with commit c7537bd Aug 11, 2026
49 checks passed
playdohface pushed a commit to playdohface/zed that referenced this pull request Aug 29, 2026
## What

`docs/.conventions/brand-voice/SKILL.md` declares:

```yaml
name: brand-writer
```

while sitting in a directory called `brand-voice`.

The Agent Skills specification requires the two to be identical:

> The required `name` field: … **Must match the parent directory name**
> — <https://agentskills.io/specification#name-field>

So this skill fails `skills-ref validate` today.

## Which side is wrong

The directory — and this repository settles it three separate ways, with
no outside context needed.

**1. The sibling copy already uses the matching name.**
`.factory/skills/brand-writer/` holds the same four files (`SKILL.md`,
`rubric.md`, `taboo-phrases.md`, `voice-examples.md`) under
`brand-writer`.

**2. `crates/agent_skills/README.md` documents the skill system using
this exact skill, and the name it documents is `brand-writer`:**

```
line 107:  <name>brand-writer</name>
line 149:  the model … calls `skill { name: "brand-writer" }`
line 151:  when the user types `/brand-writer`
line 158:  <skill_content name="brand-writer">
```

That name is load-bearing — it is what the skill tool invokes and what
the slash command types. The directory name is referenced twice, both
inside `docs/.conventions/CONVENTIONS.md`.

**3. Six of the repository's seven skills already match their
directory:**

| skill | matches? |
| --- | --- |
| `.agents/skills/gpui-test` | ✅ |
| `.agents/skills/lint-creator` | ✅ |
| `.agents/skills/zed-cherry-pick` | ✅ |
| `.factory/skills/brand-writer` | ✅ |
| `.factory/skills/humanizer` | ✅ |
| `crates/agent_skills/builtin/create-skill` | ✅ |
| **`docs/.conventions/brand-voice`** | ❌ the only one |

## The change

The frontmatter is untouched. Only the directory moves, plus the two
references to it:

- `docs/.conventions/brand-voice/` → `docs/.conventions/brand-writer/`
(4 files, pure rename)
- `CONVENTIONS.md:5` — `[brand-voice/](./brand-voice/)` →
`[brand-writer/](./brand-writer/)`
- `CONVENTIONS.md:368` — `` `brand-voice/rubric.md` `` → ``
`brand-writer/rubric.md` ``

`git grep brand-voice` returns nothing afterwards.

If you would rather keep the directory name and rename the field to
`brand-voice`, that is a one-line change instead and I am happy to
switch it — but it would give the two copies of one skill two different
names, and it would diverge from the name
`crates/agent_skills/README.md` documents.

## One thing I noticed but did not touch

The two copies have drifted. `.factory/skills/brand-writer/SKILL.md` is
279 lines and includes a *"Phase 4: Humanizer Pass"* section;
`docs/.conventions/`'s copy is 265 lines, lacks that section, and
renumbers Validation from Phase 5 to Phase 4. That is a separate
question about which copy is canonical, so it is left alone here.

---

Found with [AgentCompass](https://github.com/YoavLax/agent-compass), an
offline static analyzer for AI-agent repo readiness. Verified by hand
against the spec before opening.

Release Notes:

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

Labels

area:docs This is a PR label! For issues use issue type 'Docs' instead. cla-signed The user has signed the Contributor License Agreement first contribution the author's first pull request to Zed. NOTE: the label application is automated via github actions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants