brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
skill-authoringAuthor, audit, and improve Grafana SKILL.md files against Anthropic's published Agent Skills guidance and the four-dimension rubric the grafana/skills CI gate uses (conciseness, actionability, workflow clarity, progressive disclosure). Applies the canonical SKILL.md structure (YAML frontmatter + body + references/ + scripts/ + assets/), the "pushy descripti…
Independent GitHub snapshot · Automated classification · Original documentation governs
How to write, review, and improve SKILL.md files so they pass the repo's CI gate and score well against the Anthropic-aligned rubric Tessl uses.
references/*.md if approaching the limit. SKILL.md is the routing layer, not the entire knowledge base.SKILL.md → a.md → b.md. Claude may use head -100 previews on nested chains and miss content.MUST markers.actionability dimension scores this directly.name — anthropic and claude are forbidden in skill names.<details> "Old patterns" section for legacy info instead../scripts/lint-skills.sh skills/<plugin>/<your-skill> clean + Tessl score ≥75 (run tessl skill review --json <dir>).CI fails any PR where a touched SKILL.md scores below 75 on four 0-3 dimensions: conciseness, actionability, workflow clarity, progressive disclosure. Full per-dimension scoring + Anthropic-doc mapping in references/rubric.md.
The judge is an LLM and swings 7-10 points run-to-run. Local 94 commonly lands at CI 85. Ship only on three consecutive local 100s.
What product / domain does this skill belong to?
Pick the right plugin folder: grafana-core/, grafana-cloud/, grafana-lgtm/, grafana-app-sdk/, grafana-k6/, grafana-plugins/. If none fits cleanly, ask the user before creating a new plugin group (a new group requires updating three marketplace.json files).
Estimate body length.
SKILL.md, no bundleSKILL.md + references/<topic>.md for the long-form material500 lines → mandatory bundle split; see references/anatomy.md § Splitting strategies
Write a "pushy" description first. The description is the only thing always loaded into context. If agents don't trigger the skill, nothing else matters. See references/descriptions.md for the pattern.
Draft body with the four-dimension rubric in mind.
<details>, consider whether that content belongs in references/ instead (Progressive disclosure)Register in marketplace manifests.
Add the skill path to the skills array in all three:
.claude-plugin/marketplace.json.cursor-plugin/marketplace.json.agents-plugin/marketplace.jsonValidate locally.
# 1. Lint clean (0 errors)
./scripts/lint-skills.sh skills/<plugin>/<your-skill>
# 2. Tessl reviewScore ≥75 (the CI gate)
tessl skill review --json skills/<plugin>/<your-skill> | jq '.review.reviewScore'
# 3. If below 75 or you want ≥85: run --optimize (requires auth)
tessl skill review --optimize --yes --max-iterations 3 skills/<plugin>/<your-skill>
If the run fails: read the lint error / Tessl suggestion, fix, re-run. Don't open the PR until both checks pass cleanly. The feedback-loop pattern beats one-shot writing.
Read the judge's verbatim Suggestions text (non-JSON output):
tessl skill review skills/<plugin>/<name>
The Suggestions: block under each dimension names the exact sentences/sections to cut. Copy the suggestion — don't guess. Then verify the lowest dimension matches your read.
Apply the fix pattern from references/rubric.md:
references/*.mdIf the skill is intentionally a routing document (like grafana-k6/k6-docs), don't let --optimize inline the bundle back into SKILL.md. Hand-craft a minimal copy-paste "validation loop" inline so SKILL.md is independently actionable, while preserving the bundle.
Re-score five times locally. Don't stop until all five runs hit 100 — see "Score variance" above for why.
See references/anti-patterns.md.
references/descriptions.md — the pushy-description pattern + trigger-term checklistreferences/rubric.md — per-dimension scoring with Anthropic-doc citations and concrete fix patternsreferences/anatomy.md — three-level progressive disclosure, bundle layout, splitting strategiesreferences/anti-patterns.md — what NOT to do, with examples