Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .claude-plugin/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "github-seo-skill",
"description": "Agent Skill for getting open-source GitHub repos found: audit, search-ready README, pre-publish secret scan and MCP registry submissions.",
"owner": {
"name": "Devkind",
"url": "https://devkind.com.au"
Expand Down
1 change: 1 addition & 0 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "github-seo-skill",
"displayName": "GitHub SEO Skill",
"description": "Agent Skill for GitHub SEO: repo audit, search-ready README, pre-publish secret scan, launch order and MCP registry submissions.",
"version": "0.1.0",
"author": {
Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,14 @@ python3 skills/github-seo/scripts/check_repo_seo.py owner/repo
It prints `PASS`, `WARN` or `FAIL` per check and exits non-zero on any `FAIL`. The social preview
image cannot be read or set through the CLI, so it is listed as a manual step.

## Network access and data

This repo collects no data and runs no server. The audit script only calls the GitHub CLI (`gh`)
you have logged in, using read-only requests. When the skill guides an MCP server submission, it
tells you to look up a server on the Official MCP Registry
(`https://registry.modelcontextprotocol.io`), and the publishing steps use the `mcp-publisher`
tool, which sends your server metadata to that registry. Nothing is sent unless you run those steps.

## How the advice is labelled

GitHub does not publish how its search ranks repositories, so every claim in the skill carries a label:
Expand Down
6 changes: 6 additions & 0 deletions assets/icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 5 additions & 4 deletions skills/github-seo/references/mcp-install-and-metadata.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,11 @@ Order: make the repo public first, push the image second, publish third. The `se
- `mcp-publisher login github` is an interactive device-code flow. The repo owner runs it.
- Org namespace gotcha [verified, 2026-11-02, observed from a real run]: the device flow grants
only the user's personal namespace. Publishing `io.github.<org>/<name>` returned 403 with
"You have permission to publish: io.github.<user>/*". The fix that worked:
`mcp-publisher login github --token "$(gh auth token)"`, where the `gh` token has the
`read:org` scope and the user is an org Owner or admin. The token is never printed or pasted.
Alternative: the GitHub Actions OIDC route (section 7). Never paste a PAT into a chat.
"You have permission to publish: io.github.<user>/*". The fix that worked was logging in with
a GitHub token that has the `read:org` scope, as a user who is an org Owner or admin. Run
`mcp-publisher login --help` for the token option, and supply the token yourself so it is never
printed or pasted. Alternative: the GitHub Actions OIDC route (section 7).
Never paste a token into a chat.
- `mcp-publisher` has no `validate` command [verified, 2026-11-02]. Its commands are `init`,
`login`, `logout`, `publish` and `status`. The registry validates on publish, and the 100 char
description limit is enforced by the schema.
Expand Down
Loading