Skip to content

Add skill-review skill - #14

Open
peterlaczkorailsware wants to merge 3 commits into
mainfrom
add-skill-review
Open

peterlaczkorailsware wants to merge 3 commits into
mainfrom
add-skill-review

Conversation

@peterlaczkorailsware

@peterlaczkorailsware peterlaczkorailsware commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

What

A repo-level skill for reviewing other skills, in skill-review/. It encodes the defects found while reviewing #9, #12 and #13 — the ones that shipped, not hypotheticals — so the next reviewer starts from the list instead of rediscovering it.

The eleven defects

Each entry gives the wrong pattern in the skill's own words, why it matters, and the check that catches it.

# Defect Where it came from
1 Asserted units "some datasets carry costs in millionths" — wrong for Google Ads prebuilt reports, and a spend figure off by 1,000,000
2 Dead ends that are not dead ends "adding a native report type will not fix it, that needs a change upstream" — a dataflow takes unlimited sources
3 Fixes the assistant cannot perform "unhide the column in the dataset step" — no MCP tool does that. The mirror image of #2
4 Non-additive metrics aggregated Impression share averaged across a 30-day window; reach summed across days
5 Internal contradictions The same file saying a report type "will not fix it" and "is a source you can add"
6 Claims recalled rather than verified Nearly "correcting" a right 75% Meta budget figure to the legacy 25%
7 Redundant metadata in the body [Source tag: X] duplicating metadata.sources
8 Convention drift name vs folder slug, category, sources, version
9 Cross-references that do not resolve Skills referenced by a name with no matching folder
10 Registration and merge mechanics Two PRs bumping the manifest to the same value merge without a conflict, so the second bump is lost
11 Inert additions The reviewer's own failure mode — true facts that change no output, in files where every line competes for attention

The rule underneath them

Verify, never recall. The skill leads with a sources-of-truth table in priority order — the live MCP over the connector config, the config over the knowledge base, the knowledge base over the skill under review — and says to record it when two disagree, because a KB page contradicting the product is its own bug.

Defect 3 in particular turns on mcp_excluded_params in the connector config, which is the precise record of what the assistant can and cannot set. llm_instructions is broader and advisory; reading it as the constraint produced one wrong finding in the review this came from.

Self-updating

The skill is the exception to the "cannot modify itself" rule the domain skills carry, since its value is being current rather than a snapshot. A new defect qualifies only if it shipped, changes the model's output, and comes from a pattern that will recur. Additions go through a PR against the file, never a silent edit mid-review, and entries are removed when their cause is gone.

Notes

🤖 Generated with Claude Code

peterlaczkorailsware and others added 2 commits September 6, 2026 21:49
A repo-level utility for reviewing skills before merge. It carries the
eleven defects this repo has actually shipped — asserted units, dead ends
that are not dead ends, fixes the assistant cannot perform, non-additive
metrics aggregated, internal contradictions, claims recalled rather than
verified, redundant frontmatter in the body, convention drift, unresolved
cross-references, registration and merge mechanics, and inert additions —
each with the check that catches it.

The rule underneath all of them is verify, never recall, so the skill leads
with a sources-of-truth table in priority order: the live MCP over the
connector config, the config over the knowledge base, the knowledge base
over the skill under review.

It updates itself. A new defect qualifies only if it shipped, changes the
model's output, and comes from a pattern that will recur. Additions go
through a PR against this file rather than a silent edit mid-review, and
entries are removed when their cause is gone.

Registered under coupler-utilities and listed in the README. The root
allowlist in .gitignore gains an entry, since the repo ignores everything
at root by default. The manifest version is deliberately not bumped: PRs
 #12 and #13 are both bumping it, and a third identical bump would merge
without a conflict and be silently lost.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The README had no contributing guidance at all — it ended at Installation —
so a table row was the only place skill-review appeared, and nobody adding a
skill would have seen it.

The new section leads with running skill-review before opening a PR, then
covers the conventions its checks enforce: placement, the frontmatter rules,
manifest and README wiring, the .gitignore root allowlist, and the
version-bump collision between concurrent PRs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Comment thread skill-review/SKILL.md
| What can a dataflow do — sources, transformations, joins? | `coupler-io-knowledge-base/coupler-product.md` |
| Known traps for this connector | `coupler-io-knowledge-base/sources/category/<area>/<connector>/` |
| Default column labels, formats and visibility | `coupler-io-web/config/integrations/sources/<slug>/transformations/` |
| Platform behaviour (budgets, attribution, metric definitions) | The platform's own docs, fetched and read. Never memory |

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.

when do you plan to invoke the skill? our agent has no access to web, so it will not be able to check it

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.

It is not for our agent but for people reviewing skills submitted to this repo. This is how the PR description starts:
A repo-level skill for reviewing other skills, in skill-review/. It encodes the defects found while reviewing #9, #12 and #13 — the ones that shipped, not hypotheticals — so the next reviewer starts from the list instead of rediscovering it.

Comment thread skill-review/SKILL.md

The opposite failure, and the one a thorough reviewer commits. A true fact that changes nothing the model does is not worth a line. These files run to hundreds of lines and every line competes for attention, so padding them with correct-but-unused detail makes the load-bearing instructions harder to find.

Before proposing an addition, ask what output changes if it is absent. If the answer is nothing, drop it.

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.

just like this line 102 is not needed as line 104 describes everything in short

Comment thread skill-review/SKILL.md

### 2. Dead ends that are not dead ends

"That section is dead." "Adding a report type will not fix it, that needs a change upstream." "Skip the section and say why."

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.

this is very specific, I guess the description below should suffice

Comment thread skill-review/SKILL.md

### 3. Fixes the assistant cannot perform

The mirror image of defect 2, and easier to miss because the text reads helpfully. A skill that says "unhide the column in the dataset step" is naming an action no MCP tool exposes. A skill that says "add the audience dimension" on a connector whose dimensions sit in `mcp_excluded_params` is naming an action the assistant cannot take.

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.

it's a bad practice to have crossreferences the same file. in the future, this might not be defect 2. also, first sentence doesn't add to the sense. and again, examples are too specific

Comment thread skill-review/SKILL.md

### 4. Non-additive metrics aggregated

Ratio metrics and de-duplicated counts cannot be summed or averaged across rows:

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.

this might not be a full list, and there's no indication about this

Comment thread skill-review/SKILL.md
| `name` | Exactly the folder slug, which is also how siblings cross-reference it |
| `metadata.category` | One of the categories already in `skills-index.json`, not a new invention |
| `metadata.sources` | The integration's `name` from `get-integration`, verbatim, or `[]` for connector-agnostic skills |
| `metadata.version` | `1.0.0` for a new skill. Do not adopt a sibling's version to look consistent |

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.

what happens to the existing skill? there's no sign of version guidance

Comment thread skill-review/SKILL.md

## Keeping this skill current

**This skill updates itself.** It is the exception to the "cannot modify itself" rule the domain skills carry, because its whole value is being the current list of defects rather than a snapshot.

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.

can this skill actually modify itself?

@peterlaczkorailsware peterlaczkorailsware Sep 7, 2026

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 for people reviewing the skill submissions, so of course they can modify this by submitting PRs to update this skill.

Comment thread skill-review/SKILL.md
2. **It changes output.** Following the skill produces a wrong or unactionable answer. Cosmetic inconsistencies do not qualify.
3. **It will recur.** The defect comes from a pattern — copied structure, an assumed platform fact, a Coupler behaviour that is easy to guess wrong — rather than a one-off slip.

To add one: write it in the same shape as the existing entries — the wrong pattern in the skill's own words, why it matters, and the check that catches it. Cite where it was found. Then open a PR against this file; **never rewrite it silently in the middle of another review**, because the reviewer needs to see the list change.

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.

how we will run this? you say it's supposed to open a PR

Comment thread skill-review/SKILL.md

To add one: write it in the same shape as the existing entries — the wrong pattern in the skill's own words, why it matters, and the check that catches it. Cite where it was found. Then open a PR against this file; **never rewrite it silently in the middle of another review**, because the reviewer needs to see the list change.

Remove an entry when the cause is gone — a connector gains a parameter, an `mcp_excluded_params` entry is lifted, a platform behaviour changes. A stale defect wastes a check on every future review, which is defect 11 applied to this file.

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.

how AI can check this?

Comment thread skill-review/SKILL.md
- Verify or say you did not. Never present an unsourced claim as checked.
- Quote the evidence with its file and line, or the tool call that produced it. A reviewer's assertion is worth no more than the skill author's.
- When the author pushes back, re-read before defending. Two findings in the review that produced this skill were withdrawn under questioning, and both withdrawals were correct.
- Review the skill that exists, not the one you would have written.

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.

overall it feels overloaded with detail and not clear how to run and when. I'll be checking more skills as I have some time now, so I might suggest another skill or additions to this one

Comment thread skill-review/SKILL.md
@@ -0,0 +1,140 @@
---

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.

we can follow the common repo setup when system skills, agents and commands are stored in the .claude or .agents folders.

there is an example from posthog
https://github.com/PostHog/posthog/tree/master/.agents/skills

@aenain aenain Sep 9, 2026

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.

that would allow us to exclude this whole directory from the skills-index.json and use for internal skills
otherwise skill-review would end up in the product, which might not be that useful

or do you mean to restructure the whole repo instead for the skills to be included in the product?

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.

Discussed on standup. Agreed to have skill-review as an internal skill. To be moved to .agents/skills.

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