CtrlK
BlogDocsLog inGet started
Tessl Logo

agent-project-board-sync

Agent skill for project-board-sync - invoke with $agent-project-board-sync

54

4.00x
Quality

30%

Does it follow best practices?

Impact

100%

4.00x

Average score across 3 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/agent-project-board-sync/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

32%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body reads as an auto-generated feature catalog: extensive and well-sectioned, but bloated, lacking any end-to-end workflow with validation, and riddled with corrupted URLs and dead references that break executability. It also embeds a duplicate YAML frontmatter block at the top of the body, indicating malformed document structure. Strongest aspects are the section organization and the density of concrete (if unverified) command examples.

Suggestions

Restructure around one or two end-to-end workflows (init → sync → verify) with explicit validation steps (e.g. `gh project item-list` to confirm sync state) before batch operations, and move the long command catalog to reference files.

Fix the corrupted URLs and paths ("https:/$api.example.com$github-sync", ".$swarm-issue.md") so snippets and cross-references actually resolve, and either create the referenced files or remove the links.

Cut low-value sections (Best Practices platitudes, Metrics & KPIs, duplicate near-identical command variants) to roughly a quarter of the current length, keeping one representative executable example per feature.

DimensionReasoningScore

Conciseness

The body is ~470 lines: a catalog of dozens of `npx ruv-swarm github ...` command variants plus padded sections like "Best Practices" ("Clear column definitions", "Training materials") and "Metrics & KPIs" that add no actionable information. It is noticeably verbose with several padded sections (anchor 2); it avoids anchor 1 only because it doesn't lecture about concepts Claude already knows — the padding is redundant command listings and platitudes rather than tutorial prose.

2 / 5

Actionability

Commands are concrete and specific (e.g. `gh project list --owner @me --format json | jq ...`, `npx ruv-swarm github board-sync --auto-move-cards --update-metadata`), but many snippets are not executable as written: corrupted URLs ("https:/$api.example.com$github-sync", "https:/$github.com$GITHUB_REPOSITORY$issues/$issue"), `$PROJECT_ID` used in later sections without being defined, and a long tail of unverifiable ruv-swarm subcommand flags. This lands on anchor 3 — concrete guidance present but incomplete and not reliably copy-paste ready.

3 / 5

Workflow Clarity

The body is organized by feature category, not as a sequence: there is no ordered workflow connecting board-init → sync → verify, and no validation checkpoints anywhere despite covering batch and destructive operations (bulk ops, auto card movement, bidirectional sync, data recovery) — the rubric explicitly caps such skills at 3, and this is below even that cap since the "rough sequence" (anchor 2) exists only in isolated fragments like the issue-import snippet. It does not reach anchor 1 because sections are individually coherent, not incoherent.

2 / 5

Progressive Disclosure

This is effectively a monolithic catalog: ~470 lines of command examples that clearly belong in split reference files, with no bundle files provided (no references/, scripts/, or assets/ directories exist). The only cross-references — "See also: [swarm-issue.md](.$swarm-issue.md), [multi-repo-swarm.md](.$multi-repo-swarm.md)" — use mangled paths (`.$` instead of `./`) and point to nonexistent files, so navigation is broken. Anchor 2 ("content that clearly belongs in separate files is inlined; or references are buried") fits; not 3 because the sole references present are dead links rather than merely unclear.

2 / 5

Total

9

/

20

Passed

Description

28%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The frontmatter description is a placeholder-like slug reference with no capability statement and no usage trigger. It fails to tell the user (or Claude) what the skill does or when to invoke it. Note the file also contains a second, better description ("Synchronize AI swarms with GitHub Projects for visual task management, progress tracking, and team coordination") buried in a duplicate YAML block in the body, which suggests a malformed double-frontmatter rather than a deliberate choice.

Suggestions

Replace the description with a capability statement, e.g. "Synchronize AI swarm tasks with GitHub Projects boards: map statuses to columns, auto-assign cards, and track progress."

Add an explicit trigger clause: "Use when the user mentions GitHub Projects, project boards, card syncing, or visualizing swarm/task progress."

Remove the duplicate inner YAML frontmatter block from the body so only one canonical description exists in the actual frontmatter.

DimensionReasoningScore

Specificity

The description is only "Agent skill for project-board-sync - invoke with $agent-project-board-sync"; it names the domain via the slug but lists zero concrete actions or capabilities (no mention of boards, syncing, tracking, or coordination). It sits above anchor 1 ("Entirely vague; no concrete actions") only because the domain name is present, but well below anchor 3, which requires 1-2 concrete actions.

2 / 5

Completeness

It has a vague 'what' ("Agent skill for project-board-sync") and no 'when' / "Use when..." clause whatsoever, exactly matching anchor 2. It cannot reach anchor 3 because the 'what' never states what the skill actually does, and the missing trigger guidance caps completeness per the rubric guidelines.

2 / 5

Trigger Term Quality

The only keywords are the repeated slug "project-board-sync" / "$agent-project-board-sync" — technical jargon, not natural user phrasing like "GitHub Projects", "board", "sync cards", or "task tracking". That matches anchor 2 ("one or two generic keywords; missing the natural phrases users say") better than anchor 1 only because the domain term is present at all.

2 / 5

Distinctiveness Conflict Risk

Tying the description to a specific named skill ("project-board-sync") gives it some distinctiveness, but with no capability or trigger language it could overlap with any project-management, task-tracking, or GitHub skill. Anchor 3 ("somewhat specific but could still overlap with similar skills") is the best fit; not 4 because nothing distinguishes it from adjacent GitHub/tooling skills.

3 / 5

Total

9

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (514 lines); consider splitting into references/ and linking

Warning

relative_links

Relative link issues: 2 missing

Warning

Total

14

/

16

Passed

Repository
ruvnet/ruflo
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.