chore: establish product manifest and remove stray marketplace declaration - #6
Merged
nextbridgehq merged 3 commits intoSep 14, 2026
Conversation
Adds .nextbridge/product.yaml, the source of truth the ecosystem's sync contract expects every product repository to carry (manifests/README.md: "product.yaml in the product repository is authoritative"). This file never existed in this repository's git history before this commit (verified exhaustively against git log --all across every branch and commit) - there is no prior version to recover. Content is copied byte-for-byte from the Nextbridge ecosystem's existing manifests/graphpowers.yaml snapshot, after independently verifying that snapshot against this repository's actual state: pyproject.toml (name, license, requires-python, CLI entry point, homepage), the real skills/ directory (11 skills, each with SKILL.md), and the absence of agents/, commands/, and .mcp.json matching the manifest's declared component counts. This establishes the ecosystem's existing representation as this repository's authoritative manifest going forward, rather than recovering anything that previously existed here.
.claude-plugin/marketplace.json declared a competing "graphpowers-marketplace", added in 6d24053 (2026-07-20) and never removed since. The plugin's own manifest (.claude-plugin/plugin.json) already correctly declares marketplace: nextbridge, and the canonical Nextbridge marketplace already lists this plugin - this file is a leftover competing declaration, not a needed one. The ecosystem's R-MK2 rule flags any product repository shipping its own marketplace file once that product has a synced manifest; this repository has had one since before this commit.
The prior commit removed .claude-plugin/marketplace.json (a stray competing marketplace declaration). This suite's MANIFESTS tuple still listed it, so CI failed on this branch checking for a file this same PR intentionally deletes. test_manifest_versions_match_pyproject already excludes marketplace.json from its own manifest list (it deliberately carries no version, by ecosystem design), so this test now matches that same precedent.
nextbridgehq
deleted the
fix/establish-product-manifest-remove-stray-marketplace
branch
September 21, 2026 14:24
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.
Summary
Two independent fixes, discovered while cross-checking this repository
against the Nextbridge ecosystem registry.
1. Establish
.nextbridge/product.yamlThe ecosystem's sync contract expects every product repository to carry a
.nextbridge/product.yamlas its own authoritative manifest, which theecosystem repository then caches as a byte-for-byte snapshot. This
repository never had that file — confirmed by searching every commit on
every branch in this repository's history. There was no prior version to
recover.
This commit adds it, copied byte-for-byte from the ecosystem's existing
manifests/graphpowers.yamlsnapshot, after independently verifying thatsnapshot against this repository's actual state:
pyproject.toml(name,license,
requires-python, CLI entry point, homepage), the realskills/directory (11 skills, each with
SKILL.md), and the absence ofagents/,commands/, and.mcp.jsonmatching the manifest's declared componentcounts. This establishes the ecosystem's existing representation as this
repository's authoritative manifest going forward — not a recovery of
anything that previously existed here.
2. Remove stray
.claude-plugin/marketplace.jsonThis file declared a competing
graphpowers-marketplace— added in6d24053(2026-07-20), never removed since. The plugin's own manifest(
.claude-plugin/plugin.json) already correctly declaresmarketplace: nextbridge, and the canonical Nextbridge marketplace alreadylists this plugin. This file was a leftover competing declaration.
Verification
.nextbridge/product.yamlis byte-identical to the ecosystem's currentmanifests/graphpowers.yaml.git diff main..HEAD --statconfirms exactly these two changes — one fileadded, one file removed, nothing else.
real content (see above) before being copied, not assumed correct.