firm-delivery-export
v1.0.0Post-processing skill for firm-orchestration: converts the structured JSON output of a multi-agent workflow run into real deliverables — GitHub Pull Requests, Jira/Linear tickets, Markdown reports, project briefs or structured documents. Acts as the last-mile bridge between agent output and team too...
Installation
Please help me install the skill `firm-delivery-export` from SkillHub official store.
npx skills add romainsantoli-web/firm-delivery-export
firm-delivery-export
Converts firm workflow output into real deliverables in team tooling.
Supported formats
| Format | Target | Required env |
|---|---|---|
github_pr |
GitHub repository PR | GITHUB_TOKEN |
jira_ticket |
Jira issue | JIRA_API_TOKEN + JIRA_BASE_URL |
linear_issue |
Linear issue | LINEAR_API_KEY |
markdown_report |
Local file / chat | none |
structured_document |
Markdown with frontmatter | none |
project_brief |
Structured PDF-ready doc | none |
slack_digest |
Slack message via webhook | SLACK_WEBHOOK_URL |
Usage (after firm-orchestration run)
Use firm-delivery-export to publish last workflow result as a GitHub PR:
repo: "myorg/myrepo"
branch: "ai/sprint-24-plan"
title: "feat: Sprint 24 plan (AI-generated, human review pending)"
reviewers: ["@john", "@sarah"]
GitHub PR output schema
{
"format": "github_pr",
"repo": "org/repo",
"branch": "ai/{kebab-objective}",
"base": "main",
"title": "...",
"body": "## AI-generated deliverynn{merged_output}nn---n_Generated by firm-orchestration_",
"draft": true,
"reviewers": [],
"labels": ["ai-generated", "needs-review"]
}
Jira ticket output schema
{
"format": "jira_ticket",
"project": "ENG",
"issue_type": "Story",
"summary": "...",
"description": "{merged_output}",
"priority": "Medium",
"labels": ["ai-generated"],
"components": []
}
Security notes
GITHUB_TOKENmust havereposcope — use fine-grained tokens scoped to target repo- All PRs are created as drafts by default (
draft: true) — never auto-merged - Human review is mandatory: a
needs-reviewlabel is applied unconditionally JIRA_API_TOKENis never logged (masked in audit trail)- Slack webhook URLs are treated as secrets (masked in JSONL audit)
Error handling
| Error | Behavior |
|---|---|
| API rate limit | Retry with exponential backoff (3 attempts, max 30s) |
| Auth failure | Fail fast, output error to session, never retry |
| Network timeout | Fallback to markdown_report format locally |
| Invalid schema | Reject with validation error listing missing fields |
Example with delivery pipeline
1. Run firm-orchestration:
objective: "Document the payment service API"
departments: ["engineering", "operations"]
delivery_format: "github_pr"
2. Run firm-delivery-export automatically:
→ Creates draft PR "docs: Payment service API documentation"
→ Branch: ai/document-payment-service-api
→ Labels: ai-generated, needs-review, documentation
→ Assigns to @team-engineering for review
💎 Support
Si ce skill vous est utile, vous pouvez soutenir le développement :
Dogecoin : DQBggqFNWsRNTPb6kkiwppnMo1Hm8edfWq