Executes development tasks autonomously from start to finish, including git commits, pushes, and deployments, while providing progress updates via Telegram.
Install
mkdir -p .claude/skills/start-diegosouzapw && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/19456" && unzip -o skill.zip -d .claude/skills/start-diegosouzapw && rm skill.zipInstalls to .claude/skills/start-diegosouzapw
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Execute a task autonomously with real-time Telegram progress updates, automatic deployment, commit, and push. No user interaction required - makes all decisions independently.Key capabilities
- →Execute development tasks autonomously
- →Perform code quality checks using Biome, TypeScript, and Rust fmt
- →Manage deployment cycles via custom scripts
- →Send real-time progress updates via Telegram
- →Automate git commit and push operations
How it works
The skill analyzes requirements, reads project code, and executes tasks independently. It uses a series of bash scripts to perform quality checks, deploy changes, and report progress through Telegram.
Inputs & outputs
When to use start
- →Automating feature implementation
- →Running bug fixes autonomously
- →Automating deployment pipelines
- →Performing repetitive code refactoring
About this skill
Start Skill
自动执行任务,全程通过 Telegram 实时反馈进度,完成后自动部署、提交并推送代码。
核心原则
完全自主执行:
- ❌ 不使用
AskUserQuestion- 自己做决策 - ✅ 遇到选择时,使用最佳实践方案
- ✅ 遇到不确定的情况,选择保守/安全的方案
- ✅ 多个关键节点发送 Telegram 通知保持用户知情
Arguments
$ARGUMENTS - 任务描述
示例:
/start 添加一个新的 outbound 配置管理模块/start 修复空状态下无法创建配置的 bug/start 优化前端性能,减少不必要的 re-render
完整工作流
1. 📨 发送"开始执行"通知
2. 🔍 分析任务需求
3. 📖 阅读相关代码
4. 💡 制定执行方案(不询问用户)
5. 🔧 执行任务
- 在关键节点发送进度通知
- 创建/修改文件
- 运行必要的命令
6. ✅ 代码质量检查(biome + TypeScript + Rust fmt)
7. 🚀 部署(deploy script)
8. ✅ 如果部署成功:commit + push
9. 📤 发送完成通知
10. ❌ 如果失败:发送错误通知
使用的工具和脚本
- Telegram 通知:
/home/alan/code/start/.claude/scripts/telegram-notify.sh - 部署脚本:
/home/alan/code/start/.claude/scripts/deploy.sh - Git 操作: 直接使用 git 命令
实施细节
1. 发送开始通知
/home/alan/code/start/.claude/scripts/telegram-notify.sh "🚀 开始执行任务
📋 任务: ${ARGUMENTS}
⏳ 正在分析需求..."
2. 分析和规划
- 使用 Glob/Grep 查找相关代码
- 使用 Read 阅读关键文件
- 不使用 AskUserQuestion - 自主决策
- 遵循项目 CLAUDE.md 中的最佳实践
决策原则:
- 参考现有代码模式
- 遵循项目架构约定
- 选择最简单可行的方案
- 保持代码一致性
3. 发送进度通知
在关键节点发送更新(每 2-3 个重要步骤):
/home/alan/code/start/.claude/scripts/telegram-notify.sh "⚙️ 进度更新
当前步骤: ${current_step}
已完成:
- ${completed_item_1}
- ${completed_item_2}
正在进行: ${current_action}"
建议的通知节点:
- ✅ 开始执行任务
- ✅ 完成代码分析/规划
- ✅ 完成后端代码(如适用)
- ✅ 完成前端代码(如适用)
- ✅ 代码质量检查通过/失败
- ✅ 开始部署
- ✅ 部署成功/失败
- ✅ 任务完成
4. 执行任务
根据任务类型执行相应操作:
新功能 (feat):
- 创建必要的文件
- 遵循现有模块模式
- 更新相关配置/路由
Bug 修复 (fix):
- 定位问题代码
- 实施修复
- 验证修复效果
重构 (refactor):
- 提取公共逻辑
- 改进代码结构
- 保持功能不变
优化 (perf):
- 识别性能瓶颈
- 实施优���方案
- 测量改进效果
5. 代码质量检查
在部署之前必须执行所有适用的检查:
# 发送检查开始通知
/home/alan/code/sing-box-config-generator/.claude/scripts/telegram-notify.sh "🔍 开始代码质量检查
运行 Biome 和 TypeScript 检查..."
# 1. Biome 检查 (必须)
echo "Running Biome check..."
if ! bun run check; then
/home/alan/code/sing-box-config-generator/.claude/scripts/telegram-notify.sh "❌ Biome 检查失败
请修复 lint 和格式问题后重试"
exit 1
fi
# 2. TypeScript 类型检查 (必须)
echo "Running TypeScript type check..."
if ! bun run type-check; then
/home/alan/code/sing-box-config-generator/.claude/scripts/telegram-notify.sh "❌ TypeScript 类型检查失败
请修复类型错误后重试"
exit 1
fi
# 3. Rust 格式检查 (如果修改了后端代码)
# 检查是否有 Rust 文件被修改
if git diff --name-only HEAD | grep -q '\.rs$'; then
echo "Rust files modified, running cargo fmt check..."
if ! cargo fmt --check; then
/home/alan/code/sing-box-config-generator/.claude/scripts/telegram-notify.sh "❌ Rust 格式检查失败
运行 'cargo fmt' 修复格式问题"
exit 1
fi
fi
# 所有检查通过
/home/alan/code/sing-box-config-generator/.claude/scripts/telegram-notify.sh "✅ 代码质量检查通过
准备部署..."
6. 部署
# 发送部署开始通知
/home/alan/code/start/.claude/scripts/telegram-notify.sh "🚀 开始部署
构建前端和后端...
重启服务..."
# 执行部署
DEPLOY_OUTPUT=$(/home/alan/code/start/.claude/scripts/deploy.sh 2>&1)
DEPLOY_STATUS=$?
if [ $DEPLOY_STATUS -eq 0 ]; then
/home/alan/code/start/.claude/scripts/telegram-notify.sh "✅ 部署成功
服务已重启并通过健康检查
准备提交代码..."
else
/home/alan/code/start/.claude/scripts/telegram-notify.sh "❌ 部署失败
错误信息:
${DEPLOY_OUTPUT}
任务中止,未提交代码"
exit 1
fi
7. Commit 和 Push
只在部署成功后执行:
# 检查是否有改动
if ! git diff --quiet || ! git diff --cached --quiet || [ -n "$(git ls-files --others --exclude-standard)" ]; then
# 分析改动,确定 commit 类型和消息
git status
git diff
# 自主决定 commit message
# 类型: feat, fix, refactor, perf, docs, style, test, build, chore
# 格式: <type>(<scope>): <subject>
git add .
git commit -m "$(cat <<'EOF'
<type>(<scope>): <中文描述>
<详细说明>
Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
EOF
)"
# Push 到远程
git push
COMMIT_MSG=$(git log -1 --pretty=%B)
else
COMMIT_MSG="无文件改动"
fi
8. 发送完成通知
# 获取 commit 信息和 GitHub URL
COMMIT_HASH=$(git rev-parse HEAD 2>/dev/null || echo "N/A")
REMOTE_URL=$(git remote get-url origin 2>/dev/null || echo "")
# 从 git remote URL 提取 owner/repo
# 支持格式: [email protected]:owner/repo.git 或 https://github.com/owner/repo.git
if [ -n "$REMOTE_URL" ]; then
# 先移除 .git 后缀,再提取 owner/repo
REPO_PATH=$(echo "$REMOTE_URL" | sed -E 's/\.git$//' | sed -E 's/.*[:/]([^/]+\/[^/]+)$/\1/')
COMMIT_URL="https://github.com/${REPO_PATH}/commit/${COMMIT_HASH}"
else
COMMIT_URL=""
fi
# 构建完成通知消息
FINAL_MESSAGE="✅ 任务完成
📋 任务: ${ARGUMENTS}
🔧 主要改动:
- ${change_1}
- ${change_2}
- ${change_3}
✨ 结果:
${outcomes}
📝 Commit:
${COMMIT_MSG}"
# 添加 GitHub 链接(如果可用)
if [ -n "$COMMIT_URL" ]; then
FINAL_MESSAGE="${FINAL_MESSAGE}
🔗 查看更改: ${COMMIT_URL}"
fi
# 添加状态信息
FINAL_MESSAGE="${FINAL_MESSAGE}
🚀 部署状态: 成功
📤 推送状态: 完成"
# Telegram 消息长度限制:4096 字符
# 如果超过限制,截断详细信息部分
MAX_LENGTH=4000 # 留一些安全余地
if [ ${#FINAL_MESSAGE} -gt $MAX_LENGTH ]; then
# 构建简化版消息
FINAL_MESSAGE="✅ 任务完成
📋 任务: ${ARGUMENTS}
🔧 主要改动: (内容较长,详见 GitHub)
📝 Commit: $(echo "$COMMIT_MSG" | head -n 1)
🔗 查看更改: ${COMMIT_URL}
🚀 部署状态: 成功
📤 推送状态: 完成"
fi
# 发送通知
/home/alan/code/sing-box-config-generator/.claude/scripts/telegram-notify.sh "$FINAL_MESSAGE"
自主决策指南
架构决策
场景: 需要选择实现方式
- ✅ 参考项目中现有类似功能的实现
- ✅ 遵循 CLAUDE.md 中的架构约定
- ✅ 选择最符合项目模式的方案
示例:
- 添加新模块 → 参考 log/ruleset/inbound 模块的结构
- 添加 API 端点 → 遵循
/api/{module}约定 - 前端状态管理 → 使用 TanStack Query
命名决策
场景: 需要命名文件/组件/变量
- ✅ 遵循项目现有命名规范
- ✅ 使用清晰描述性的名称
- ✅ 保持与周围代码一致
示例:
- 模块名 → 使用小写单数形式(log, ruleset, inbound)
- 组件名 → 使用 PascalCase(FocusEditor, ConfigCard)
- API 路由 → 使用复数形式 REST 约定
范围决策
场景: 不确定改动范围
- ✅ 优先最小化改动
- ✅ 只修改必要的文件
- ✅ 避免过度工程化
示例:
- Bug 修复 → 只修复问题本身,不重构周围代码
- 新功能 → 实现核心功能,不添加"可能有用"的额外功能
技术选择
场景: 需要选择技术方案
- ✅ 使用项目已有的技术栈
- ✅ 不引入新的依赖(除非必须)
- ✅ 遵循项目的技术决策
项目技术栈:
- Backend: Rust + Axum + Tokio
- Frontend: React + Rsbuild + TanStack Router + TanStack Query
- UI: Radix UI + Tailwind CSS
- Package Manager: Bun(不用 npm/pnpm)
错误处理
执行失败
任何步骤失败时:
/home/alan/code/start/.claude/scripts/telegram-notify.sh "❌ 任务失败
📋 任务: ${ARGUMENTS}
❌ 失败步骤: ${failed_step}
错误信息:
${error_message}
⚠️ 状态:
- 代码改动: ${changes_made}
- 部署状态: 未执行
- Commit 状态: 未执行"
部署失败
部署失败时不提交代码:
# 构建错误消息
ERROR_MESSAGE="⚠️ 部署失败,代码未提交
📋 任务: ${ARGUMENTS}
✅ 代码改动已完成:
${changes}
❌ 部署失败:
${deploy_error}
💡 建议:
检查日志: sudo journalctl -u sing-box-config-generator -n 50
代码改动已保留但未提交"
# Telegram 消息长度限制检查
MAX_LENGTH=4000
if [ ${#ERROR_MESSAGE} -gt $MAX_LENGTH ]; then
ERROR_MESSAGE="⚠️ 部署失败,代码未提交
📋 任务: ${ARGUMENTS}
✅ 代码改动已完成(详见本地文件)
❌ 部署失败: (错误信息过长,详见本地日志)
💡 建议:
检查日志: sudo journalctl -u sing-box-config-generator -n 50
代码改动已保留但未提交"
fi
/home/alan/code/sing-box-config-generator/.claude/scripts/telegram-notify.sh "$ERROR_MESSAGE"
最佳实践
1. 充分沟通
- 开始时说明执行计划
- 关键节点及时反馈
- 完成时总结改动
2. 遵循约定
- 严格遵循 CLAUDE.md 指南
- 参考现有代码模式
- 保持代码一致性
3. 保证质量
- 执行完整的代码质量检查
- Biome 检查(必须)
- TypeScript 类型检查(必须)
- Rust fmt 检查(修改后端时)
- 部署前验证代码
- 通过健康检查再提交
- 写清晰的 commit message
4. 错误恢复
- 失败时清晰报告
- 不隐藏错误信息
- 提供恢复建议
示例场景
场景 1: 添加新模块
用户: /start 添加 outbound 配置管理模块
流程:
1. 📨 通知: "开始执行任务:添加 outbound 配置管理模块"
2. 🔍 阅读现有模块代码(log, ruleset, inbound)
3. 📨 通知: "已分析现有模块结构,开始实现后端 API"
4. 🔧 创建 src/backend/api/outbound.rs
5. 🔧 更新 src/main.rs 添加路由
6. 📨 通知: "后端完成,开始实现前端"
7. 🔧 创建 src/frontend/routes/outbound/
8. 🔧 创建 src/frontend/api/outbound.ts
9. 🔧 更新 Sidebar 添加导航
10. 📨 通知: "代码完成,开始质量检查"
11. ✅ 执行代码质量检查(biome + TypeScript + Rust fmt)
12. 📨 通知: "检查通过,开始部署"
13. 🚀 执行 deploy.sh
14. 📨 通知: "部署成功,提交代码"
15. ✅ Commit + Push
16. 📨 通知: "任务完成(包含 GitHub commit 链接)"
场景 2: Bug 修复
用户: /start 修复空状态下无法创建配置的问题
流程:
1. 📨 通知: "开始执行任务:修复空状态创建问题"
2. 🔍 分析问题原因
3. 📨 通知: "定位到问题:FocusEditor 在条件渲染内部,开始修复"
4. 🔧 修改 4 个配置模块的 index.tsx
5. 📨 通知: "修复完成,开始质量检查"
6. ✅ 执行代码质量检查(biome + TypeScript)
7. 📨 通知: "检查通过,开始部署"
8. 🚀 执行 deploy.sh
9. 📨 通知: "部署成功,提交代码"
10. ✅ Commit + Push
11. 📨 通知: "Bug 修复完成(包含 GitHub commit 链接)"
场景 3: 性能优化
用户: /start 优化前端性能,减少不必要的 re-render
流程:
1. 📨 通知: "开始执行任务:优化前端性能"
2. 🔍 分析性能瓶颈
3. �� 通知: "发现问题:组件过度渲染,使用 React.memo 优化"
4. 🔧 优化关键组件
5. 📨 通知: "优化完成,开始质量检查"
6. ✅ 执行代码质量检查(biome + TypeScript)
7. 📨 通知: "检查通过,开始部署"
8. 🚀 执行 deploy.sh
9. 📨 通知: "部署成功,提交代码"
10. ✅ Commit + Push
11. 📨 通知: "性能优化完成(包含 GitHub commit 链接)"
注意事项
- 不要使用 AskUserQuestion - 这是核心要求
- 频繁发送 Telegram 通知 - 让用户知道进度
- 必须执行代码质量检查 - 部署前运行所有适用的检查
- 检查失败立即停止 - 不要在检查失败时继续部署
- 部署失败不提交代码 - 保证代码质量
- 自主决策 - 遵循最佳实践和项目约定
- 保持简洁 - 只做必要的改动
配置要求
- Telegram 通知已配置(见
.claude/telegram-config.md) - 部署脚本可用(
.claude/scripts/deploy.sh) - Git 仓库已初始化并配置远程仓库
相关文档
- 项目指南:
/home/alan/code/start/CLAUDE.md - Telegram 配置:
/home/alan/code/start/.claude/telegram-config.md - 部署脚本:
/home/alan/code/start/.claude/scripts/deploy.sh - 通知脚本:
/home/alan/code/start/.claude/scripts/telegram-notify.sh
When not to use it
- →When user interaction or manual decision-making is required
- →When the project lacks configured Telegram notification scripts
- →When deployment scripts are unavailable
Prerequisites
Limitations
- →Does not use AskUserQuestion for decision-making
- →Stops execution if code quality checks fail
- →Aborts commit and push if deployment fails
How it compares
Unlike manual development, this skill makes all architectural and implementation decisions autonomously without asking for user input.
Compared to similar skills
start side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| start (this skill) | 0 | 4mo | Review | Advanced |
| agent-release-manager | 0 | 5mo | Review | Intermediate |
| agent-workflow-automation | 4 | 5mo | Review | Advanced |
| project-os | 1 | 6mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by diegosouzapw
View all by diegosouzapw →You might also like
agent-release-manager
ruvnet
Agent skill for release-manager - invoke with $agent-release-manager
agent-workflow-automation
ruvnet
Agent skill for workflow-automation - invoke with $agent-workflow-automation
project-os
Peiiii
AI project OS for autonomous loop, automated orchestration, and rule-driven execution.
proof-of-work
MadAppGang
Proof artifact generation patterns for task validation. Covers screenshots, test results, deployments, and confidence scoring.
release-version
corvo007
Use when releasing a new version - guides through version bump, changelog generation, commit grouping, tagging, and GitHub CI tracking. Triggers on "发布新版本", "release", "发版", or version release requests.
Release
tobagin
Create a new Keymaker release — analyze changes, bump version, update changelog/README/AppStream metadata, build, commit, tag, push, and create GitHub release