skills-experimental/commit-attribution/SKILL.md
Commit/PR attribution text generation. Model name sanitization. Internal vs external repo detection. Co-authored-by format. Use when [commit attribution] is needed.
npx skillsauth add bianhaifeng789-hue/openclaw-config commit-attributionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
生成 commit 和 PR 的归属文本,清理模型名称。
场景:
Claude Code 方案:attribution.ts + commitAttribution.ts OpenClaw 飞书适配:飞书提交归属 + 模型名处理
Co-Authored-By: Claude <[email protected]>
🤖 Generated with [Claude Code](https://claude.ai/code)
// 内部 repo 使用真实模型名
// 外部 repo 使用通用名称避免泄露 codenames
function sanitizeModelName(model: string, isInternal: boolean): string {
if (isInternal) {
return getPublicModelName(model)
}
// 外部 repo:使用 "Claude" 避免 codename 泄露
return 'Claude'
}
// Internal repo allowlist
const INTERNAL_REPO_PATTERNS = [
/anthropic\.com/i,
/claude\.ai/i,
/internal.*repo/i
]
function isInternalRepo(remote: string): boolean {
return INTERNAL_REPO_PATTERNS.some(p => p.test(remote))
}
{
"config": {"wide_screen_mode": true},
"elements": [
{
"tag": "div",
"text": {
"tag": "lark_md",
"content": "**📝 Attribution Preview**\n\n---\n\n**Commit Attribution**:\n```\nCo-Authored-By: Claude <[email protected]>\n```\n\n**PR Attribution**:\n```\n🤖 Generated with [Claude Code](https://claude.ai/code)\n```\n\n---\n\n**Repo 类型**:External\n\n**模型名**:Claude(sanitized)\n\n---\n\n**是否添加 attribution?**"
}
},
{
"tag": "action",
"actions": [
{
"tag": "button",
"text": {"tag": "plain_text", "content": "添加 Attribution"},
"type": "primary"
},
{
"tag": "button",
"text": {"tag": "plain_text", "content": "跳过"},
"type": "default"
}
]
}
]
}
Commit Attribution:
1. 检测 git remote
2. 判断是否 internal repo
3. 选择模型名(真实/sanitized)
4. 生成 attribution 文本
function getAttributionTexts(): AttributionTexts {
const isInternal = isInternalRepoCached()
const model = getMainLoopModel()
const modelName = sanitizeModelName(model, isInternal)
return {
commit: `Co-Authored-By: ${modelName} <[email protected]>`,
pr: `🤖 Generated with [Claude Code](${PRODUCT_URL})`
}
}
// memory/commit-attribution-state.json
{
"attributions": [
{
"commit": "abc123",
"model": "Claude",
"repoType": "external",
"timestamp": "2026-04-12T00:00:00Z"
}
],
"stats": {
"totalAttributions": 0,
"internalAttributions": 0,
"externalAttributions": 0
},
"config": {
"includeAttribution": true,
"internalRepoPatterns": []
}
}
| Claude Code | OpenClaw 飞书场景 | |-------------|------------------| | getAttributionTexts() | Skill + 函数 | | isInternalModelRepo() | Repo detection | | sanitizeModelName() | Model name clean | | Undercover mode | 飞书场景适配 |
此 Skill 在 git commit 或 PR 创建时自动触发。
business
IAA 日报飞书输出能力。 支持把固定 CSV 模板一键转换成: - 中文运营结论 - 飞书卡片 JSON - 飞书发送载荷 Use when: - 需要把 IAA 日报直接发到飞书 - 需要从 CSV 一键生成运营日报
data-ai
IAA日报分析模型 功能: - 渠道日报自动分析 - 小时级+日级ROI联动判断 - 按地区输出加量/降量/停投建议 - 按产品类型输出阈值 - 自动识别利润区/观察区/止损区 Use when: - 分析每天投放数据 - 生成运营日报结论 - 判断是否加量/降量/停投 - 对比美加澳/日韩表现 Keywords: - 日报模型, 投放日报, 加量, 降量, 停投, ROI日报, 分地区分析
data-ai
IAA固定日报分析模板 功能: - 固定字段模板(可直接贴每天数据) - 自动输出总盘结论 - 自动输出美加澳/日韩结论 - 自动给出加量/降量/停投建议 - 适配文件修复/清理两类产品 Use when: - 需要固定日报格式 - 每天复盘渠道表现 - 给运营团队出统一结论 Keywords: - 固定模板, 日报模板, ROI模板, IAA日报, 运营模板
development
# HyperlinkPool Pattern Skill HyperlinkPool Pattern - HyperlinkPool class + strings array + stringMap + Index 0 no hyperlink + intern(hyperlink) + get(id) + undefined handling + 5-minute reset + OSC8 hyperlink interning。 ## 功能概述 从Claude Code的ink/screen.ts提取的HyperlinkPool模式,用于OpenClaw的OSC8超链接池管理。 ## 核心机制 ### HyperlinkPool Class ```typescript export class HyperlinkPool { private strings: string[] = [''] // Index 0 = no hyperlink private stringMap = new Map<string, number>() // strings