Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Github Publish

ASecurity

Use quando um roadmap pwdev-roadmap/1 (roadmap.json) precisar ir para o GitHub — 'publicar o roadmap', 'criar as issues do roadmap', 'publish roadmap.json' — com issues, sub-issues, milestones, blocked-by e campos do Project, com dry-run, idempotente e retomável. Não use para uma issue avulsa (github-issues).

3 stars
0 votes
0 copies
0 views
Added 9/28/2026
businesspythongobashgit

Security Analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned 9/28/2026

$npx -y skills add pwdev-solucoes/pwdev-claude-marketplace --skill github-publish --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Github Publish?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Github Publish
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pwdev-solucoes-github-publish/badge)](https://www.skillsdirectory.com/skills/pwdev-solucoes-github-publish)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: github-publish
description: >
  Use quando um roadmap pwdev-roadmap/1 (roadmap.json) precisar ir para o GitHub — 'publicar o
  roadmap', 'criar as issues do roadmap', 'publish roadmap.json' — com issues, sub-issues,
  milestones, blocked-by e campos do Project, com dry-run, idempotente e retomável. Não use para
  uma issue avulsa (github-issues).
metadata:
  version: 0.1.0
---

# Roadmap → GitHub

Nada é escrito no GitHub antes do dry-run e de um "sim" explícito.

`GHP="<plugin-root>/scripts/ghp.py"` · contrato do roadmap em
`<plugin-root>/references/roadmap-contract.md`.

## 1. Entrada
`os argumentos` = caminho do `roadmap.json`. Leia o arquivo: `schema` deve ser
`pwdev-roadmap/1`. Se o roadmap vier do pwdev-prd, ele já passou pelo `roadmap-check.py` e
pelo gate de aprovação — não repita.

## 2. Destino
De `.planning/github.json`: `repo`, `owner`, `project.number`, `project.spec`.
- Sem config → siga a skill `github-init` primeiro.
- Sem Project → ofereça: `1. Criar agora (skill github-project)` · `2. Escolher um existente`.

## 3. Mapeamento e opções
Apresente o padrão e pergunte se quer mudar (uma pergunta):

```
Como publicar o roadmap "{título}" ({F} features, {T} tasks, {E} dependências)?
1. Padrão       — Fase=Milestone · Épico=issue · Feature=sub-issue do épico · Tasks=checklist na feature
2. Tasks viram issues — como o padrão, e cada Task vira sub-issue da feature
3. Enxuto       — só Features viram issues (fase e épico ficam no corpo e nos campos)
Histórias de usuário ({S}, {R} ready): no corpo da feature [padrão] · como sub-issues da feature
Extras: labels (type:*, priority:*, prd:<slug>) [sim] · milestones por fase [sim]
```

Mapeamento → `--mapping default | task-issues | flat`; histórias → `--stories body | issues`
(a linha de histórias só aparece se o roadmap tiver `stories`); extras desligados →
`--no-labels` / `--no-milestones`. No corpo, cada história leva a frase "Como…, quero…, para…",
os CA como checklist (Gherkin em bloco) e as RN com regra e exemplo; como sub-issue, a história
ganha label `type:story` (e `status:draft` enquanto não estiver ready), Tipo=História no Project
e "blocked by" entre histórias conforme `depends_on`.

## 4. Dry-run (obrigatório)

```bash
python3 "$GHP" publish --roadmap "<roadmap.json>" --owner "<owner>" --repo "<repo>" \
  --number <n> --mapping <m> --stories <body|issues> [--no-labels] [--no-milestones] --dry-run
```

Resuma o JSON (não cole inteiro):

```
Publicação em {repo} · Project #{n}
  Issues:        {create} novas · {update} atualizadas · {unchanged} sem mudança
  Sub-issues:    {n}      Blocked-by: {n}      Milestones: {lista}
  Labels:        {lista} (as que não existirem serão criadas)
  Mapa:          .planning/github/{slug}.map.json
Publicar? (s/n)
```

Se `create`, `update`, vínculos e milestones estiverem todos vazios: "Nada a publicar" e PARE.

## 5. Publicação
Mesmo comando sem `--dry-run`, com `--spec <project.spec>` quando existir (resolve campos
renomeados). A saída é JSON:

- `status: OK` → mostre URL do Project, contagens e o log resumido. Se houver
  `fallback_blocked_by > 0`, explique: o repositório não aceita dependências nativas, então
  o bloqueio virou comentário "Bloqueada por #N".
- `status: FAILED` → mostre o erro e diga que **rodar o mesmo publish retoma** de onde parou
  (o mapa guarda cada passo concluído). Causas comuns: scope `project` ausente
  (`! gh auth refresh -s project`), sem permissão de escrita no repo, rate limit.

## 6. Depois
- Sugira commitar `.planning/github/{slug}.map.json` com o roadmap (outro dev continua o
  publish sem duplicar issues).
- Republicar após revisar o roadmap atualiza título/corpo das issues alteradas e cria só o
  que falta; nunca fecha nem apaga issues que saíram do roadmap — liste-as como
  "órfãs" (IDs no mapa que não estão mais no roadmap) e ofereça fechá-las pela skill
  `github-issues`, com confirmação.

## Proibições
- NUNCA publicar sem dry-run e confirmação
- NUNCA editar o mapa à mão para "forçar" recriação — issues duplicadas não somem sozinhas
- NUNCA apagar issues ou Projects; no máximo fechar/arquivar, com pedido explícito

Idioma: responda no idioma de `.planning/config.json` (`lang`); sem config, no idioma do usuário. Caminhos `<plugin-root>/...`, `references/`, `scripts/` e `templates/` são relativos à raiz do plugin; nomes de ferramentas e a forma de citar comandos dependem do runtime (`references/runtime.md`).

Attribution

pwdev-solucoespwdev-solucoes
View sourceSee grades on GitHubMore from pwdev-solucoes →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Email Composer

Draft professional emails for various contexts including business, technical, and customer communication. Use when the user needs help writing emails or composing professional messages.

304952 votes

Solution Architect

Designs system architecture, component specifications, and technical integration strategy. Use when: designing solutions, system architecture, technology stack, or integration approaches.

192 votes

Akorchak:Venture Assessment

Generate a comprehensive VC investment assessment report for a company

72 votes

Telegram Compose

Compose rich, readable Telegram messages using HTML formatting via direct Telegram API. Use when: (1) Sending any Telegram message beyond a simple one-line reply, (2) Creating structured messages with sections, lists, or status updates, (3) Need formatting unavailable via Clawdbot's Markdown conversion (underline, spoilers, expandable blockquotes, user mentions by ID), (4) Sending alerts, reports, summaries, or notifications to Telegram, (5) Want professional, scannable message formatting wit...

6511 votes

Just Fucking Cancel

Find and cancel unwanted subscriptions by analyzing bank transactions. Detects recurring charges, calculates annual waste, and helps you cancel with direct URLs and browser automation. Use when: 'cancel subscriptions', 'audit subscriptions', 'find recurring charges', 'what am I paying for', 'save money', 'subscription cleanup', 'stop wasting money'. Supports CSV import (Apple Card, Chase, Amex, Citi, Bank of America, Capital One, Mint, Copilot) OR Plaid API for automatic transaction pull. Out...

6511 votes
View all in business →