Repository navigation
feat(MP-45292): align repo with Agent Plugins 1.0.0 packaging standard - #64
Open
annamalai-shan wants to merge 14 commits into
Open
annamalai-shan wants to merge 14 commits into
annamalai-shan wants to merge 14 commits into
Conversation
Two-tier spec orchestration for fw-dev-tools: - Tier 1 intent routing (6 Confluence intents + aliases) - Tier 2 agent-behaviour.md: disambiguation, session lifecycle, per-intent orchestration chains, guardrails, escalation, telemetry, preflight resume, knowledge map, plain-language UX - fw-session.schema.json + validation tests - copySpecs installer delivery to ~/.fw-dev-tools/specs/ - Golden-path scenario docs and orchestration tests
…ntracts, ecosystem map, telemetry)
Sync scripts meta template with shared _agent block, restore fw-review MANDATORY/never skip it wording for spec regex evals, and reference meta-init.sh in telemetry docs. Co-authored-by: Cursor <cursoragent@cursor.com>
Restructure fw-dev-tools to comply with the agent-plugins.org 1.0.0 specification for vendor-neutral skill + MCP packaging. - Add root plugin.json ($schema, name, version, extensions) and mcp.json ($schema, streamable-http transport) per spec - Rename client dirs to reverse-domain: .claude-plugin/ → io.anthropic.claude-code/, .cursor-plugin/ → com.cursor/, .codex-plugin/ → com.openai.codex/ - Consolidate per-skill .cursor-plugin/ and .claude-plugin/ dirs into com.cursor/skills-metadata.json and root SKILL.md discovery - Separate portable MCP config from client-specific auth overrides (io.anthropic.claude-code/mcp-overrides.json) - Update installer (claude.js, codex.js), bump-version.mjs, package.json - Update all tests (static, installer, bump-version) — 563/564 pass - Update documentation across 12 files - Maintain backward-compat .claude-plugin/ copy at install destination Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
annamalai-shan
requested review from
rapchic and
shivakumar-ashwin
as code owners
August 25, 2026 08:28
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
Harden session persistence and installer spec delivery so review feedback fails loudly in tests instead of touching real user state. Co-authored-by: Cursor <cursoragent@cursor.com>
…c and fw-app-dev SKILL.md Keeps installer/src/specs/fw-dev-tools-spec.md and skills/fw-app-dev/SKILL.md in sync with specs/agent-behaviour.md's exact deprecated-tool interceptor text, fixing the failing session-scripts.test.js consistency check in Installer tests and Static skill tests CI jobs. Co-authored-by: Cursor <cursoragent@cursor.com>
…5, orchestration-03/04) - fw-review-07: scenario tested a nonexistent 'sensitive:true + encrypted:false' concept mislabeled as IP-04A. The real IP-04A rule is about domain/host fields accepting an unstripped http(s):// scheme. Rewrote prompt to embed the actual rule text and a matching premise, following the same pattern already used by fw-review-12/13. - fw-review-25: prompt asked the model to judge CR-05L manually, but the loaded SKILL.md reference doc instructs the reviewer to run scripts/unused-library-imports.js for this rule, creating a conflict that made the model defer instead of reasoning directly. Added an explicit instruction to apply the rule's logic directly to the given code. - orchestration-03/04: asserted requires_confirmation_before_write=true for troubleshoot and update-existing intents, but per specs/agent-behaviour.md only create-new gates writes behind user confirmation (guardrail G1). troubleshoot auto-fixes immediately (escalates after 3 failed attempts) and update-existing implements scoped edits immediately, gating only publish behind confirmation (guardrail G5). Fixed assertions to match the documented, intentional differentiation. Verified: all 4 scenarios pass individually and the full orchestration suite (6/6) and fw-review-07/25 pass via cursor CLI. Co-authored-by: Cursor <cursoragent@cursor.com>
…DEBUG - orchestration-02-add-feature conflated 'read full tree before write' (guardrail G4) with 'ask user for confirmation before write', causing flaky pass/fail depending on model interpretation. Same root cause already fixed for orchestration-03/04. Disambiguate prompt + assertion: requires_confirmation_before_write is false for add-feature (confirmation is only required before publish, per G5). - Add FW_EVAL_DEBUG=1 env var to skill-eval-cli.js: on assertion failure, prints the raw model JSON output to stderr so scenario failures can be diagnosed without re-instrumenting the runner each time. Co-authored-by: Cursor <cursoragent@cursor.com>
…agent-plugins-1.0.0-alignment
annamalai-shan
changed the base branch from
ai/MP-44438/app-development-ai-agent
to
main
September 8, 2026 10:42
Restore root .cursor-plugin manifests (marketplace.json + plugin.json) so Cursor Import Marketplace can discover the five fw-* plugins from GitHub. Fix com.cursor plugin.json skills path for extension-dir resolution. Includes orchestration spec updates, agent-telemetry script expansion, and session script tests from the agent-plugins alignment branch work. Co-authored-by: Cursor <cursoragent@cursor.com>
Claude Code supports multiple skills under one plugin via a skills/ directory at the plugin root (auto-discovered), so the 5 separate per-skill marketplace listings were unnecessary duplication. - io.anthropic.claude-code/marketplace.json: collapse 5 plugins[] entries into 1, source: "." (repo root, which already has skills/<name>/SKILL.md for all 5 skills). Drops per-skill rulesPath/commandsPath — Claude auto-discovers skills/ at plugin root. - io.anthropic.claude-code/plugin.json: describe the bundled skill set. - installer/src/clients/claude.js: install/uninstall a single freshworks-dev-tools@freshworks-dev-tools plugin instead of looping claude plugin install <skill>@freshworks-dev-tools per skill. - AGENTS.md / CONTRIBUTING.md: update marketplace-listing-shape docs — Claude, Cursor, and Codex now all ship 1 consolidated plugin. - installer/tests/installer-lifecycle.test.js: fix listClaudePlugins() regex (was fw-* only, missed the new freshworks-dev-tools plugin name) and update assertions from "5 plugins" to "1 plugin". Verified locally: `claude plugin list` shows one freshworks-dev-tools@freshworks-dev-tools entry; `claude plugin details` confirms Skills (5): fw-ai-actions-app, fw-app-dev, fw-publish, fw-review, fw-setup. Installer suite: 180/180 passing. Co-authored-by: Cursor <cursoragent@cursor.com>
This branch has not been deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Restructure fw-dev-tools to comply with the agent-plugins.org 1.0.0 specification for vendor-neutral skill + MCP packaging.
Summary
Type of change
SKILL.md, command file, rule file).claude-plugin,.cursor-plugin,.codex-plugin,skills/*/.cursor-plugin)installer/)tests/,installer/tests/)Test checklist
Installer tests (required when
installer/changed)Static + regex evals (required for all PRs)
LLM evals (required when
SKILL.md, a command file, or.meta.template.jsonis modified)See When to run which layer in
tests/TESTING.md. Behavioral scenarios live intests/eval/scenarios/*.js(with matching regex checks intests/eval/regex/). Run via:Requires
claudeorcursoron PATH. In an agent session (recommended, no API key): "Run the skill evals".tests/eval/scenarios/(and matchingtests/eval/regex/fw-*.regex.test.mjsfor doc-regression checks)tests/all-tests-report.htmlbelow (or linked in PR description)Repo hygiene (when applicable)
AGENTS.mdrules/commands inventory updated (ifskills/*/rules/orskills/*/commands/changed)tests/TESTING.mdupdated (if eval scenarios added/renamed or layer layout changed)docs/engine-matrix.mdupdated (iffw-setuptoolchain pins changed)node scripts/bump-version.mjsrun after rootpackage.jsonversion bump (syncs plugin manifests +SKILL.md)Security
npm audit --audit-level=highpasses ininstaller/andtests/Not applicable
installer/— installer test checklist skippedCI (runs on PR automatically)
tests/npm testinstaller/npm test(Node 24)installer/+tests/lockfilesLLM evals and
tests/e2e/e2e.share local / agent session only — not in CI.Eval report