Skip to content

feat(MP-45292): align repo with Agent Plugins 1.0.0 packaging standard - #64

Open
annamalai-shan wants to merge 14 commits into
mainfrom
ai/MP-45292/agent-plugins-1.0.0-alignment
Open

annamalai-shan wants to merge 14 commits into
mainfrom
ai/MP-45292/agent-plugins-1.0.0-alignment

Conversation

@annamalai-shan

Copy link
Copy Markdown
Collaborator

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

Summary

Type of change

  • Skill content (SKILL.md, command file, rule file)
  • Reference / template file
  • Plugin manifest (.claude-plugin, .cursor-plugin, .codex-plugin, skills/*/.cursor-plugin)
  • Installer (installer/)
  • Test suite (tests/, installer/tests/)
  • CI / docs / infra only

Test checklist

Installer tests (required when installer/ changed)

cd installer && npm install && npm test    # installer lifecycle tests
  • Installer tests pass locally

Static + regex evals (required for all PRs)

cd tests && npm install && npm test        # static + parser + regex evals — runs in CI
  • All tests pass locally

LLM evals (required when SKILL.md, a command file, or .meta.template.json is modified)

See When to run which layer in tests/TESTING.md. Behavioral scenarios live in tests/eval/scenarios/*.js (with matching regex checks in tests/eval/regex/). Run via:

cd tests && npm run eval                   # static + regex + LLM evals + HTML report
# or
bash tests/run-all-tests.sh --llm-eval

Requires claude or cursor on PATH. In an agent session (recommended, no API key): "Run the skill evals".

  • Reviewed / updated scenarios in tests/eval/scenarios/ (and matching tests/eval/regex/fw-*.regex.test.mjs for doc-regression checks)
  • Added new scenario(s) for any new behavioral rule or gate
  • LLM eval scenarios pass (or explained in summary why a failure is acceptable)
  • Attached tests/all-tests-report.html below (or linked in PR description)

Repo hygiene (when applicable)

  • AGENTS.md rules/commands inventory updated (if skills/*/rules/ or skills/*/commands/ changed)
  • tests/TESTING.md updated (if eval scenarios added/renamed or layer layout changed)
  • docs/engine-matrix.md updated (if fw-setup toolchain pins changed)
  • node scripts/bump-version.mjs run after root package.json version bump (syncs plugin manifests + SKILL.md)

Security

  • No secrets, tokens, or real credentials in the diff (use placeholders in docs)
  • If dependencies changed: npm audit --audit-level=high passes in installer/ and tests/

Not applicable

  • This PR does not modify skills, commands, or templates — LLM eval checklist skipped
  • This PR does not change installer/ — installer test checklist skipped
  • This PR does not add or change dependencies — audit checklist skipped

CI (runs on PR automatically)

Check What
Static + regex eval tests tests/npm test
Installer tests installer/npm test (Node 24)
Dependency review New deps — high/critical CVEs blocked
npm audit installer/ + tests/ lockfiles
Secret scan gitleaks (full git history)
CodeQL Org-level (if enabled)

LLM evals and tests/e2e/e2e.sh are local / agent session only — not in CI.


Eval report

annamalai-shan and others added 4 commits August 13, 2026 03:16
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
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>
@github-actions

github-actions Bot commented Aug 25, 2026 •

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

Annamalai Shanmugam and others added 6 commits September 2, 2026 16:38
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>
@annamalai-shan
annamalai-shan changed the base branch from ai/MP-44438/app-development-ai-agent to main September 8, 2026 10:42
annamalai-shan and others added 4 commits 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

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant