Add continuous cloud-agent workflow and repository safeguards - #1
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 52d30a1489
ℹ️ 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".
| base=${GITHUB_BASE_REF:-main} | ||
| git diff --check "origin/$base...HEAD" |
There was a problem hiding this comment.
Compare main pushes against the pre-push commit
On a push to main, GITHUB_BASE_REF is unset, so base becomes main; after checkout, origin/main and HEAD both reference the newly pushed commit. Consequently, git diff --check "origin/main...HEAD" examines an empty range and direct pushes containing whitespace errors pass this workflow. Use the push event's before SHA for push events while retaining the base-branch comparison for pull requests.
AGENTS.md reference: AGENTS.md:L41-L47
Useful? React with 👍 / 👎.
| exit 1 | ||
| fi | ||
|
|
||
| for file in $files; do |
There was a problem hiding this comment.
Preserve skill paths when iterating validator results
When the repository is checked out beneath a path containing spaces, unquoted expansion in for file in $files splits every discovered SKILL.md path into multiple words; the first sed invocation then fails on a truncated path and validation exits. Iterate over newline-delimited input without shell word splitting so the advertised portable validator works from ordinary directories such as My Projects/fstack.
AGENTS.md reference: AGENTS.md:L5-L5
Useful? React with 👍 / 👎.
| if ! grep -Fq "\`/$name\`" "$root/README.md"; then | ||
| printf 'ERROR: README.md does not document /%s.\n' "$name" >&2 | ||
| failures=$((failures + 1)) | ||
| fi |
There was a problem hiding this comment.
Validate README skill entries in both directions
This check only ensures that every skill still on disk is mentioned somewhere in the README. If a skill directory is removed or renamed while its old README table and count remain, the loop never checks that stale name and the validator reports success, allowing the documented collection and routing information to diverge from what users can install. Compare the README skill set with the on-disk set in both directions.
AGENTS.md reference: AGENTS.md:L29-L29
Useful? React with 👍 / 👎.
What changed
fstack-run, a continuous source-truth-to-verified-PR workflow for cloud agents./fstackrouting to distinguish interactive and continuous modes.gh skillroute and the broader cross-agentnpx skillsroute.Why this is the smallest complete change
The existing skills remain intact. One new skill owns continuous execution rather than weakening every interactive skill or adding a large orchestration framework. Validation uses POSIX shell already available on GitHub-hosted runners and introduces no application runtime or package manifest.
Evidence
Skill and documentation checks
sh -n scripts/validate.shsh scripts/validate.shREADME.mdMissing evidence or remaining risk
gh skill publish --dry-runis documented but was not executed by this dependency-free CI workflow.