Skip to content

feat: fix skill frontmatter for tessl validation#283

Open
popey wants to merge 1 commit intoLerianStudio:mainfrom
popey:improve/skill-review-optimization
Open

feat: fix skill frontmatter for tessl validation#283
popey wants to merge 1 commit intoLerianStudio:mainfrom
popey:improve/skill-review-optimization

Conversation

@popey
Copy link

@popey popey commented Mar 17, 2026

Hullo @jeffersonrodrigues92 👋

I ran your skills through tessl skill review at work and found some targeted improvements. All 86 skills across all 6 plugins were failing deterministic validation (scoring 0%) due to frontmatter issues. The fixes bring every skill to a real score — here are the top 10 by improvement:

score_card

.. and in text form:

Skill Before After Change
visual-explainer 0% 81% +81%
linting-codebase 0% 73% +73%
delivery-status-tracking 0% 73% +73%
pre-dev-research 0% 73% +73%
session-handoff 0% 68% +68%
dev-delivery-verification 0% 68% +68%
dev-service-discovery 0% 68% +68%
using-tw-team 0% 68% +68%
gandalf-webhook 0% 66% +66%
dev-feedback-loop 0% 65% +65%

Average across all 86 skills: 0% → 53% (+53%)

What changed

Three frontmatter fixes applied across all skills:

  1. name field: Removed ring: prefix (e.g. ring:brainstormingbrainstorming). The colon character was causing the name_field validation to fail, which blocked the LLM judge from running entirely — every skill scored 0% as a result.

  2. allowed-tools field: Converted from YAML list format to comma-separated string in 7 skills (e.g. gandalf-webhook, git-commit, session-handoff, cycle-management, pre-dev-feature, pre-dev-full). The validator expects a string, not an array.

  3. Unknown frontmatter keys: Moved non-standard keys (trigger, skip_when, sequence, related, user_invocable, title, category, tier, etc.) under a metadata object in 73 skills. This clears the frontmatter_unknown_keys warning while preserving all the original data.

No body content was changed in any skill — these are purely frontmatter/metadata fixes.

Honest disclosure — I work at @tesslio where we build tooling around skills like these. Not a pitch - just saw room for improvement and wanted to contribute.

Want to self-improve your skills? Just point your agent (Claude Code, Codex, etc.) at this Tessl guide and ask it to optimize your skill. Ping me - @popey - if you hit any snags.

Thanks in advance 🙏

Hullo @jeffersonrodrigues92 👋

I ran your skills through `tessl skill review` at work and found some targeted improvements. Here's the full before/after:

![Skill Review Score Card](score_card.png)

All 86 skills across all 6 plugins were failing deterministic validation (scoring 0%) due to frontmatter issues. The fixes bring every skill to a real score — here are the top 10 by improvement:

| Skill | Before | After | Change |
|-------|--------|-------|--------|
| visual-explainer | 0% | 81% | +81% |
| linting-codebase | 0% | 73% | +73% |
| delivery-status-tracking | 0% | 73% | +73% |
| pre-dev-research | 0% | 73% | +73% |
| session-handoff | 0% | 68% | +68% |
| dev-delivery-verification | 0% | 68% | +68% |
| dev-service-discovery | 0% | 68% | +68% |
| using-tw-team | 0% | 68% | +68% |
| gandalf-webhook | 0% | 66% | +66% |
| dev-feedback-loop | 0% | 65% | +65% |

Average across all 86 skills: **0% → 53% (+53%)**

<details>
<summary>What changed</summary>

Three frontmatter fixes applied across all skills:

1. **`name` field**: Removed `ring:` prefix (e.g. `ring:brainstorming` → `brainstorming`). The colon character was causing the `name_field` validation to fail, which blocked the LLM judge from running entirely — every skill scored 0% as a result.

2. **`allowed-tools` field**: Converted from YAML list format to comma-separated string in 7 skills (e.g. `gandalf-webhook`, `git-commit`, `session-handoff`, `cycle-management`, `pre-dev-feature`, `pre-dev-full`). The validator expects a string, not an array.

3. **Unknown frontmatter keys**: Moved non-standard keys (`trigger`, `skip_when`, `sequence`, `related`, `user_invocable`, `title`, `category`, `tier`, etc.) under a `metadata` object in 73 skills. This clears the `frontmatter_unknown_keys` warning while preserving all the original data.

No body content was changed in any skill — these are purely frontmatter/metadata fixes.

</details>

Honest disclosure — I work at @tesslio where we build tooling around skills like these. Not a pitch - just saw room for improvement and wanted to contribute.

Want to self-improve your skills? Just point your agent (Claude Code, Codex, etc.) at [this Tessl guide](https://docs.tessl.io/evaluate/optimize-a-skill-using-best-practices) and ask it to optimize your skill. Ping me - [@popey](https://github.com/popey) - if you hit any snags.

Thanks in advance 🙏
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 17, 2026

Walkthrough

This pull request reorganizes the YAML front matter structure across all skill definition files in the repository. The primary changes include: (1) removing the "ring:" prefix from all skill identifiers in the name field, standardizing them to simple names like brainstorming, git-commit, etc., and (2) consolidating metadata fields by introducing a new top-level metadata block that nests previously scattered configuration fields. Fields such as trigger, skip_when, sequence, related, and other metadata are moved from top-level declarations into nested structures under metadata. Additionally, some files have formatting adjustments, including consolidation of multi-line tool lists into comma-separated values and reorganization of schema definitions. No behavioral logic is changed; all modifications are structural reorganizations of skill configuration.

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: fixing skill frontmatter for tessl validation by removing ring: prefixes, converting allowed-tools formats, and restructuring non-standard keys under metadata.
Description check ✅ Passed The description is directly related to the changeset, providing context about the validation failures fixed, listing specific improvements, and explaining the three classes of frontmatter changes applied across all 86 skills.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

📝 Coding Plan
  • Generate coding plan for human review comments

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 30

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (3)
dev-team/skills/dev-frontend-performance/SKILL.md (1)

3-28: ⚠️ Potential issue | 🟡 Minor

Move non-standard frontmatter fields under metadata: block for consistency.

The file uses top-level fields (title, category, tier, when_to_use, trigger, NOT_skip_when, sequence, related) that should be reorganized under a metadata: block, matching the structure of 14 other reorganized dev-team SKILL.md files. Move all non-standard fields under metadata: while keeping only name and description at the top level.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@dev-team/skills/dev-frontend-performance/SKILL.md` around lines 3 - 28,
Rename the top-level title field to name and keep description at top level; move
the remaining top-level fields (category, tier, when_to_use, trigger,
NOT_skip_when, sequence, related) into a single metadata: mapping so the file
matches other SKILL.md files; ensure keys and values are preserved exactly
(e.g., NOT_skip_when stays as-is) and that sequence retains its after/before
arrays and related.complementary array under metadata.
dev-team/skills/dev-devops/SKILL.md (1)

20-20: ⚠️ Potential issue | 🟡 Minor

Change ring:dev-ring:sre to ring:dev-sre.

Line 20 contains a malformed skill reference with double prefix (dev-ring:sre). Per coding guidelines, use the unified ring: namespace format ring:dev-sre.

This same malformation also appears in dev-team/skills/dev-unit-testing/SKILL.md line 18.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@dev-team/skills/dev-devops/SKILL.md` at line 20, Replace the malformed skill
reference token "ring:dev-ring:sre" with the correct unified namespace
"ring:dev-sre" in the SKILL content (update the literal string in the document
where it appears); also search the repo for any other occurrences of the same
malformed token (notably the similar entry in the unit-testing SKILL file) and
fix them to "ring:dev-sre" so all skill references use the unified namespace
format.
default/skills/requesting-code-review/SKILL.md (1)

7-24: ⚠️ Potential issue | 🟠 Major

Inconsistent frontmatter structure across skills in this PR.

This skill retains the top-level trigger, NOT_skip_when, sequence, and related fields (lines 7-24), while default/skills/using-git-worktrees/SKILL.md and pmo-team/skills/using-pmo-team/SKILL.md in this same PR move these fields under a metadata block.

Impact:

  • Creates two different frontmatter schemas in the repository
  • May cause validation inconsistencies if tessl expects uniform structure
  • Complicates skill parsing and future maintenance

Recommendation: Apply the metadata restructuring pattern consistently across all skills in this PR. Move trigger, NOT_skip_when, sequence, and related under a top-level metadata block to match the structure in the other two files.

🔄 Proposed fix to align with metadata structure
 ---
 name: requesting-code-review
 description: |
   Gate 4 of development cycle - dispatches 7 specialized reviewers (code, business-logic,
   security, test, nil-safety, consequences, dead-code) in parallel for comprehensive code review feedback.
-
-trigger: |
+metadata:
+  trigger: |
-  - Gate 4 of development cycle
-  - After completing major feature implementation
-  - Before merge to main branch
-  - After fixing complex bug
-
-NOT_skip_when: |
+    - Gate 4 of development cycle
+    - After completing major feature implementation
+    - Before merge to main branch
+    - After fixing complex bug
+  skip_when: |
-  - "Code is simple" → Simple code can have security issues. Review required.
-  - "Just refactoring" → Refactoring may expose vulnerabilities. Review required.
-  - "Already reviewed similar code" → Each change needs fresh review.
-
-sequence:
-  after: [ring:dev-testing]
-  before: [ring:dev-validation]
-
-related:
-  complementary: [ring:dev-cycle, ring:dev-implementation, ring:dev-testing]
-
+    - "Code is simple" → Simple code can have security issues. Review required.
+    - "Just refactoring" → Refactoring may expose vulnerabilities. Review required.
+    - "Already reviewed similar code" → Each change needs fresh review.
+  sequence:
+    after: [ring:dev-testing]
+    before: [ring:dev-validation]
+  related:
+    complementary: [ring:dev-cycle, ring:dev-implementation, ring:dev-testing]
 input_schema:

Note: Also changed NOT_skip_when to skip_when to match standard naming conventions seen in other skills.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@default/skills/requesting-code-review/SKILL.md` around lines 7 - 24, This
file's frontmatter uses top-level fields (trigger, NOT_skip_when, sequence,
related); update it to match the other skills by moving these fields under a
top-level metadata block and rename NOT_skip_when to skip_when to match the
standard convention—ensure the metadata block contains trigger, skip_when,
sequence, and related with the same values and formatting as the other SKILL.md
examples so parsers/validators see a consistent schema.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@default/skills/exploring-codebase/SKILL.md`:
- Around line 8-16: The frontmatter wrongly places sequence_before and
sequence_after under related; create a new metadata.sequence mapping at the same
top-level as related and move sequence_before and sequence_after into it (e.g.,
metadata.sequence: { sequence_before: [...], sequence_after: [...] }), remove
them from related, and ensure related.only contains the similar/related keys;
also verify the SKILL.md YAML frontmatter follows the required format and that
all sequence entries use the ring:skill-name invocation format (e.g.,
ring:writing-plans).

In `@default/skills/interviewing-user/SKILL.md`:
- Around line 8-15: The YAML block mixes plain skill names with namespaced ones;
update all referenced skill identifiers so they use the ring: namespace
consistently (e.g., change similar: - brainstorming to similar: -
ring:brainstorming, uses: - doubt-triggered-questions to uses: -
ring:doubt-triggered-questions, and in sequence.before list replace
brainstorming with ring:brainstorming and ensure ring:writing-plans stays
namespaced) so all entries under similar, uses and sequence use the
ring:skill-name format.

In `@default/skills/systematic-debugging/SKILL.md`:
- Line 9: Update the skill invocation in SKILL.md: replace the bare name
"root-cause-tracing" with the canonical ring-prefixed form
"ring:root-cause-tracing" (ensure any occurrences in the file use
ring:root-cause-tracing so examples/metadata follow the required ring:skill-name
format).

In `@default/skills/test-driven-development/SKILL.md`:
- Around line 50-53: The YAML frontmatter under the related->complementary list
uses bare skill names ("testing-anti-patterns",
"verification-before-completion") instead of the canonical ring:... format;
update those entries to use the canonical invocation (e.g.,
"ring:testing-anti-patterns" and "ring:verification-before-completion") in the
related.complementary array so the skill references are consistent with other
`ring:...` links and comply with the SKILL.md guidelines.

In `@default/skills/writing-skills/SKILL.md`:
- Line 9: Update the reference "testing-skills-with-subagents" in SKILL.md to
the canonical invocation "ring:testing-skills-with-subagents" and ensure the
file includes the required YAML frontmatter for the skill definition; locate the
occurrence of testing-skills-with-subagents in SKILL.md and replace it with
ring:testing-skills-with-subagents, and if YAML frontmatter (--- ... ---) is
missing at the top of SKILL.md, add the appropriate frontmatter fields per
project guidelines.

In `@dev-team/skills/dev-cycle/SKILL.md`:
- Around line 72-74: The command and regex are wrong: wrap the two cat calls so
the fallback is piped into jq (e.g. (cat docs/ring:dev-cycle/current-cycle.json
2>/dev/null || cat docs/ring:dev-refactor/current-cycle.json 2>/dev/null) | jq
'.current_gate') and replace the unanchored/exclusive success_pattern with one
that matches a single digit 0–9 or 0.5 exactly (e.g. '^(?:[0-9]|0\.5)$') so the
fields "command" and "success_pattern" correctly validate gates 0–9 and 0.5.

In `@dev-team/skills/dev-devops/SKILL.md`:
- Line 2: The skill reference at line 20 is malformed: it uses a double-prefix
form `ring:dev-ring:sre`; replace that token with the corrected single-prefix
identifier `ring:dev-sre` (leave the top-level name field `dev-devops`
unchanged). Locate the occurrence of `ring:dev-ring:sre` in the file and update
it to `ring:dev-sre`, ensuring no other entries use the forbidden double-prefix
pattern.

In `@dev-team/skills/dev-fuzz-testing/SKILL.md`:
- Line 2: The YAML frontmatter 'name' field was changed to "dev-fuzz-testing"
without the required ring: prefix; restore the proper invocation format by
changing the frontmatter name back to use the ring: prefix (e.g.,
ring:dev-fuzz-testing) so it matches internal references like
ring:dev-unit-testing and ring:qa-analyst and conforms with the skill definition
convention; ensure the 'name' in SKILL.md matches other references and the
repository's coding guidelines or alternatively update tessl/config if you
intend to change the convention across the repo.

In `@dev-team/skills/dev-helm/SKILL.md`:
- Around line 8-12: The frontmatter has duplicate skip-related fields causing
ambiguity: `NOT_skip_when` (anti-rationalizations) and `skip_when` (actual skip
conditions); consolidate by removing or renaming `NOT_skip_when` and keeping
`skip_when` for machine-readable skip logic — either rename `NOT_skip_when` to
`anti_patterns` or `common_misconceptions` (and move its content to docs) and
ensure only `skip_when` remains as the schema field used by consumers; update
any references to `NOT_skip_when` to the new name or remove them, and validate
that `skip_when` (the actual condition list) is the lone metadata key used by
tooling.

In `@dev-team/skills/dev-implementation/SKILL.md`:
- Line 2: The SKILL.md currently sets "name: dev-implementation" without the
required namespace; update the YAML frontmatter so the name field uses the
invocation format "ring:dev-implementation" (replace the existing "name:
dev-implementation"), and ensure the file contains valid YAML frontmatter block
(--- ... ---) around that name entry so the skill uses the correct ring:
namespace for invocation and documentation.

In `@dev-team/skills/dev-migrate-v4/SKILL.md`:
- Line 2: Update all invocation examples that currently use `/ring:migrate-v4`
to the correct skill invocation `/ring:dev-migrate-v4` to match the skill name
declared as dev-migrate-v4; search for occurrences in the SKILL.md content
(examples around lines showing `/ring:migrate-v4`) and replace them so every
example uses the `ring:skill-name` format `/ring:dev-migrate-v4`.

In `@dev-team/skills/dev-multi-tenant/SKILL.md`:
- Line 15: In the frontmatter of the SKILL.md file change the incorrect key name
NOT_skip_when to the canonical skip_when so the skip logic is recognized by the
schema; locate the frontmatter block containing NOT_skip_when and rename that
key exactly to skip_when (preserving its value/indentation) so existing skip
conditions continue to work.

In `@dev-team/skills/dev-service-discovery/SKILL.md`:
- Line 23: The invocation example in SKILL.md incorrectly uses a leading slash
("/ring:dev-service-discovery"); update the example to use the canonical
invocation "ring:dev-service-discovery" (remove the leading slash) and ensure
the SKILL.md includes the required YAML frontmatter at the top; locate the
example invocation string and the file header (SKILL.md) and replace
"/ring:dev-service-discovery" with "ring:dev-service-discovery" and add or
correct the YAML frontmatter if missing.

In `@finops-team/skills/regulatory-templates-gate1/SKILL.md`:
- Around line 2-15: Replace plain skill names in the SKILL.md YAML frontmatter
with the required ring: invocation format: change the top-level name value from
"regulatory-templates-gate1" to "ring:regulatory-templates-gate1" and update the
sequence entries "regulatory-templates-setup" and "regulatory-templates-gate2"
to "ring:regulatory-templates-setup" and "ring:regulatory-templates-gate2"
respectively so the SKILL definition and the sequence.after/sequence.before
references use the ring:skill-name form.

In `@finops-team/skills/regulatory-templates-gate2/SKILL.md`:
- Around line 2-11: Update the SKILL.md YAML frontmatter to use the ring:
invocation format instead of plain IDs: replace name: regulatory-templates-gate2
with name: ring:regulatory-templates-gate2 and update metadata.sequence.after
value regulatory-templates-gate1 to ring:regulatory-templates-gate1 and
metadata.sequence.before value regulatory-templates-gate3 to
ring:regulatory-templates-gate3 so the skill name and sequence references
conform to the required ring:skill-name invocation convention.

In `@finops-team/skills/regulatory-templates-gate3/SKILL.md`:
- Around line 2-9: The SKILL.md frontmatter uses plain identifiers instead of
the required ring-prefixed skill names; update the name value from
"regulatory-templates-gate3" to "ring:regulatory-templates-gate3" and update the
metadata.sequence.after entry from "regulatory-templates-gate2" to
"ring:regulatory-templates-gate2" so the skill identity and sequencing use the
required ring:skill-name invocation format (check the name and
metadata.sequence.after fields in SKILL.md).

In `@finops-team/skills/regulatory-templates-setup/SKILL.md`:
- Around line 2-14: Update the SKILL.md frontmatter to use the ring-invocation
format for skill identifiers: change the top-level name value to
"ring:regulatory-templates-setup" and update the sequence entries to
"ring:regulatory-templates" (in after) and "ring:regulatory-templates-gate1" (in
before); locate these values in the SKILL.md frontmatter (symbols: name,
metadata.sequence.after, metadata.sequence.before) and replace the plain names
with the corresponding ring:... forms to comply with the skill invocation
guideline.

In `@finops-team/skills/regulatory-templates/SKILL.md`:
- Around line 2-18: The frontmatter mixes plain and ring-prefixed invocation
formats: update the SKILL.md frontmatter so the skill is consistently referenced
with the ring: prefix (e.g., change the name field and the entries under
sequence.before to use ring:regulatory-templates and
ring:regulatory-templates-setup respectively), ensuring metadata.dependencies,
name, and sequence.before all use the same ring:skill-name format; adjust any
other plain skill identifiers in the YAML to ring:... to match the repository
guideline.

In `@pm-team/skills/pre-dev-research/SKILL.md`:
- Around line 8-47: The frontmatter was moved under a metadata block but parsers
still read top-level keys; update all references to read from metadata.* (e.g.,
metadata.trigger, metadata.skip_when, metadata.sequence, metadata.related,
metadata.research_modes). Specifically, change reads in
installer/ring_installer/transformers/skill.py (refs around the handlers that
access trigger/skip_when/sequence/research_modes),
installer/ring_installer/transformers/cursor_rules.py (where
trigger/sequence/related are used),
installer/ring_installer/transformers/cline_prompts.py,
installer/ring_installer/adapters/cursor.py,
installer/ring_installer/adapters/cline.py, and
default/hooks/generate-skills-ref.py to access the values via the metadata
object (handle missing metadata by falling back to defaults or empty values to
avoid crashes). Ensure utility functions or parsing helpers (where present)
normalize to metadata.* so all callers use the same path.

In `@pmo-team/skills/delivery-reporting/SKILL.md`:
- Line 15: The SKILL.md currently uses a malformed skill reference
"ring-tw-team"; update all occurrences in SKILL.md to the proper invocation
format using "ring:skill-name" (e.g., replace "ring-tw-team" with
"ring:ring-tw-team") and ensure any examples, README text, or code snippets use
the ring: invocation consistently; also verify the file contains the required
YAML frontmatter per the skills guideline.

In `@pmo-team/skills/executive-reporting/SKILL.md`:
- Around line 11-14: The skip_when block in SKILL.md contains invalid invocation
strings "ring-tw-team" and "ring-finops-team"; update these to the required
colon-separated skill identifiers (e.g., change ring-tw-team -> ring:tw-team and
ring-finops-team -> ring:finops-team) so the skip_when YAML uses the canonical
ring:skill-name format; locate the skip_when YAML entry and replace the dash
items for Technical documentation and Financial deep dive accordingly.

In `@pmo-team/skills/pmo-retrospective/SKILL.md`:
- Line 13: Replace the malformed skill invocation token "ring-dev-team" in
SKILL.md with the proper invocation format "ring:dev-team" so the documented
example follows the required ring:skill-name pattern; update any other
occurrences of "ring-dev-team" in the file to "ring:dev-team" to keep YAML
frontmatter and examples consistent.

In `@pmo-team/skills/project-health-check/SKILL.md`:
- Around line 9-10: Normalize the bare skill references in SKILL.md to the
canonical invocation format: replace occurrences of "portfolio-planning" and
"risk-management" with "ring:portfolio-planning" and "ring:risk-management"
respectively wherever those skill names appear (e.g., in lists, examples, or
documentation sections of SKILL.md) to comply with the required
`ring:skill-name` format.

In `@pmo-team/skills/resource-allocation/SKILL.md`:
- Around line 12-13: The SKILL.md uses non-canonical skill names 'ring-pm-team'
and 'ring-finops-team' which violate the unified namespace; update those entries
to use the standardized 'ring:' namespace (e.g., replace 'ring-pm-team' with
'ring:pm-team' and 'ring-finops-team' with 'ring:finops-team') so they conform
to examples like 'ring:code-reviewer' and 'ring:backend-engineer-golang' and
will resolve correctly.

In `@pmo-team/skills/risk-management/SKILL.md`:
- Line 14: Replace the inconsistent skill invocation that uses a hyphen (e.g.,
"ring-finops-team" or any occurrence like "Technical risk in code → use
ring-finops-team") with the required colon format "ring:finops-team" (or
"ring:qa-analyst" where appropriate); also ensure the SKILL.md contains the
required YAML frontmatter and that all skill examples and references use the
canonical ring:skill-name invocation format consistently (search for "ring-"
patterns and update them to "ring:") so the document conforms to the coding
guideline.

In `@tw-team/skills/documentation-review/SKILL.md`:
- Around line 9-17: The referenced skill names in the YAML (items
voice-and-tone, documentation-structure, writing-functional-docs,
writing-api-docs and the entries under sequence.after and skip_when) must be
canonicalized to the ring: prefix; update each plain name to
ring:voice-and-tone, ring:documentation-structure, ring:writing-functional-docs,
ring:writing-api-docs (including in the sequence.after list and in the skip_when
bullet lines) so the SKILL.md uses the proper invocation format required by
skill tooling and YAML frontmatter conventions.

In `@tw-team/skills/documentation-structure/SKILL.md`:
- Around line 9-13: The metadata values in SKILL.md use bare skill names; update
the entries "writing-functional-docs", "writing-api-docs" and the two examples
under skip_when that reference "writing-functional-docs" and "voice-and-tone" to
use the invocation namespace format (ring:skill-name) instead of the bare names
so they read e.g. ring:writing-functional-docs, ring:writing-api-docs and
ring:voice-and-tone; ensure all four places match the ring:skill-name pattern in
the YAML frontmatter and examples (look for the tokens writing-functional-docs,
writing-api-docs, and voice-and-tone to replace).

In `@tw-team/skills/voice-and-tone/SKILL.md`:
- Around line 8-11: Update the metadata.related.complementary entries to use the
required ring: prefix so the skill references match the team's invocation
format; specifically change the list items under complementary (currently
"writing-functional-docs", "writing-api-docs", "documentation-review") to
"ring:writing-functional-docs", "ring:writing-api-docs", and
"ring:documentation-review" so the complementary array in SKILL.md uses the same
ring:<skill> convention as other entries.

In `@tw-team/skills/writing-api-docs/SKILL.md`:
- Around line 9-12: The skill identifiers in the SKILL.md front-matter (the
entries writing-functional-docs, api-field-descriptions, and
documentation-structure) are missing the required namespace; update each to the
canonical invocation format by prefixing with ring: (i.e.,
ring:writing-functional-docs, ring:api-field-descriptions,
ring:documentation-structure) so the complementary/related skill list uses
ring-prefixed identifiers consistent with the skills invocation guidelines.

In `@tw-team/skills/writing-functional-docs/SKILL.md`:
- Around line 9-19: The referenced skills in the SKILL frontmatter are not using
the required ring: invocation format; update the complementary list (values:
writing-api-docs, voice-and-tone, documentation-structure), the sequence.before
entry (documentation-review), and all skill names inside skip_when
(writing-api-docs, documentation-review, dev-team agents) to use the canonical
ring:skill-name form (e.g., ring:writing-api-docs, ring:voice-and-tone,
ring:documentation-structure, ring:documentation-review, ring:dev-team-agents)
so the SKILL.md frontmatter conforms to the required skill invocation format.

---

Outside diff comments:
In `@default/skills/requesting-code-review/SKILL.md`:
- Around line 7-24: This file's frontmatter uses top-level fields (trigger,
NOT_skip_when, sequence, related); update it to match the other skills by moving
these fields under a top-level metadata block and rename NOT_skip_when to
skip_when to match the standard convention—ensure the metadata block contains
trigger, skip_when, sequence, and related with the same values and formatting as
the other SKILL.md examples so parsers/validators see a consistent schema.

In `@dev-team/skills/dev-devops/SKILL.md`:
- Line 20: Replace the malformed skill reference token "ring:dev-ring:sre" with
the correct unified namespace "ring:dev-sre" in the SKILL content (update the
literal string in the document where it appears); also search the repo for any
other occurrences of the same malformed token (notably the similar entry in the
unit-testing SKILL file) and fix them to "ring:dev-sre" so all skill references
use the unified namespace format.

In `@dev-team/skills/dev-frontend-performance/SKILL.md`:
- Around line 3-28: Rename the top-level title field to name and keep
description at top level; move the remaining top-level fields (category, tier,
when_to_use, trigger, NOT_skip_when, sequence, related) into a single metadata:
mapping so the file matches other SKILL.md files; ensure keys and values are
preserved exactly (e.g., NOT_skip_when stays as-is) and that sequence retains
its after/before arrays and related.complementary array under metadata.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 5f047232-97f5-433e-9684-9575ce67f9fd

📥 Commits

Reviewing files that changed from the base of the PR and between 7372014 and 7ff08a1.

📒 Files selected for processing (86)
  • default/skills/brainstorming/SKILL.md
  • default/skills/drawing-diagrams/SKILL.md
  • default/skills/executing-plans/SKILL.md
  • default/skills/exploring-codebase/SKILL.md
  • default/skills/gandalf-webhook/SKILL.md
  • default/skills/git-commit/SKILL.md
  • default/skills/interviewing-user/SKILL.md
  • default/skills/linting-codebase/SKILL.md
  • default/skills/production-readiness-audit/SKILL.md
  • default/skills/release-guide-info/SKILL.md
  • default/skills/requesting-code-review/SKILL.md
  • default/skills/session-handoff/SKILL.md
  • default/skills/systematic-debugging/SKILL.md
  • default/skills/test-driven-development/SKILL.md
  • default/skills/testing-agents-with-subagents/SKILL.md
  • default/skills/testing-anti-patterns/SKILL.md
  • default/skills/testing-skills-with-subagents/SKILL.md
  • default/skills/using-git-worktrees/SKILL.md
  • default/skills/using-ring/SKILL.md
  • default/skills/visual-explainer/SKILL.md
  • default/skills/writing-plans/SKILL.md
  • default/skills/writing-skills/SKILL.md
  • dev-team/skills/cycle-management/SKILL.md
  • dev-team/skills/dev-chaos-testing/SKILL.md
  • dev-team/skills/dev-cycle-frontend/SKILL.md
  • dev-team/skills/dev-cycle/SKILL.md
  • dev-team/skills/dev-delivery-verification/SKILL.md
  • dev-team/skills/dev-devops/SKILL.md
  • dev-team/skills/dev-feedback-loop/SKILL.md
  • dev-team/skills/dev-frontend-accessibility/SKILL.md
  • dev-team/skills/dev-frontend-e2e/SKILL.md
  • dev-team/skills/dev-frontend-performance/SKILL.md
  • dev-team/skills/dev-frontend-visual/SKILL.md
  • dev-team/skills/dev-fuzz-testing/SKILL.md
  • dev-team/skills/dev-goroutine-leak-testing/SKILL.md
  • dev-team/skills/dev-helm/SKILL.md
  • dev-team/skills/dev-implementation/SKILL.md
  • dev-team/skills/dev-integration-testing/SKILL.md
  • dev-team/skills/dev-migrate-v4/SKILL.md
  • dev-team/skills/dev-multi-tenant/SKILL.md
  • dev-team/skills/dev-property-testing/SKILL.md
  • dev-team/skills/dev-refactor-frontend/SKILL.md
  • dev-team/skills/dev-refactor/SKILL.md
  • dev-team/skills/dev-service-discovery/SKILL.md
  • dev-team/skills/dev-sre/SKILL.md
  • dev-team/skills/dev-unit-testing/SKILL.md
  • dev-team/skills/dev-validation/SKILL.md
  • dev-team/skills/using-dev-team/SKILL.md
  • finops-team/skills/infrastructure-cost-estimation/SKILL.md
  • finops-team/skills/regulatory-templates-gate1/SKILL.md
  • finops-team/skills/regulatory-templates-gate2/SKILL.md
  • finops-team/skills/regulatory-templates-gate3/SKILL.md
  • finops-team/skills/regulatory-templates-setup/SKILL.md
  • finops-team/skills/regulatory-templates/SKILL.md
  • finops-team/skills/using-finops-team/SKILL.md
  • pm-team/skills/delivery-status-tracking/SKILL.md
  • pm-team/skills/pre-dev-api-design/SKILL.md
  • pm-team/skills/pre-dev-data-model/SKILL.md
  • pm-team/skills/pre-dev-delivery-planning/SKILL.md
  • pm-team/skills/pre-dev-dependency-map/SKILL.md
  • pm-team/skills/pre-dev-design-validation/SKILL.md
  • pm-team/skills/pre-dev-feature-map/SKILL.md
  • pm-team/skills/pre-dev-feature/SKILL.md
  • pm-team/skills/pre-dev-full/SKILL.md
  • pm-team/skills/pre-dev-prd-creation/SKILL.md
  • pm-team/skills/pre-dev-research/SKILL.md
  • pm-team/skills/pre-dev-subtask-creation/SKILL.md
  • pm-team/skills/pre-dev-task-breakdown/SKILL.md
  • pm-team/skills/pre-dev-trd-creation/SKILL.md
  • pm-team/skills/using-pm-team/SKILL.md
  • pmo-team/skills/delivery-reporting/SKILL.md
  • pmo-team/skills/dependency-mapping/SKILL.md
  • pmo-team/skills/executive-reporting/SKILL.md
  • pmo-team/skills/pmo-retrospective/SKILL.md
  • pmo-team/skills/portfolio-planning/SKILL.md
  • pmo-team/skills/project-health-check/SKILL.md
  • pmo-team/skills/resource-allocation/SKILL.md
  • pmo-team/skills/risk-management/SKILL.md
  • pmo-team/skills/using-pmo-team/SKILL.md
  • tw-team/skills/api-field-descriptions/SKILL.md
  • tw-team/skills/documentation-review/SKILL.md
  • tw-team/skills/documentation-structure/SKILL.md
  • tw-team/skills/using-tw-team/SKILL.md
  • tw-team/skills/voice-and-tone/SKILL.md
  • tw-team/skills/writing-api-docs/SKILL.md
  • tw-team/skills/writing-functional-docs/SKILL.md

Comment on lines +8 to +16
related:
similar:
- dispatching-parallel-agents
- systematic-debugging
sequence_after:
- brainstorming
sequence_before:
- ring:writing-plans
- ring:executing-plans
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Move sequence keys out of related to a dedicated metadata.sequence block.

sequence_before/sequence_after are currently nested under metadata.related, which conflates two different concerns and can break schema-based consumers.

Suggested fix
 metadata:
   related:
     similar:
     - dispatching-parallel-agents
     - systematic-debugging
-    sequence_after:
-    - brainstorming
-    sequence_before:
-    - ring:writing-plans
-    - ring:executing-plans
+  sequence:
+    after:
+    - ring:brainstorming
+    before:
+    - ring:writing-plans
+    - ring:executing-plans

As per coding guidelines, "Skill definitions MUST include YAML frontmatter and use proper skill invocation format (ring:skill-name) in documentation and examples".

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
related:
similar:
- dispatching-parallel-agents
- systematic-debugging
sequence_after:
- brainstorming
sequence_before:
- ring:writing-plans
- ring:executing-plans
related:
similar:
- dispatching-parallel-agents
- systematic-debugging
sequence:
after:
- ring:brainstorming
before:
- ring:writing-plans
- ring:executing-plans
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@default/skills/exploring-codebase/SKILL.md` around lines 8 - 16, The
frontmatter wrongly places sequence_before and sequence_after under related;
create a new metadata.sequence mapping at the same top-level as related and move
sequence_before and sequence_after into it (e.g., metadata.sequence: {
sequence_before: [...], sequence_after: [...] }), remove them from related, and
ensure related.only contains the similar/related keys; also verify the SKILL.md
YAML frontmatter follows the required format and that all sequence entries use
the ring:skill-name invocation format (e.g., ring:writing-plans).

Comment on lines +8 to +15
similar:
- brainstorming
uses:
- doubt-triggered-questions
sequence:
before:
- brainstorming
- ring:writing-plans
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Normalize referenced skill names to ring: format.

This block mixes namespaced and non-namespaced skill identifiers. Use ring:... consistently in related and sequence references.

Suggested fix
   related:
     similar:
-    - brainstorming
+    - ring:brainstorming
     uses:
-    - doubt-triggered-questions
+    - ring:doubt-triggered-questions
   sequence:
     before:
-    - brainstorming
+    - ring:brainstorming
     - ring:writing-plans

As per coding guidelines, "Skill definitions MUST include YAML frontmatter and use proper skill invocation format (ring:skill-name) in documentation and examples".

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
similar:
- brainstorming
uses:
- doubt-triggered-questions
sequence:
before:
- brainstorming
- ring:writing-plans
similar:
- ring:brainstorming
uses:
- ring:doubt-triggered-questions
sequence:
before:
- ring:brainstorming
- ring:writing-plans
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@default/skills/interviewing-user/SKILL.md` around lines 8 - 15, The YAML
block mixes plain skill names with namespaced ones; update all referenced skill
identifiers so they use the ring: namespace consistently (e.g., change similar:
- brainstorming to similar: - ring:brainstorming, uses: -
doubt-triggered-questions to uses: - ring:doubt-triggered-questions, and in
sequence.before list replace brainstorming with ring:brainstorming and ensure
ring:writing-plans stays namespaced) so all entries under similar, uses and
sequence use the ring:skill-name format.

metadata:
related:
complementary:
- root-cause-tracing
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Use canonical skill invocation format in related metadata.

Line 9 uses a bare skill name (root-cause-tracing) instead of the required ring:skill-name format.

Suggested fix
   related:
     complementary:
-    - root-cause-tracing
+    - ring:root-cause-tracing

As per coding guidelines, */skills/*/SKILL.md definitions must “use proper skill invocation format (ring:skill-name) in documentation and examples.”

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- root-cause-tracing
related:
complementary:
- ring:root-cause-tracing
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@default/skills/systematic-debugging/SKILL.md` at line 9, Update the skill
invocation in SKILL.md: replace the bare name "root-cause-tracing" with the
canonical ring-prefixed form "ring:root-cause-tracing" (ensure any occurrences
in the file use ring:root-cause-tracing so examples/metadata follow the required
ring:skill-name format).

Comment on lines +50 to +53
related:
complementary:
- testing-anti-patterns
- verification-before-completion
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Use canonical ring: references in related skill links.

Lines 52-53 use bare skill names while other references in this file use ring:.... Keep one canonical format to avoid ambiguous resolution.

Suggested fix
   related:
     complementary:
-    - testing-anti-patterns
-    - verification-before-completion
+    - ring:testing-anti-patterns
+    - ring:verification-before-completion

As per coding guidelines, */skills/*/SKILL.md: “Skill definitions MUST include YAML frontmatter and use proper skill invocation format (ring:skill-name) in documentation and examples”.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
related:
complementary:
- testing-anti-patterns
- verification-before-completion
related:
complementary:
- ring:testing-anti-patterns
- ring:verification-before-completion
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@default/skills/test-driven-development/SKILL.md` around lines 50 - 53, The
YAML frontmatter under the related->complementary list uses bare skill names
("testing-anti-patterns", "verification-before-completion") instead of the
canonical ring:... format; update those entries to use the canonical invocation
(e.g., "ring:testing-anti-patterns" and "ring:verification-before-completion")
in the related.complementary array so the skill references are consistent with
other `ring:...` links and comply with the SKILL.md guidelines.

metadata:
related:
complementary:
- testing-skills-with-subagents
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Use canonical skill invocation format in related references.

testing-skills-with-subagents should use the ring: namespace for consistency and resolver compatibility.

Suggested fix
-    - testing-skills-with-subagents
+    - ring:testing-skills-with-subagents

As per coding guidelines, "Skill definitions MUST include YAML frontmatter and use proper skill invocation format (ring:skill-name) in documentation and examples".

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- testing-skills-with-subagents
- ring:testing-skills-with-subagents
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@default/skills/writing-skills/SKILL.md` at line 9, Update the reference
"testing-skills-with-subagents" in SKILL.md to the canonical invocation
"ring:testing-skills-with-subagents" and ensure the file includes the required
YAML frontmatter for the skill definition; locate the occurrence of
testing-skills-with-subagents in SKILL.md and replace it with
ring:testing-skills-with-subagents, and if YAML frontmatter (--- ... ---) is
missing at the top of SKILL.md, add the appropriate frontmatter fields per
project guidelines.

Comment on lines +9 to +17
- voice-and-tone
- documentation-structure
sequence:
after:
- writing-functional-docs
- writing-api-docs
skip_when: |
- Writing new documentation → use writing-functional-docs or writing-api-docs
- Only checking voice → use voice-and-tone
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Normalize referenced skill names to ring:skill-name.

Line 9, Line 10, Line 13, Line 14, Line 16, and Line 17 should use the canonical invocation prefix for consistency and tooling compatibility.

Proposed fix
   related:
     complementary:
-    - voice-and-tone
-    - documentation-structure
+    - ring:voice-and-tone
+    - ring:documentation-structure
   sequence:
     after:
-    - writing-functional-docs
-    - writing-api-docs
+    - ring:writing-functional-docs
+    - ring:writing-api-docs
   skip_when: |
-    - Writing new documentation → use writing-functional-docs or writing-api-docs
-    - Only checking voice → use voice-and-tone
+    - Writing new documentation → use ring:writing-functional-docs or ring:writing-api-docs
+    - Only checking voice → use ring:voice-and-tone

As per coding guidelines, */skills/*/SKILL.md: Skill definitions MUST include YAML frontmatter and use proper skill invocation format (ring:skill-name) in documentation and examples.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- voice-and-tone
- documentation-structure
sequence:
after:
- writing-functional-docs
- writing-api-docs
skip_when: |
- Writing new documentation → use writing-functional-docs or writing-api-docs
- Only checking voice → use voice-and-tone
- ring:voice-and-tone
- ring:documentation-structure
sequence:
after:
- ring:writing-functional-docs
- ring:writing-api-docs
skip_when: |
- Writing new documentation → use ring:writing-functional-docs or ring:writing-api-docs
- Only checking voice → use ring:voice-and-tone
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tw-team/skills/documentation-review/SKILL.md` around lines 9 - 17, The
referenced skill names in the YAML (items voice-and-tone,
documentation-structure, writing-functional-docs, writing-api-docs and the
entries under sequence.after and skip_when) must be canonicalized to the ring:
prefix; update each plain name to ring:voice-and-tone,
ring:documentation-structure, ring:writing-functional-docs,
ring:writing-api-docs (including in the sequence.after list and in the skip_when
bullet lines) so the SKILL.md uses the proper invocation format required by
skill tooling and YAML frontmatter conventions.

Comment on lines +9 to +13
- writing-functional-docs
- writing-api-docs
skip_when: |
- Writing content → use writing-functional-docs or writing-api-docs
- Checking voice → use voice-and-tone
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Fix skill reference namespace in metadata values.

Line 9, Line 10, Line 12, and Line 13 should use ring:skill-name instead of bare names to keep invocation format consistent.

Proposed fix
   related:
     complementary:
-    - writing-functional-docs
-    - writing-api-docs
+    - ring:writing-functional-docs
+    - ring:writing-api-docs
   skip_when: |
-    - Writing content → use writing-functional-docs or writing-api-docs
-    - Checking voice → use voice-and-tone
+    - Writing content → use ring:writing-functional-docs or ring:writing-api-docs
+    - Checking voice → use ring:voice-and-tone

As per coding guidelines, */skills/*/SKILL.md: Skill definitions MUST include YAML frontmatter and use proper skill invocation format (ring:skill-name) in documentation and examples.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tw-team/skills/documentation-structure/SKILL.md` around lines 9 - 13, The
metadata values in SKILL.md use bare skill names; update the entries
"writing-functional-docs", "writing-api-docs" and the two examples under
skip_when that reference "writing-functional-docs" and "voice-and-tone" to use
the invocation namespace format (ring:skill-name) instead of the bare names so
they read e.g. ring:writing-functional-docs, ring:writing-api-docs and
ring:voice-and-tone; ensure all four places match the ring:skill-name pattern in
the YAML frontmatter and examples (look for the tokens writing-functional-docs,
writing-api-docs, and voice-and-tone to replace).

Comment on lines +8 to +11
complementary:
- writing-functional-docs
- writing-api-docs
- documentation-review
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify the pattern across all SKILL.md files for consistency
rg -B2 -A5 "metadata:" -g "**/SKILL.md" | rg -A3 "complementary:" | head -80

Repository: LerianStudio/ring

Length of output: 4282


🏁 Script executed:

#!/bin/bash
# Check if there's documentation explaining ring: prefix usage
find . -name "*.md" -type f | xargs grep -l "ring:" | xargs grep -B2 -A2 "ring:" | head -100

Repository: LerianStudio/ring

Length of output: 7697


🏁 Script executed:

#!/bin/bash
# Check how complementary references are used in different sections
# Look at full context of complementary blocks across teams to understand pattern
echo "=== tw-team complementary pattern ===" 
cat tw-team/skills/voice-and-tone/SKILL.md | head -20

echo -e "\n=== pm-team complementary pattern ===" 
cat pm-team/skills/pre-dev-research/SKILL.md | head -20

echo -e "\n=== Check if metadata complementary vs content references differ ===" 
grep -A10 "complementary:" pmo-team/skills/risk-management/SKILL.md

Repository: LerianStudio/ring

Length of output: 1890


🏁 Script executed:

#!/bin/bash
# Check skip_when content to see if ring: is used there
echo "=== skip_when patterns ===" 
rg "skip_when" -A5 -g "**/SKILL.md" --max-count 20

Repository: LerianStudio/ring

Length of output: 43000


Add ring: prefix to skill references in metadata.related.complementary.

Lines 8-11 reference skills without the ring: prefix (writing-functional-docs, writing-api-docs, documentation-review), but pm-team consistently uses ring: prefix in metadata.related.complementary (e.g., ring:pre-dev-prd-creation, ring:pre-dev-trd-creation). Per the coding guideline on proper skill invocation format, update these to:

    complementary:
    - ring:writing-functional-docs
    - ring:writing-api-docs
    - ring:documentation-review
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tw-team/skills/voice-and-tone/SKILL.md` around lines 8 - 11, Update the
metadata.related.complementary entries to use the required ring: prefix so the
skill references match the team's invocation format; specifically change the
list items under complementary (currently "writing-functional-docs",
"writing-api-docs", "documentation-review") to "ring:writing-functional-docs",
"ring:writing-api-docs", and "ring:documentation-review" so the complementary
array in SKILL.md uses the same ring:<skill> convention as other entries.

Comment on lines +9 to +12
- writing-functional-docs
complementary:
- api-field-descriptions
- documentation-structure
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Prefix related skill identifiers with ring:.

Lines 9, 11, and 12 use non-namespaced skill identifiers; switch to canonical invocation format.

Suggested fix
   related:
     similar:
-    - writing-functional-docs
+    - ring:writing-functional-docs
     complementary:
-    - api-field-descriptions
-    - documentation-structure
+    - ring:api-field-descriptions
+    - ring:documentation-structure

As per coding guidelines, */skills/*/SKILL.md definitions must “use proper skill invocation format (ring:skill-name) in documentation and examples.”

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- writing-functional-docs
complementary:
- api-field-descriptions
- documentation-structure
related:
similar:
- ring:writing-functional-docs
complementary:
- ring:api-field-descriptions
- ring:documentation-structure
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tw-team/skills/writing-api-docs/SKILL.md` around lines 9 - 12, The skill
identifiers in the SKILL.md front-matter (the entries writing-functional-docs,
api-field-descriptions, and documentation-structure) are missing the required
namespace; update each to the canonical invocation format by prefixing with
ring: (i.e., ring:writing-functional-docs, ring:api-field-descriptions,
ring:documentation-structure) so the complementary/related skill list uses
ring-prefixed identifiers consistent with the skills invocation guidelines.

Comment on lines +9 to +19
- writing-api-docs
complementary:
- voice-and-tone
- documentation-structure
sequence:
before:
- documentation-review
skip_when: |
- Writing API reference → use writing-api-docs
- Reviewing documentation → use documentation-review
- Writing code → use dev-team agents
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Use ring: invocation format for referenced skills.

Line 9, Line 11, Line 12, Line 15, Line 17, and Line 18 currently reference skills without the required ring:skill-name format, which makes cross-skill references inconsistent.

Proposed fix
 metadata:
   related:
     similar:
-    - writing-api-docs
+    - ring:writing-api-docs
     complementary:
-    - voice-and-tone
-    - documentation-structure
+    - ring:voice-and-tone
+    - ring:documentation-structure
   sequence:
     before:
-    - documentation-review
+    - ring:documentation-review
   skip_when: |
-    - Writing API reference → use writing-api-docs
-    - Reviewing documentation → use documentation-review
+    - Writing API reference → use ring:writing-api-docs
+    - Reviewing documentation → use ring:documentation-review
     - Writing code → use dev-team agents

As per coding guidelines, */skills/*/SKILL.md: Skill definitions MUST include YAML frontmatter and use proper skill invocation format (ring:skill-name) in documentation and examples.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- writing-api-docs
complementary:
- voice-and-tone
- documentation-structure
sequence:
before:
- documentation-review
skip_when: |
- Writing API reference → use writing-api-docs
- Reviewing documentation → use documentation-review
- Writing code → use dev-team agents
metadata:
related:
similar:
- ring:writing-api-docs
complementary:
- ring:voice-and-tone
- ring:documentation-structure
sequence:
before:
- ring:documentation-review
skip_when: |
- Writing API reference → use ring:writing-api-docs
- Reviewing documentation → use ring:documentation-review
- Writing code → use dev-team agents
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tw-team/skills/writing-functional-docs/SKILL.md` around lines 9 - 19, The
referenced skills in the SKILL frontmatter are not using the required ring:
invocation format; update the complementary list (values: writing-api-docs,
voice-and-tone, documentation-structure), the sequence.before entry
(documentation-review), and all skill names inside skip_when (writing-api-docs,
documentation-review, dev-team agents) to use the canonical ring:skill-name form
(e.g., ring:writing-api-docs, ring:voice-and-tone, ring:documentation-structure,
ring:documentation-review, ring:dev-team-agents) so the SKILL.md frontmatter
conforms to the required skill invocation format.

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.

1 participant