Create a Tessl plugin: turn agent workflows and guardrails into a versioned bundle of skills, rules, hooks, and MCP servers, then validate and publish it.
93
88%
Does it follow best practices?
Impact
95%
1.31xAverage score across 9 eval scenarios
Low
Low-risk findings worth noting
Use nativeHooks only for an agent-specific lifecycle event
Native hook tier selected
100%
100%
Agent-specific event represented
87%
100%
Bundled entrypoint anchored
0%
78%
Hook entrypoint ships
100%
100%
Native boundary justified
100%
100%
No false generic workaround
100%
100%
No direct Claude config edit
100%
100%
Valid plugin metadata
100%
100%
Build a cross-agent PostToolUse hook with a bundled entrypoint
Generic PostToolUse hook declared
100%
100%
Edit and Write matcher
100%
100%
Valid command hook shape
100%
100%
Plugin path anchored correctly
100%
100%
Hook entrypoint ships
100%
100%
Generic tier preferred
100%
100%
No prose-only substitute
100%
100%
No direct agent config edits
100%
100%
Valid plugin metadata
100%
100%
Build a plugin-bundled HTTP MCP server declaration
Root MCP file created
100%
100%
Valid MCP envelope
100%
100%
Correct HTTP server config
50%
100%
Explicit manifest pointer
0%
100%
Capability not prose
66%
100%
No credentials invented
100%
100%
No direct agent config edits
60%
100%
No unrelated primitives
25%
100%
Valid plugin metadata
100%
100%
Tessl plugin scaffolding conventions
Verb-form skill name
100%
100%
plugin.json name format
0%
100%
plugin.json semver version
100%
100%
plugin.json description present
100%
100%
SKILL.md description covers what
100%
100%
SKILL.md description covers when
50%
100%
References directory used
100%
100%
SKILL.md links to references
100%
100%
Single-skill shape chosen
100%
100%
plan.md justifies shape choice
100%
100%
Author location — avoid the .tessl/plugins install cache, use a repo-owned source dir
Source NOT under .tessl/plugins/
0%
100%
Repo-owned source directory used
0%
100%
Install cache left intact
50%
100%
Wired into tessl.json via file:
0%
0%
Valid plugin produced
80%
100%
Primitive selection and composition planning
Skill for PR review
100%
100%
Rule for import convention
100%
100%
MCP server for metrics API
50%
100%
Cross-agent hook for post-edit validation
33%
100%
Justification for each primitive
87%
100%
No padding
60%
100%
Plan is concise
70%
100%
Plugin shape stated
90%
100%
No secrets hard-coded for MCP
100%
100%
Skill vs rule distinction clear
100%
100%
Plugin publish checklist with provenance, visibility, lint, dry-run, auth, and versioning
Provenance concern raised
100%
100%
Public visibility confirmed
100%
100%
Public is irreversible warning
0%
100%
Lint step included
0%
100%
Dry-run step included
58%
100%
Auth requirement mentioned
0%
100%
Version bump step
100%
100%
Retirement via archive, not unpublish
40%
100%
Decompose monolithic skill into focused sub-skills
Benefit-led rationale
100%
83%
Independent verifiability mentioned
30%
100%
No eval-running
100%
100%
Verb-form skill names
0%
30%
One responsibility per skill
100%
100%
Shared material in references/
80%
80%
Orchestrator or explicit delegation
70%
80%
Cross-skill dependencies explicit
50%
50%
plugin.json present
100%
100%
Decomposition structure shown
100%
100%
Infer vs ask — context analysis without over-questioning
Identifies test gap
100%
100%
Identifies migration gap
100%
100%
Identifies smoke test gap
100%
100%
Identifies env var gap
100%
100%
No redundant questions
100%
70%
Questions target unknowns only
100%
80%
No fabricated evidence
100%
100%
Preserves original intent
100%
100%
Description has 'what'
100%
100%
Description has 'when'
100%
100%
Sources cited
100%
100%
No invented PR feedback
100%
100%
Table of Contents