Skip to content
Back to skills

Research Editing A Reference Skill

ASecurity

Use when editing a SKILL.md in a split multi-skill reference plugin — changing a dated claim without disturbing section numbering, cross-references or the header block, and then updating the manifests that mirror it. Triggers on editing a skill file, SKILL.md structure, section cross-references, the "§N → skill" annotation, plugin.json version bump, marketplace.json mirror, README plugin table, and running the repository checkers before opening a pull request.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 19, 2026
ai-agentspythongobashgitsecurity

Security analysis

A100/100

Scanned September 19, 2026

npx -y skills add the-vibey-project/vibey --skill research-editing-a-reference-skill --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Research Editing A Reference Skill?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Research Editing A Reference Skill
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/the-vibey-project-research-editing-a-reference-skill/badge)](https://www.skillsdirectory.com/skills/the-vibey-project-research-editing-a-reference-skill)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: research-editing-a-reference-skill
description: Use when editing a SKILL.md in a split multi-skill reference plugin — changing a dated claim without disturbing section numbering, cross-references or the header block, and then updating the manifests that mirror it. Triggers on editing a skill file, SKILL.md structure, section cross-references, the "§N → skill" annotation, plugin.json version bump, marketplace.json mirror, README plugin table, and running the repository checkers before opening a pull request.
---

# Editing a Reference Skill

The mechanics of changing one claim inside a generated reference plugin without breaking the
five other things that point at it.

Read this **before** making any edit. The structures below are load-bearing, and several of
them are not obvious from looking at a single file.

---

## Anatomy of a generated SKILL.md

```
---
name: <matches the directory name>
description: "<the trigger — what makes Claude load this skill>"
---

# <Plugin short name>: <Part title>

> **Part 3 of 6** of the *<Display Name>* reference (plugin `<plugin>`), covering §13–§18.
> Sibling skills: `x` (§0–§5), `y` (§6–§12), … . Section numbers are shared across the set;
> a reference written as §N → `skill` points into that sibling skill.
>
> **Currency:** <one or two sentences>. See §27 → `foo-reference` for <what moved>.

> <the document's own scope blockquote — identical in every skill of the plugin>

---

## §13. <Section title>
…
---

## §14. <Section title>
…
```

Three consequences:

- **The header blockquote is generated,** not authored. Do not hand-edit the `Part i of n`
  line or the sibling list; they are derived from the split.
- **The scope blockquote is duplicated across every skill in the plugin.** If a currency edit
  touches it, it must be changed identically in all of them or the plugin becomes inconsistent.
- **Section numbers are shared across the whole plugin**, not per skill. `§14` means the same
  section whichever skill you are reading.

---

## The cross-reference rule

Within a plugin, a reference to a section **that lives in a sibling skill** is annotated:

```
… as covered in §20 → `foo-isa-simulation-and-specialization`, the …
```

A reference to a section **in the same skill** stays bare (`§14`). A range lists only the
non-local targets: ``§7–§12 → `x`, `y` ``.

**If your edit adds a new `§N` reference, you must annotate it yourself** using the same rule:
find which skill owns §N (look at the sibling list in the header), and append `` → `that-skill` ``
if it is not the skill you are editing.

### ⚠️ Citations of *other documents* must stay bare

The marketplace's references cite each other. Those citations use the *other* document's
section numbers and **must never be annotated**, or they turn into links into the wrong
plugin — which is worse than no link, because it looks authoritative.

Four phrasings occur. All of them mean "another document's §N":

```
see a power engineering reference §12          ← 'a … reference' then the ref
a peripherals reference (§5's wireless HID)    ← ref opens the parenthetical
a robotics-software reference (§14 there)      ← ref followed by 'there'
§6 of a communications reference               ← ref before the words
```

And two lookalikes that **are** internal and stay annotated:

```
The IA reference (§3)                                    ← a books-table entry; note "The", not "a"
a security reference (§20's hierarchy … recurs there)    ← our §20, recurring over there
```

The distinguishing signals are the **indefinite article** (`a`/`an` introduces another
document; `The` usually introduces a titled work) and **`there` vs `here`**. When a citation
is genuinely ambiguous, leave it bare and say so in the pull request.

---

## Byte discipline

The section bodies are byte-identical to the source documents they were split from, and
tooling checks that. So:

- **Change only the characters that must change.** Do not reflow paragraphs, normalise
  punctuation, convert quotes, retab tables or "tidy" whitespace.
- **Keep the line wrapping style of the surrounding text.** These files are hand-wrapped at
  roughly 90 characters; a re-wrapped paragraph produces an enormous, unreviewable diff for a
  one-word change.
- **Preserve the markers.** The ⚠️ prefixes, the bold runs, the confidence tags and the table
  shapes are all deliberate.
- **Do not renumber sections.** Ever, in a currency edit. Numbering is shared across the
  plugin, cited by sibling skills and sometimes cited by *other* plugins.

---

## What else must change when you edit

Work through this list every time; the repository's checkers enforce most of it.

1. **`plugins/<plugin>/.claude-plugin/plugin.json`** — bump `version`. A currency edit is a
   patch or minor revision; follow whatever the plugin is already using (`0.1.0` → `0.2.0`
   is this repository's convention for "revised").
2. **`.claude-plugin/marketplace.json`** — mirror the new `version`. Mirror `description`
   and `category` too if they changed. **A mismatch here breaks installation**, and the
   validator fails the build.
3. **`plugins/<plugin>/README.md`** — update the skill bullet only if the section list changed.
4. **Root `README.md` plugin table** — update the version cell for that plugin, and the
   "Covers" cell only if the topic list genuinely changed.
5. **Counts** — only if you added or removed a whole skill or plugin, which a currency edit
   should not do. If it somehow does, the plugin and skill counts appear in `README.md`,
   `CLAUDE.md`, `AGENTS.md`, `CONTRIBUTING.md`, `docs/index.md`, `docs/usage.md`,
   `docs/hooks.py`, `docs/gen_reference.py`, `pyproject.toml`, `mkdocs.yml` and
   `.github/workflows/ci.yml`.
6. **Package version** — `src/vibey_skills/__init__.py` and `marketplace.json`'s
   `metadata.version` must stay equal. Bump them together, or not at all; the validator
   asserts they match.

Do **not** hand-edit anything under `docs/reference/` — that tree is generated from
`plugins/**` at build time.

---

## Before opening the pull request

Both must exit 0:

```bash
python3 tools/validate_manifests.py
python3 tools/check_links.py
```

`validate_manifests.py` catches name/version/frontmatter drift and duplicate skill names.
`check_links.py` enforces the absolute-vs-relative link rule (root Markdown uses absolute
GitHub URLs; files under `docs/` use relative links) and is hermetic, so it needs no network.

If the edit changed anything under `docs/` or `mkdocs.yml`, also run:

```bash
mkdocs build --strict
```

⚠️ **A currency edit that fails a checker is not ready.** Fix it or drop that edit from the
pull request — never disable a check to get a change through.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…