-
Notifications
You must be signed in to change notification settings - Fork 0
docs(plugin-creator): reduce agent thrash in build guidance (OPT-1590) #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
c2717a3
docs(plugin-creator): sharpen build guidance to reduce agent thrash (…
marc-tessl 681a18e
test(plugin-creator): add scenario-5 regression eval for author locat…
marc-tessl 696432c
docs(plugin-creator): address review — single default source dir, str…
marc-tessl b3278e5
docs(plugin-creator): make pack-check loop exit nonzero on a missing …
marc-tessl File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| { | ||
| "context": "Tests whether the agent authors a new plugin in a repo-owned source directory rather than under .tessl/plugins/, which is pre-seeded in the working directory as Tessl's installed-content cache (a populated tessl/pr-reviewer plugin). The agent must recognise that .tessl/plugins/ is a cache, not a source location, place the new plugin somewhere it controls and commits, leave the existing cache untouched, and validate with the correct lint command. This directly exercises the guidance added to build-composition to stop agents thrashing on where to author plugin source.", | ||
| "type": "weighted_checklist", | ||
| "checklist": [ | ||
| { | ||
| "name": "Source NOT under .tessl/plugins/", | ||
| "description": "The newly authored commit-writer plugin (its .tessl-plugin/plugin.json and skill SKILL.md) is NOT located anywhere under the .tessl/plugins/ directory. Authoring the new plugin inside .tessl/plugins/ is a hard failure for this item.", | ||
| "max_score": 35 | ||
| }, | ||
| { | ||
| "name": "Repo-owned source directory used", | ||
| "description": "The new plugin is authored in a repo-owned source directory the developer would commit — e.g. tessl-plugins/commit-writer/, plugins/commit-writer/, or another top-level project directory (including the working-directory root). Full marks for tessl-plugins/<name>/ or plugins/<name>/; partial credit for another sensible repo-owned location.", | ||
| "max_score": 25 | ||
| }, | ||
| { | ||
| "name": "Install cache left intact", | ||
| "description": "The pre-existing .tessl/plugins/tessl/pr-reviewer/ cache contents are left unmodified — the agent did not write its new plugin into, overwrite, or delete anything in the install cache.", | ||
| "max_score": 12 | ||
| }, | ||
| { | ||
| "name": "Wired into tessl.json via file:", | ||
| "description": "The new plugin is referenced from tessl.json as a local dependency using a file: path (e.g. file:tessl-plugins/commit-writer), confirming it is treated as committed, repo-owned source rather than installed content. This is filesystem-observable, unlike whether a lint command was run.", | ||
| "max_score": 18 | ||
| }, | ||
| { | ||
| "name": "Valid plugin produced", | ||
| "description": "A structurally valid plugin exists: a .tessl-plugin/plugin.json with name (tessl/commit-writer), version, and description, plus a skills/<verb-name>/SKILL.md with a frontmatter description.", | ||
| "max_score": 10 | ||
| } | ||
| ] | ||
| } |
7 changes: 7 additions & 0 deletions
7
...creator/evals/scenario-5/inputs/install-cache/tessl/pr-reviewer/.tessl-plugin/plugin.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| { | ||
| "name": "tessl/pr-reviewer", | ||
| "version": "1.2.0", | ||
| "description": "Review a pull request: check for logic bugs, style consistency, and security concerns, then summarise findings.", | ||
| "private": false, | ||
| "skills": "./skills/" | ||
| } |
12 changes: 12 additions & 0 deletions
12
...io-5/inputs/install-cache/tessl/pr-reviewer/skills/review-pull-request/SKILL.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| --- | ||
| name: review-pull-request | ||
| description: Use when reviewing a pull request, to check for logic bugs, style consistency, and security concerns and summarise the findings for the author. | ||
| --- | ||
|
|
||
| # Review a pull request | ||
|
|
||
| 1. Read the diff and understand what the change is trying to do. | ||
| 2. Check for logic bugs and missed edge cases. | ||
| 3. Check style consistency against the surrounding code. | ||
| 4. Flag security concerns (secrets, auth, input handling). | ||
| 5. Summarise findings grouped by severity, with concrete suggestions. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| { | ||
| "description": "Author location — avoid the .tessl/plugins install cache, use a repo-owned source dir", | ||
| "fixtures": { | ||
| "install-cache": { | ||
| "type": "directory", | ||
| "path": "./inputs/install-cache", | ||
| "installPath": ".tessl/plugins" | ||
| } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| # Package a commit-message skill as a Tessl plugin | ||
|
|
||
| ## Background | ||
|
|
||
| You are working inside an existing repository that already uses Tessl. The team | ||
| wants a reusable Tessl plugin that helps an agent write Conventional Commits | ||
| style commit messages: one skill that, given a staged diff, produces a properly | ||
| formatted commit message (type, optional scope, imperative summary, body, and | ||
| footer). | ||
|
|
||
| This is a simple, self-contained workflow, so a single skill is the right shape. | ||
|
|
||
| ## Your task | ||
|
|
||
| Create the plugin on disk in this repository, ready to validate: | ||
|
|
||
| - Scaffold a Tessl plugin named `commit-writer` in the `tessl` workspace, with a | ||
| single skill that writes Conventional Commits messages. | ||
| - Author the skill's `SKILL.md` with a strong description (what it does and when | ||
| to reach for it) and a few ordered steps. | ||
| - Run the appropriate Tessl CLI validation to confirm the plugin is structurally | ||
| sound. | ||
|
|
||
| Do not publish. Leave the finished plugin on disk in the repository. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.