firm-delivery-export
Converts firm workflow output into real deliverables in team tooling.
Supported formats
| Format | Target | Required env |
|---|
| INLINECODE0 | GitHub repository PR | INLINECODE1 |
| INLINECODE2 |
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)
CODEBLOCK0
GitHub PR output schema
CODEBLOCK1
Jira ticket output schema
CODEBLOCK2
Security notes
- -
GITHUB_TOKEN must have repo scope — 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-review label is applied unconditionally - INLINECODE16 is 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
CODEBLOCK3
💎 Support
Si ce skill vous est utile, vous pouvez soutenir le développement :
Dogecoin : INLINECODE18
firm-delivery-export
将firm工作流输出转换为团队工具中的实际可交付成果。
支持的格式
| 格式 | 目标平台 | 所需环境变量 |
|---|
| githubpr | GitHub 仓库 PR | GITHUBTOKEN |
| jiraticket |
Jira 问题 | JIRAAPI
TOKEN + JIRABASE_URL |
| linear
issue | Linear 问题 | LINEARAPI_KEY |
| markdown_report | 本地文件/聊天 | 无 |
| structured_document | 带前置元数据的 Markdown | 无 |
| project_brief | 结构化 PDF 就绪文档 | 无 |
| slack
digest | 通过 Webhook 发送的 Slack 消息 | SLACKWEBHOOK_URL |
使用方法(在 firm-orchestration 运行之后)
使用 firm-delivery-export 将上次工作流结果发布为 GitHub PR:
repo: myorg/myrepo
branch: ai/sprint-24-plan
title: feat: Sprint 24 计划(AI 生成,待人工审核)
reviewers: [@john, @sarah]
GitHub PR 输出模式
json
{
format: github_pr,
repo: org/repo,
branch: ai/{kebab-objective},
base: main,
title: ...,
body: ## AI 生成的可交付成果\n\n{mergedoutput}\n\n---\n由 firm-orchestration 生成_,
draft: true,
reviewers: [],
labels: [ai-generated, needs-review]
}
Jira 工单输出模式
json
{
format: jira_ticket,
project: ENG,
issue_type: Story,
summary: ...,
description: {merged_output},
priority: Medium,
labels: [ai-generated],
components: []
}
安全说明
- - GITHUBTOKEN 必须具有 repo 权限范围——使用限定于目标仓库的细粒度令牌
- 所有 PR 默认以草稿形式创建(draft: true)——绝不自动合并
- 人工审核是强制性的:无条件添加 needs-review 标签
- JIRAAPI_TOKEN 不会被记录(在审计追踪中被屏蔽)
- Slack Webhook URL 被视为机密(在 JSONL 审计中被屏蔽)
错误处理
| 错误类型 | 处理行为 |
|---|
| API 速率限制 | 使用指数退避重试(3 次尝试,最长 30 秒) |
| 认证失败 |
快速失败,将错误输出到会话,绝不重试 |
| 网络超时 | 本地回退为 markdown_report 格式 |
| 无效模式 | 拒绝并返回验证错误,列出缺失字段 |
交付流水线示例
- 1. 运行 firm-orchestration:
目标:记录支付服务 API
部门:[engineering, operations]
交付格式:github_pr
- 2. 自动运行 firm-delivery-export:
→ 创建草稿 PR docs: 支付服务 API 文档
→ 分支:ai/document-payment-service-api
→ 标签:ai-generated, needs-review, documentation
→ 分配给 @team-engineering 进行审核
💎 支持
如果您觉得此技能有用,可以支持其开发:
狗狗币:DQBggqFNWsRNTPb6kkiwppnMo1Hm8edfWq