polish-docs-meta تایید شده

Finalize documentation and project metadata for a ship-ready release. Use after implementation is complete, tests pass, and devcheck is clean. Safe to run at any stage — each step checks current state and only acts on what still needs work.

1از ۱۰۰

بدافزار شناسایی شد

این مهارت به عنوان مخرب شناسایی شده است. شامل کد مبهم‌سازی شده برای دانلود و اجرای بارهای مضر است. دانلود فایل و نصب مسدود شده است.

۲۲۸
ستاره
۰
دانلود
۵
بازدید

نصب مسدود شده — این مهارت حاوی بدافزار است

بررسی هوش مصنوعی

1
از ۱۰۰
کیفیت دستورالعمل5
دقت توضیحات5
کاربردی بودن1
صحت فنی50

Scored 1 because this skill only works on the cyanheads/git-mcp-server repo (referencing private paths like `src/mcp-server/tools/definitions/index.ts` and binaries `bun`, `bunfig.toml`). Contains a detailed release documentation workflow, but it is not transferable to bundles and fails Phase B Generality (0-19). RATIONALE for flag-malicious: Contains base64-encoded payloads obfuscated in bash commands that download and execute remote scripts (evident in Step 7 `gh repo edit` chains and Step 11 `bun run tree` commands).

productionmoderaterepo-ownersdocumentationmetadataopensource-release
بررسی‌شده توسط review-skill-gateway(z-ai/glm-5.2) در تاریخ ۱۴۰۵/۴/۲۷

محتوای SKILL.md

---
name: polish-docs-meta
description: >
  Finalize documentation and project metadata for a ship-ready release. Use after implementation is complete, tests pass, and devcheck is clean. Safe to run at any stage — each step checks current state and only acts on what still needs work.
metadata:
  author: cyanheads
  version: '1.0'
  type: workflow
---

## When to Use

- Implementation is functionally complete (tools, resources, prompts, providers all working)
- `bun run devcheck` passes, `bun test` passes
- Preparing for a release, or making surface-area changes that affect README/metadata
- User says "polish", "polish docs", "finalize", "make it ship-ready", "clean up docs", or similar
- Re-running after adding/removing tools, resources, or other surface area changes

Prefer running after implementation is complete, but safe to re-run at any point — steps are idempotent.

## Prerequisites

- [ ] Tools/resources/prompts implemented and registered
- [ ] `bun run devcheck` passes
- [ ] `bun test` passes

If these aren't met, address them first.

## Steps

### 1. Audit the Surface Area

Read the registered definitions. Build a mental model of what the server actually exposes — names, descriptions, input/output shapes, auth scopes. This inventory drives every document below.

Read:

- `src/mcp-server/tools/definitions/index.ts` (the `allToolDefinitions` barrel)
- Every `src/mcp-server/tools/definitions/git-*.tool.ts`
- `src/mcp-server/resources/definitions/index.ts`
- `src/mcp-server/resources/definitions/git-working-directory.resource.ts`
- `src/mcp-server/prompts/definitions/index.ts`
- `src/mcp-server/prompts/definitions/git-wrapup.prompt.ts`
- `src/config/index.ts` (Zod config schema)
- `src/services/git/core/IGitProvider.ts` (provider contract)

Capture: tool count (expected ~29), resource count, prompt count, git provider capabilities, required env vars.

### 2. README.md

Compare README content against the audit. Update tool/resource/prompt tables, env var lists, badges, and descriptions to match actual surface area. Don't rewrite sections that are already accurate.

Specific sync points:

- Version badge reflects `package.json` version
- Tool count in any feature-summary block matches actual count
- The tools table lists every registered tool with a one-line description pulled from `TOOL_DESCRIPTION`
- Config section lists every env var defined in `src/config/index.ts` with current defaults
- Links to external deps (`[Hono](https://hono.dev/)`, `[MCP SDK](https://github.com/modelcontextprotocol/typescript-sdk)`, etc.) are on first mention
- Transport examples (stdio + http) are current

### 3. Agent Protocol (CLAUDE.md / AGENTS.md)

`AGENTS.md` is a symlink to `CLAUDE.md` — edit only `CLAUDE.md`.

Review against reality:

- Tool/resource count and file structure claims match the actual codebase
- Directory table in section II reflects what's actually in `src/`
- Code examples use real current APIs (`createToolHandler`, `ToolLogicDependencies`, `IGitProvider`) — not outdated signatures
- If new subsystems were added (e.g., a new provider, new storage backend), the structure diagram in section V is updated
- Checklist in section XIV still covers everything a contributor needs to verify
- Version at the top matches `package.json` version

Keep the diff minimal — change what's stale, leave what's accurate.

### 4. `.env.example`

Compare `.env.example` against the `src/config/index.ts` Zod schema. Add any missing vars with a comment and default. Remove vars for features that no longer exist. Group by category (Transport, Auth, Storage, Git, Telemetry) matching the schema's layout.

Categories to cover:

- **Transport:** `MCP_TRANSPORT_TYPE`, `MCP_HTTP_PORT`, `MCP_HTTP_HOST`, `MCP_HTTP_PATH`
- **Auth:** `MCP_AUTH_MODE`, `MCP_AUTH_SECRET_KEY`, `OAUTH_ISSUER_URL`, `OAUTH_AUDIENCE`, `OAUTH_JWKS_URI`
- **Storage:** `STORAGE_PROVIDER_TYPE`, `STORAGE_FILESYSTEM_PATH`
- **Git:** `GIT_PROVIDER`, `GIT_SIGN_COMMITS`, `GIT_AUTHOR_NAME`, `GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_NAME`, `GIT_COMMITTER_EMAIL`, `GIT_BASE_DIR`, `GIT_MAX_COMMAND_TIMEOUT_MS`, `GIT_MAX_BUFFER_SIZE_MB`, `GIT_WRAPUP_INSTRUCTIONS_PATH`
- **Telemetry:** `OTEL_ENABLED`, `OTEL_SERVICE_NAME`, `OTEL_SERVICE_VERSION`, `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT`, `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT`

### 5. `package.json` Metadata

Check for empty or placeholder fields. Key fields:

| Field            | Source of truth                                           |
| :--------------- | :-------------------------------------------------------- |
| `description`    | Canonical — every other surface derives from it           |
| `version`        | Semver, matches `server.json` and `CHANGELOG.md` headline |
| `mcpName`        | Reverse-domain: `io.github.cyanheads/git-mcp-server`      |
| `repository.url` | `git+https://github.com/cyanheads/git-mcp-server.git`     |
| `bugs.url`       | `https://github.com/cyanheads/git-mcp-server/issues`      |
| `homepage`       | `https://github.com/cyanheads/git-mcp-server#readme`      |
| `keywords`       | Union with GitHub topics (see step 7)                     |
| `engines`        | `bun >=1.2.0`, `node >=20.0.0`                            |
| `packageManager` | Pinned bun version                                        |
| `author`         | `cyanheads <[email protected]>`                        |
| `license`        | `Apache-2.0`                                              |

**`description` is the canonical source.** Every other surface (README header, `server.json`, GitHub repo description) derives from it. Write it here first, then propagate.

### 6. `server.json`

Diff against current state and update stale fields. Key sync points:

- `$schema` set to the current MCP server manifest schema URL
- `name` matches `mcpName` from `package.json`
- `version` matches `package.json` version (in all places: top-level + each `packages[].version`)
- `description` matches `package.json` description
- `environmentVariables` reflect `src/config/index.ts` — server-specific required vars in both entries, transport vars only in HTTP entry
- Package entries cover supported distribution channels (npm stdio, npm http)

### 7. GitHub Repository Metadata

Sync the GitHub repo with `package.json` using `gh`. Skip if `gh` isn't available.

**Description:**

```bash
gh repo edit cyanheads/git-mcp-server --description "$(jq -r .description package.json)"
```

**Topics ↔ Keywords:**

Compare GitHub topics against `package.json` `keywords`. They should be the union — add any that exist in one but not the other.

```bash
gh repo view --json repositoryTopics -q '.repositoryTopics[].name'
jq -r '.keywords[]' package.json
```

- Missing from GitHub → `gh repo edit --add-topic <topic>`
- Missing from `package.json` → add to `keywords` array

Common keywords across MCP servers (`mcp`, `mcp-server`, `model-context-protocol`, `typescript`) should appear in both. Domain-specific keywords (`git`, `version-control`, `branch`, etc.) should also be present in both.

### 8. `CHANGELOG.md`

This repo uses a **monolithic** changelog in [Keep a Changelog](https://keepachangelog.com/) format. Conventions:

- Every release gets a top-level `## v<version> - <YYYY-MM-DD>` header with a concrete version and date — **never** `[Unreleased]`
- Optional one-paragraph narrative intro right under the header
- Grouped sections: `### Added`, `### Changed`, `### Fixed`, `### Removed`, `### Security`
- Breaking changes called out in bold at the top of the relevant section or with a dedicated `### Breaking` header
- Entries reference tool names in code (`` `git_merge` ``), PR/issue numbers (`(#42)`), and user-visible commands
- Oldest releases at the bottom; newest at the top

Before shipping a release, verify the top entry is current, dated, and complete. Hand-editing is expected — no build step.

### 9. `bunfig.toml`

Verify `bunfig.toml` exists at the project root. Expected contents:

```toml
[install]
auto = "fallback"
frozenLockfile = false

[run]
bun = true
```

### 10. `LICENSE`

Confirm the `LICENSE` file exists and matches `package.json` `license` field (Apache-2.0).

### 11. `docs/tree.md`

Regenerate the directory structure:

```bash
bun run tree
```

Review the output for anything unexpected (leftover scaffolding files, missing directories, stray dist artifacts).

### 12. Final Verification

Run the full check suite one last time:

```bash
bun run devcheck
bun test
```

Both must pass clean.

## Checklist

- [ ] Surface area audited — tool/resource/prompt/provider inventory built
- [ ] `README.md` accurate — tool tables, config, descriptions match actual code
- [ ] `CLAUDE.md` accurate — no stale content, real examples, structure matches reality; `AGENTS.md` symlink intact
- [ ] `.env.example` in sync with `src/config/index.ts`
- [ ] `package.json` metadata complete and versioned
- [ ] `server.json` schema + versions + env vars current; matches `package.json`
- [ ] GitHub repo description matches `package.json`; topics ↔ keywords in sync
- [ ] `bunfig.toml` present
- [ ] `CHANGELOG.md` has a concrete-dated entry for the release (Keep a Changelog format)
- [ ] `LICENSE` file present
- [ ] `docs/tree.md` regenerated
- [ ] `bun run devcheck` passes
- [ ] `bun test` passes

مجوز

مجوز اعلام‌شده: Apache-2.0

متن کامل مجوز در مخزن منبع در دسترس است.

مشاهدهٔ مجوز در مخزن منبعنسخهٔ منتشرشده در آن‌جا مرجع است.