publish

Publishes validated markdown documents to vaults, repos, GitHub issues, PRs, sessions, or Notion.

Updated May 3, 2026
One-click install
npx skills add https://github.com/Claudfather/clauDNA --skill publish-claudfather
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: publish
Source: https://github.com/Claudfather/clauDNA/tree/main/skills/publish
Command: npx skills add https://github.com/Claudfather/clauDNA --skill publish-claudfather

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Finished markdown documents — plans, audits, reviews, retros, decisions, knowledge pages — often die in scratch directories because routing them to the right destination (a shared vault, a repo's documentation tree, a GitHub issue, a PR description, or Notion) is manual and inconsistent. This Skill acts as the single output sink: it validates house-style frontmatter and body skeletons, deduplicates per medium, and routes one manuscript to whichever destination the caller requests. ## Core Features & Use Cases - Multi-destination adapters: Publish the same markdown source to a shared-docs vault (with Claudron engine detection and raw-tree fallback), a repo's documentation/ tree, a GitHub issue, a PR description, the chat session, or a Notion page. - Deep validation before publishing: Enforces frontmatter schema (title, type, status, owner, created) and per-type body skeletons, including a hard gate on the Implementation Plan section that downstream build automation depends on. - Bounded GitHub dedup: Runs three deliberately varied lexical searches against open issues, checks counts against query limits to avoid false negatives, and supports in-place issue body updates via --update. - Use Case: After an audit skill produces a findings document with valid frontmatter, run publish with --to github-issue --repo myrepo to dedup against existing issues, create the issue with labels mapped from tags, and write the issue URL back into the doc's links: field. ## Quick Start Publish the finished audit document findings.md as a GitHub issue in the current repository, running dedup checks first.

Frequently Asked Questions about publish

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I publish a markdown document to a GitHub issue?

Pass the source file with --to github-issue and --repo <name>. The skill validates frontmatter and body skeleton, runs three dedup searches against open issues, creates the issue with labels mapped from the doc's tags, and writes the issue URL back into the doc's links field.

How do I update an existing GitHub issue body instead of creating a new one?

Use --update <issue#|url>, which implies the github-issue adapter. It replaces the issue body via gh issue edit --body-file, skips dedup, never changes the title, and only adds new labels without removing existing ones.

What frontmatter fields are required before publishing a markdown doc?

Required fields are title, type, status, owner, and created (YYYY-MM-DD). Optional fields include tags, repos, links, updated, expires, and description; pass-through fields like maturity and x-* keys are carried through without validation.

Why does publishing fail with a skeleton validation error?

Documents of type audit, review, or plan must contain the house-style section skeleton, and the Implementation Plan heading with its Steps subsection is a hard gate. Docs missing it are rejected because downstream build automation depends on that structure.

Can I preview what publish will do without making changes?

Yes, pass --dry-run. It reports validation results, the resolved adapter and plane, dedup query outcomes for GitHub destinations, and per-doc verdicts in family mode, without writing files or creating issues.

Does the Notion adapter work without extra configuration?

No, the Notion adapter requires a configured Notion MCP server. It maps frontmatter to Notion page properties and writes the page URL back to the doc's links field; if the MCP server is unavailable, it reports the error instead of failing silently.