mcpField
S
spec-it

spec-it

github.com/goncalvesjoaoDevelopment014 installsUpdated 2w ago
Repository

About spec-it

A skill that uses Matt Pocock's `to-spec` skill to publish a specification as a GitHub issue, then applies and verifies required labels. It is for repository workflows that need a published spec and preserved issue triage state.

Key features

  1. 01Invokes the `to-spec` skill
  2. 02Publishes a spec as a GitHub issue
  3. 03Adds only missing labels
  4. 04Preserves existing triage labels
  5. 05Verifies issue labels and URL

Use cases

  1. 01Publishing a specification to GitHub
  2. 02Adding `spec` to a published issue
  3. 03Setting `status/todo` when no status label exists
  4. 04Resuming labeling without duplicating an issue

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/goncalvesjoao/ship-it --skill spec-it

After installing, type/spec-itin Claude Code to confirm it loaded.

Bundled filesagents/openai.yaml

Details

From the project README

Spec it

User questions

Before asking or relaying any user question, read and follow the user question rules.

Requires Matt Pocock's to-spec skill, its prerequisites, and authenticated GitHub CLI (gh).

  1. Locate and read the installed to-spec skill. Invoke it using the Skill tool when available; otherwise follow its SKILL.md. Preserve its exploration, test-seam confirmation, spec template, and triage labels, with GitHub as the publishing destination. If a prerequisite is missing or the target repository is ambiguous, report the blocker before publishing.

  2. Retain the published issue URL and resolve its repository and issue number. Continue only when to-spec has published a GitHub issue. On a resumed labeling attempt, reuse that issue instead of publishing another spec.

  3. Read the issue's current labels:

    gh issue view <issue-number> --repo <owner/repo> --json url,labels
    

    Add spec only if it is missing. Add status/todo only if no current label starts with status/. Preserve all existing labels, including any existing status and upstream triage labels.

  4. For each label that needs adding, check whether it exists in the repository. Create missing repository labels with gh label create <label> --repo <owner/repo>, preserving existing label settings. Add only the missing issue labels with gh issue edit <issue-number> --repo <owner/repo> --add-label <label>. Use explicit repository arguments and quote values safely.

  5. Fetch the issue labels again. Verify that spec is present and at least one label starts with status/. Return the issue URL and the resulting labels only after verification succeeds.

If labeling or verification fails, report the issue URL and incomplete operation. Inspect the current labels before retrying so recovery updates the existing issue without replacing its status or creating a duplicate.

Comments

Markdown supported