Condense talk-html skill contract - #1
Conversation
📝 WalkthroughWalkthroughThis PR comprehensively restructures the Changestalk-html skill specification
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0c97e6eb32
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| ```bash | ||
| bash ~/.agents/skills/talk-html/publish.sh "$HTML_PATH" # default: secret gist (link-only sharing) | ||
| bash ~/.agents/skills/talk-html/publish.sh "$HTML_PATH" --public # public gist (listed on profile) | ||
| bash ~/.agents/skills/talk-html/publish.sh "$HTML_PATH" | ||
| ``` |
There was a problem hiding this comment.
Run evidence verification before publishing
In the workflow for pages with GIF/MP4/WebM evidence, this publish step no longer includes the explicit verify-evidence.sh "$HTML_PATH" gate that the prior contract required, and the checked skills/talk-html/publish.sh in this repo only creates the gist/appends the index; it never invokes that verifier. When an agent follows these lines, a page with missing talk-html-evidence/run-log can be uploaded as a rendered gist, defeating the anti-fake evidence contract. Please keep a pre-publish verifier command here or make publish.sh actually enforce it.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@skills/talk-html/SKILL.md`:
- Around line 206-214: The copied resume command in the "Clipboard string" block
always uses "claude --resume <session_id>" which contradicts the helper text
that says users can paste into Claude/Codex; update the clipboard string (the
text inside the ```text block referenced by the "Clipboard string" and the UI
element labeled "复制续修指令") so it matches the documented flow by either (a)
emitting the correct CLI per session type (use a placeholder like
<assistant_cli> so callers can substitute "claude" or "codex"), or (b) including
both variants (e.g., a short note showing the codex equivalent) and ensure the
helper text refers to the same command form; change only the clipboard string
and any adjacent helper copy so "claude --resume <session_id> ..." is no longer
hard-coded when Codex is supported.
- Around line 236-245: The "9. Print URLs" section currently demands printing
"exactly" four URLs (local, gist, raw, rendered) but elsewhere (and in
failure-mode table) allows publish/no-publish flows where gist/raw/rendered may
be missing; update the contract text so it is consistent: change the "Print
exactly" requirement to state that the agent must always print the local file
URL and then print gist/raw/rendered only when available, and define the exact
placeholder or omission behavior for absent URLs (e.g., omit the line or print
"n/a") for clarity; update the "9. Print URLs" heading and any corresponding
examples and failure-mode descriptions to reference the optional nature of
gist/raw/rendered and ensure the tokens 'local', 'gist', 'raw', 'rendered' are
used consistently across the doc.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 3b038bcc-0b82-49a6-96c8-d1d821379b85
📒 Files selected for processing (1)
skills/talk-html/SKILL.md
| - one-line text input for the desired change; | ||
| - button "复制续修指令"; | ||
| - helper text telling the reader to paste it into Claude/Codex. | ||
|
|
||
| In every other case — including when the caller is another agent, and including when the user never said anything about publishing at all — run the publish command below. "The user didn't explicitly say to publish" is **not** an opt-out; absence of an opt-out means publish. | ||
| Clipboard string: | ||
|
|
||
| If the user later wants changes, regenerate and re-run `publish.sh` — it creates a fresh gist. Don't treat the first publish as a point of no return. | ||
| ```text | ||
| claude --resume <session_id> "继续修改我用 talk-html 生成的产物(slug: <slug>;本地 <local_path>;若会话已失效,先跑 bash ~/.agents/skills/talk-html/recall.sh <slug> 定位它)。修改要求:INSTR。改完按 talk-html 流程重新发布 gist 并打印四个 URL。" | ||
| ``` |
There was a problem hiding this comment.
Make the “继续修改” command consistent with Codex support text.
The helper text says users can paste into Claude/Codex, but the copied command is always claude --resume .... For Codex sessions, this is misleading and breaks the documented return path.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@skills/talk-html/SKILL.md` around lines 206 - 214, The copied resume command
in the "Clipboard string" block always uses "claude --resume <session_id>" which
contradicts the helper text that says users can paste into Claude/Codex; update
the clipboard string (the text inside the ```text block referenced by the
"Clipboard string" and the UI element labeled "复制续修指令") so it matches the
documented flow by either (a) emitting the correct CLI per session type (use a
placeholder like <assistant_cli> so callers can substitute "claude" or "codex"),
or (b) including both variants (e.g., a short note showing the codex equivalent)
and ensure the helper text refers to the same command form; change only the
clipboard string and any adjacent helper copy so "claude --resume <session_id>
..." is no longer hard-coded when Codex is supported.
| ### 9. Print URLs | ||
|
|
||
| Output exactly these four lines, in this order: | ||
| Print exactly: | ||
|
|
||
| ``` | ||
| ```text | ||
| local: file://<path> | ||
| gist: <gist page URL> | ||
| raw: <raw.githubusercontent URL> | ||
| rendered: <htmlpreview.github.io URL> | ||
| ``` |
There was a problem hiding this comment.
Resolve the contradictory URL output contract.
Line 239 says to print exactly four URLs, but Line 233-235 and the failure-mode table explicitly allow no-publish / publish-failure flows where gist/raw/rendered do not exist. This creates an impossible requirement for compliant agents.
Proposed contract-safe wording
-Print exactly:
+If publish succeeds, print exactly:
...
local: file://<path>
gist: <gist page URL>
raw: <raw.githubusercontent URL>
rendered: <htmlpreview.github.io URL>+If publish is skipped or fails, print:
+local: file://<path>
+publish: bash ~/.agents/skills/talk-html/publish.sh "<path>"
+reason: <why gist/raw/rendered are unavailable>Also applies to: 233-235, 286-289
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@skills/talk-html/SKILL.md` around lines 236 - 245, The "9. Print URLs"
section currently demands printing "exactly" four URLs (local, gist, raw,
rendered) but elsewhere (and in failure-mode table) allows publish/no-publish
flows where gist/raw/rendered may be missing; update the contract text so it is
consistent: change the "Print exactly" requirement to state that the agent must
always print the local file URL and then print gist/raw/rendered only when
available, and define the exact placeholder or omission behavior for absent URLs
(e.g., omit the line or print "n/a") for clarity; update the "9. Print URLs"
heading and any corresponding examples and failure-mode descriptions to
reference the optional nature of gist/raw/rendered and ensure the tokens
'local', 'gist', 'raw', 'rendered' are used consistently across the doc.
Summary
Checks
Summary by CodeRabbit