hackathon-coach-help

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Help a coach answer a request

帮助教练回应请求

The
hackathon
CLI does every read and every act, with the coach's own sign-in, and prints JSON with
--json
. This skill reads, looks at the code and drafts; every write (a claim, a post, an unclaim, a resolve, a reopen) waits for the coach's explicit OK on that exact act, and a post shows its exact text first. If
hackathon connect --json
does not answer with
eligibility.role
advisor
or
organizer
, run the
hackathon-coach-brief
skill first: it signs the coach in and picks the event's workspace.
A refusal is
{ "ok": false, "error": { "code", "message" } }
: relay the message, never retry in a loop.
使用教练自己的登录凭据,
hackathon
CLI 可以完成所有读取和操作;添加
--json
时会以 JSON 输出。此 skill 负责读取内容、查看代码和起草回复;每一项写操作(认领、发布、取消认领、解决或重新打开)都必须等待教练针对该项操作明确给出 OK,发布前还会先显示将要发布的原文。如果
hackathon connect --json
的结果未返回
eligibility.role
为
advisor
或
organizer
,请先运行
hackathon-coach-brief
skill:它会登录教练账号并选择活动的工作区。
拒绝响应的格式为
{ "ok": false, "error": { "code", "message" } }
:请转达该消息,绝不要循环重试。

1. What waits

1. 等待处理的请求

bash
hackathon requests list --status open --limit 100 --json
hackathon requests list --status claimed --limit 100 --json
requests[]
:
id
,
project.name
(the team),
title
,
status
,
claimedBy.name
,
createdAt
. Show the open ones oldest first (the longest wait), then the ones claimed, with the claimer, and ASK which one to take. Say when a request is already claimed by another coach: it is theirs until they let it go.
bash
hackathon requests list --status open --limit 100 --json
hackathon requests list --status claimed --limit 100 --json
requests[]
:
id
、
project.name
(团队)、
title
、
status
、
claimedBy.name
、
createdAt
。先按等待时间从长到短展示开放的请求,即让最早创建的请求排在最前面,然后展示已认领的请求及其认领者,并询问要接手哪一个。如果某个请求已被另一位教练认领,则在该教练释放之前应由其继续处理。

2. The request and its context

2. 请求及其上下文

bash
hackathon requests show <requestId> --json          # its team, status, body, and channelId: its thread
hackathon chats read <channelId> --limit 100 --json # the thread, newest first
Then the team's context, the way the
hackathon-coach-brief
skill gets it (the team chat and its threads, the repository cloned or pulled with
git pull --ff-only
). When the clone is already there, pull it and read the files the request and the thread point to: the error quoted, the file named, the last commits (
git log -n 10 --stat
). Reproduce only what is safe to run read-only (reading, a build or a test the repository documents); never run a script that deploys, sends mail or spends a third-party key.
bash
hackathon requests show <requestId> --json          # its team, status, body, and channelId: its thread
hackathon chats read <channelId> --limit 100 --json # the thread, newest first
接着按照
hackathon-coach-brief
skill 的方式获取团队上下文,包括团队聊天及其讨论串,以及已克隆或通过
git pull --ff-only
拉取的 repository。如果本地已有 clone,请拉取最新内容,并读取请求和讨论串指向的文件:引用的错误、点名的文件以及最近的提交(
git log -n 10 --stat
)。仅执行可安全运行的只读复现操作(读取文件,以及运行 repository 文档中明确说明的 build 或 test);绝不运行会进行部署、发送邮件或消耗第三方 key 的脚本。

3. The draft

3. 草稿

Write the reply for the team, plain text, 4000 characters at most, in the language the team wrote in:
  • what is wrong, in one or two sentences, pointing at the file and the line;
  • the fix: the smallest change, as a short snippet or a diff the team can apply, and how to check it;
  • one question when something is missing to be sure.
Show the draft and ASK: post it as is, edit it, or keep it. Nothing is posted without that OK.
使用团队提问时所用的语言,以纯文本为团队撰写回复,最多 4000 个字符:
  • 用一两句话说明问题所在,并指出具体文件和行号;
  • 给出修复方式:采用最小改动,以团队可以应用的简短代码片段或 diff 呈现,并说明如何验证;
  • 如果缺少必要信息,则提出一个问题以确认情况。
显示草稿并询问:按原样发布、进行编辑,还是先保留?未经该确认,不得发布任何内容。

4. The acts, each on the coach's word

4. 各项操作,均需教练明确指示

bash
hackathon requests claim <requestId> --json         # take it, so the other coaches know (advisors only)
hackathon chats post <channelId> --file <draft.txt> --json   # post the reply in the request's thread
hackathon requests unclaim <requestId> --json       # let it go to another coach
hackathon requests resolve <requestId> --json       # mark it sorted
hackathon requests reopen <requestId> --json        # open it again (its claim cleared)
  • Claim before working on an open request when the coach says so;
    request_claimed
    means another coach holds it: stop and say who (
    claimedBy
    ).
  • Post with
    --file
    : write the approved text to a temporary file first, so quotes and newlines arrive as they are. The request's thread is its own channel (
    channelId
    ): post there, no
    --thread
    .
  • A reply inside a thread of the TEAM chat (not a request) takes
    --thread <postId>
    , the thread's first post (
    chats post --thread
    came after the CLI 0.7.1; with an older CLI, post in the channel and quote the question).
  • request_resolved
    on a post: the thread is read-only; ask whether to reopen it first.
  • Resolve only when the coach says the team is unblocked, or the team said so in the thread.
After each act, read the request again (
hackathon requests show <requestId> --json
) and say its status.
bash
hackathon requests claim <requestId> --json         # take it, so the other coaches know (advisors only)
hackathon chats post <channelId> --file <draft.txt> --json   # post the reply in the request's thread
hackathon requests unclaim <requestId> --json       # let it go to another coach
hackathon requests resolve <requestId> --json       # mark it sorted
hackathon requests reopen <requestId> --json        # open it again (its claim cleared)
  • 当教练表示要处理某个开放的请求时,先认领该请求;出现
    request_claimed
    表示另一位教练正在处理:立即停止,并说明该教练是谁(
    claimedBy
    )。
  • 使用
    --file
    发布:先将获批文本写入临时文件,以确保引号和换行符原样传递。请求的讨论串就是它自己的 channel(
    channelId
    ):应发布到该 channel,不要使用
    --thread
    。
  • 如果要回复团队聊天(非请求)中的某个讨论串,请使用
    --thread <postId>
    ,其中应填写该讨论串的首条 post(
    chats post --thread
    是在 CLI 0.7.1 之后加入的;使用旧版 CLI 时,应在 channel 中发布并引用问题)。
  • 如果某个 post 上出现
    request_resolved
    ,该讨论串即为只读;应先询问是否要重新打开。
  • 只有当教练表示团队已不再受阻,或团队在讨论串中说明已经解决时,才能将请求标记为已解决。
每次操作后,再次读取请求(
hackathon requests show <requestId> --json
),并说明其状态。

5. The commands a coach may use

5. 教练可以使用的命令

From
hackathon --help
and each group's
--help
(run them when unsure; the installed version decides):
CommandWhat it does for a coach
hackathon login
,
hackathon connect
sign in once; check the place on the roster
hackathon workspaces
,
hackathon workspace use <id-or-name>
list the workspaces, pick the event's
hackathon event status
the phase, the deadlines, the freeze, the event's GitHub organization and branch
hackathon event agenda show
the programme of the day (after 0.7.1)
hackathon chats list
every channel a coach reads: general, every team's chat, every request's thread
hackathon chats read <channelId>
one page of a channel, newest first (
--limit
,
--cursor
)
hackathon chats replies <channelId> <postId>
the replies of one thread (after 0.7.1)
hackathon chats post <channelId> <words>
or
--file <path>
post;
--thread <postId>
replies in a thread (after 0.7.1)
hackathon feed show
,
hackathon feed list
,
hackathon feed post
the general channel, its pins, a post
hackathon requests list
every team's requests (`--status open
hackathon requests show <requestId>
one request, its team, its thread's channel
hackathon requests claim <requestId>
take a request (a coach only)
hackathon requests unclaim <requestId>
let a claimed request go (its coach, or an organizer)
hackathon requests resolve <requestId>
,
reopen <requestId>
sorted, or open again
hackathon decks gallery
every team with its description, its demo deck and presentation links
Not a coach's:
requests open
(a participant's),
decks link
and
decks show
(a team's own links),
submissions …
(a team's own or the organizers'),
setup
and
doctor
(a participant's team app), everything under
admin
and the roster. Every command takes
--json
.
以下命令来自
hackathon --help
以及每个命令组的
--help
(不确定时请运行这些帮助命令;具体功能以已安装的版本为准):
Command对教练的用途
hackathon login
,
hackathon connect
登录一次;检查自己在名册中的角色
hackathon workspaces
,
hackathon workspace use <id-or-name>
列出工作区并选择活动对应的工作区
hackathon event status
查看活动阶段、截止时间、冻结状态、活动的 GitHub organization 和 branch
hackathon event agenda show
查看当天议程(0.7.1 之后支持)
hackathon chats list
列出教练需要阅读的所有 channel:general channel、各团队聊天以及每个请求的讨论串
hackathon chats read <channelId>
读取一个 channel 的一页消息,最新消息在前(
--limit
、
--cursor
)
hackathon chats replies <channelId> <postId>
读取一个讨论串中的回复(0.7.1 之后支持)
hackathon chats post <channelId> <words>
或
--file <path>
发布消息;使用
--thread <postId>
回复讨论串(0.7.1 之后支持)
hackathon feed show
,
hackathon feed list
,
hackathon feed post
查看 general channel、置顶消息以及发布消息
hackathon requests list
列出所有团队的请求(`--status open
hackathon requests show <requestId>
查看一个请求、对应团队及其讨论串的 channel
hackathon requests claim <requestId>
认领一个请求(仅限教练)
hackathon requests unclaim <requestId>
取消认领,让其他教练接手(由当前认领者或组织者操作)
hackathon requests resolve <requestId>
,
reopen <requestId>
标记为已解决,或重新打开
hackathon decks gallery
查看所有团队及其介绍、demo deck 和演示链接
以下不属于教练权限:
requests open
(属于参与者)、
decks link
和
decks show
(团队查看自己的链接)、
submissions …
(团队自身或组织者可用的命令)、
setup
和
doctor
(参与者团队应用),以及
admin
下的所有命令和名册管理。每个命令都支持
--json
。

Never

绝不做

  • Never post, claim, unclaim, resolve or reopen without the coach's OK on that act.
  • Never push to a team's repository or commit in its clone; a fix goes to the team in the reply.
  • Never put a secret, a key or a
    .env
    line in a draft; never ask the team to paste one in a chat.
  • Never answer for another coach's claimed request without the coach saying so.
  • 未经教练针对具体操作明确给出 OK,绝不发布、认领、取消认领、解决或重新打开请求。
  • 绝不向团队的 repository 推送内容,也绝不在其 clone 中提交;修复方案应通过回复交给团队。
  • 绝不在草稿中包含 secret、key 或
    .env
    内容;也绝不要求团队在聊天中粘贴这些信息。
  • 未经原认领教练同意,绝不代为处理另一位教练已认领的请求。