Repository navigation
feat: move to MCP-only skills and prepare directory submissions #8
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
8 commits
Select commit
Hold shift + click to select a range
204c23d
feat(skills): use the MCP trade tools in trade-intelligence
dodeja cee6f4e
feat(skills): cover the current MCP tools and add record-updates
dodeja 0f0d544
test(evals): add fleet, write, document, and trade cases
dodeja ee2c7da
feat: add directory listing metadata and release 0.3.0
dodeja b1992ee
feat: build the OpenAI plugin directory ZIP
dodeja 11d23da
docs: describe the OAuth-only plugin and directory submissions
dodeja 371d314
fix: list ready-for-pickup containers in the review case
dodeja 6c4f252
fix: check image size and reject non-image binaries in validation
dodeja 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
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 |
|---|---|---|
|
|
@@ -2,3 +2,4 @@ | |
| node_modules/ | ||
| npm-debug.log* | ||
| plugins/terminal49/evals/results/ | ||
| dist/ | ||
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
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,52 @@ | ||
| { | ||
| "review": { | ||
| "test_cases": { | ||
| "positive": [ | ||
| { | ||
| "description": "List the containers that are ready for pickup with the dashboard definition", | ||
| "prompt": "Which of my containers are ready for pickup?", | ||
| "tools_triggered": "list_containers", | ||
| "expected_behavior": "Filters by current status available and reports the total for that set from meta.total, not the number of rows on one page, then lists the first containers with their terminals and last free days." | ||
| }, | ||
| { | ||
| "description": "List the containers that need attention", | ||
| "prompt": "Which of my containers need attention right now?", | ||
| "tools_triggered": "list_containers", | ||
| "expected_behavior": "Filters by requires_attention true sorted by attention priority, reports the total, and ranks the containers by last free day pressure, holds, and dwell without inventing fees." | ||
| }, | ||
| { | ||
| "description": "Break down containers by terminal", | ||
| "prompt": "Break down my containers by terminal.", | ||
| "tools_triggered": "summarize_containers", | ||
| "expected_behavior": "Groups actively tracked containers by POD terminal and reports the count for each terminal and the overall total." | ||
| }, | ||
| { | ||
| "description": "Identify a number without tracking it", | ||
| "prompt": "What kind of number is MEDU1234562, which carrier is it, and am I already tracking it?", | ||
| "tools_triggered": "identify_tracking_number", | ||
| "expected_behavior": "Reports the number type, whether the format and check digit are valid, the predicted carrier and its confidence, and whether the account already tracks it. It does not create a tracking request." | ||
| }, | ||
| { | ||
| "description": "Find the largest importers of a product", | ||
| "prompt": "Who are the largest US importers of office chairs?", | ||
| "tools_triggered": "search_commodities, rank_importers", | ||
| "expected_behavior": "Resolves office chairs to an HS4 code, names the code used, ranks importers by containers over full months, and notes that forwarders can appear in the list. The test account needs trade intelligence enabled." | ||
| } | ||
| ], | ||
| "negative": [ | ||
| { | ||
| "description": "Vague bulk tracking request without identifiers", | ||
| "prompt": "Track everything." | ||
| }, | ||
| { | ||
| "description": "Request to delete records, which no tool supports", | ||
| "prompt": "Delete all of my shipments from Terminal49." | ||
| }, | ||
| { | ||
| "description": "Vague bulk write without records or a value", | ||
| "prompt": "Change the drayage carrier on my containers." | ||
| } | ||
| ] | ||
| } | ||
| } | ||
| } | ||
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 |
|---|---|---|
|
|
@@ -2,10 +2,12 @@ | |
| "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json", | ||
| "name": "terminal49", | ||
| "displayName": "Terminal49", | ||
| "version": "0.2.0", | ||
| "description": "Track and investigate container shipments with Terminal49 MCP tools, and research US ocean import markets with Terminal49 trade intelligence.", | ||
| "version": "0.3.0", | ||
| "description": "Track and investigate container shipments, update shipment records, and research US ocean import markets with the Terminal49 MCP server.", | ||
| "author": { | ||
| "name": "Terminal49" | ||
| "name": "Terminal49", | ||
| "email": "[email protected]", | ||
| "url": "https://www.terminal49.com" | ||
| }, | ||
| "homepage": "https://terminal49.com", | ||
| "repository": "https://github.com/Terminal49/agent-plugins", | ||
|
|
@@ -18,6 +20,11 @@ | |
| "supply-chain", | ||
| "trade-intelligence" | ||
| ], | ||
| "icon": "./assets/icon.svg", | ||
| "documentationUrl": "https://terminal49.com/docs/mcp/home", | ||
| "supportUrl": "https://www.terminal49.com/contact", | ||
| "privacyPolicyUrl": "https://www.terminal49.com/privacy", | ||
| "termsOfServiceUrl": "https://www.terminal49.com/terms", | ||
| "skills": "./skills/", | ||
| "mcpServers": "./.mcp.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 |
|---|---|---|
| @@ -1,9 +1,11 @@ | ||
| { | ||
| "name": "terminal49", | ||
| "version": "0.2.0", | ||
| "description": "Track and investigate container shipments with Terminal49 MCP tools, and research US ocean import markets with Terminal49 trade intelligence.", | ||
| "version": "0.3.0", | ||
| "description": "Track and investigate container shipments, update shipment records, and research US ocean import markets with the Terminal49 MCP server.", | ||
| "author": { | ||
| "name": "Terminal49" | ||
| "name": "Terminal49", | ||
| "email": "[email protected]", | ||
| "url": "https://www.terminal49.com" | ||
| }, | ||
| "homepage": "https://terminal49.com", | ||
| "repository": "https://github.com/Terminal49/agent-plugins", | ||
|
|
@@ -20,18 +22,24 @@ | |
| "mcpServers": "./.mcp.json", | ||
| "interface": { | ||
| "displayName": "Terminal49", | ||
| "shortDescription": "Track container shipments and research US imports", | ||
| "longDescription": "Connect to Terminal49 and use guided workflows for container status, pickup readiness, holds, ETAs, routes, delays, and demurrage risk, plus trade-intelligence research on US ocean imports: competitors, sourcing, and market trends.", | ||
| "shortDescription": "Track containers and shipments", | ||
| "longDescription": "Connect your Terminal49 account to answer container and shipment questions in plain language: status, pickup readiness, holds, last free day, ETAs, routes, rail moves, delays, and demurrage risk. Count and list containers with the same definitions as the Terminal49 dashboard, find shipping documents, and update the drayage carrier, other parties, or custom fields when you ask. Accounts with trade intelligence can also research US ocean imports: what a company imports, who imports a product, and how volumes by port, carrier, and origin are changing. The plugin reads only the shipments and documents your Terminal49 account can see. It changes records only when you ask for a specific change.", | ||
| "developerName": "Terminal49", | ||
| "category": "Productivity", | ||
| "capabilities": [ | ||
| "Interactive", | ||
| "Write" | ||
| ], | ||
| "websiteURL": "https://terminal49.com", | ||
| "websiteURL": "https://www.terminal49.com", | ||
| "supportURL": "https://www.terminal49.com/contact", | ||
| "privacyPolicyURL": "https://www.terminal49.com/privacy", | ||
| "termsOfServiceURL": "https://www.terminal49.com/terms", | ||
| "defaultPrompt": [ | ||
| "Track a container or investigate the latest status of my shipments", | ||
| "Show what a competitor imports, from where, and how its volume is trending" | ||
| ] | ||
| "Which of my containers are ready for pickup?", | ||
| "Which of my containers need attention today?", | ||
| "Who are the largest US importers of office chairs?" | ||
| ], | ||
| "composerIcon": "./assets/icon.svg", | ||
| "logo": "./assets/icon.svg" | ||
| } | ||
| } | ||
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 |
|---|---|---|
| @@ -1,10 +1,12 @@ | ||
| { | ||
| "name": "terminal49", | ||
| "displayName": "Terminal49", | ||
| "version": "0.2.0", | ||
| "description": "Track and investigate container shipments with Terminal49 MCP tools, and research US ocean import markets with Terminal49 trade intelligence.", | ||
| "version": "0.3.0", | ||
| "description": "Track and investigate container shipments, update shipment records, and research US ocean import markets with the Terminal49 MCP server.", | ||
| "author": { | ||
| "name": "Terminal49" | ||
| "name": "Terminal49", | ||
| "email": "[email protected]", | ||
| "url": "https://www.terminal49.com" | ||
| }, | ||
| "homepage": "https://terminal49.com", | ||
| "repository": "https://github.com/Terminal49/agent-plugins", | ||
|
|
||
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For this exact “How many…” prompt, the new shared guidance in
references/fleet-queries.mddirects the agent tosummarize_containers, whose response exposestotal, while this submission declareslist_containers,meta.total, and listing rows as required behavior. An agent following the bundled skill can therefore return the correct count but fail the initial directory review case; either change this case to expectsummarize_containersor change the skill's count workflow.AGENTS.md reference: AGENTS.md:L23-L33
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in 371d314. The case now asks "Which of my containers are ready for pickup?", which the skill answers with list_containers and meta.total. "How many" questions stay with summarize_containers, as fleet-queries.md says. The OpenAI ZIP is rebuilt with the new case.