Prepare Cloudflare Production Deployment
LubomirGeorgiev/cloudflare-workers-nextjs-saas-template
Source-of-truth runbook for preparing this Vinext Cloudflare Workers SaaS template for production deployment.
Automatically triage a newly opened GitHub issue — categorise it, verify the claim, and apply the right category and state so a maintainer or agent can pick it up.
$ npx skills add flowershow/flowershow --skill triage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install flowershow/flowershow triage --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/flowershow/flowershow.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/triage .claude/skills/triage && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "triage" agent skill from https://github.com/flowershow/flowershow/tree/main/.claude/skills/triage into .claude/skills/triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/flowershow/flowershow/tree/main/.claude/skills/triageType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add flowershow/flowershow --skill triage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install flowershow/flowershow triage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flowershow/flowershow.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/triage .agents/skills/triage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "triage" agent skill from https://github.com/flowershow/flowershow/tree/main/.claude/skills/triage into .agents/skills/triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add flowershow/flowershow --skill triage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install flowershow/flowershow triage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flowershow/flowershow.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/triage .cursor/skills/triage && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "triage" agent skill from https://github.com/flowershow/flowershow/tree/main/.claude/skills/triage into .cursor/skills/triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/flowershow/flowershow.git --path .claude/skills/triage--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add flowershow/flowershow --skill triage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install flowershow/flowershow triage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flowershow/flowershow.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/triage .gemini/skills/triage && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "triage" agent skill from https://github.com/flowershow/flowershow/tree/main/.claude/skills/triage into .gemini/skills/triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install flowershow/flowershow triageInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add flowershow/flowershow --skill triage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/flowershow/flowershow.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/triage .github/skills/triage && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "triage" agent skill from https://github.com/flowershow/flowershow/tree/main/.claude/skills/triage into .github/skills/triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add flowershow/flowershow --skill triage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install flowershow/flowershow triage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flowershow/flowershow.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/triage .opencode/skills/triage && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "triage" agent skill from https://github.com/flowershow/flowershow/tree/main/.claude/skills/triage into .opencode/skills/triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
triageAutomatically triage a newly opened GitHub issue — categorise it, verify the claim, and apply the right category and state so a maintainer or agent can pick it up.
Triage is an agent skill from flowershow/flowershow. Automatically triage a newly opened GitHub issue — categorise it, verify the claim, and apply the right category and state so a maintainer or agent can pick it up. Runs unattended in the triage GitHub Action.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `AGENT-BRIEF.md` and `OUT-OF-SCOPE.md`).
It sits in DevOps & Cloud, covering CI/CD and Markdown. It works with GitHub, Next.js, Tailwind CSS and Obsidian. The repository describes itself as: 💐 Publish markdown (and html) websites, docs, wikis and websites in seconds. Integrates with your AI. The licence is AGPL-3.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b41983d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Triage loads about 1.9k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 1,017 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from flowershow/flowershow at commit b41983d, republished under its AGPL-3.0 licence (© flowershow). 1,017 words, ~1,893 tokens.
.claude/skills/triage/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Triage a newly opened issue on the project issue tracker, unattended. This skill runs
inside the triage GitHub Action (triggered by issues: opened) — there is no human
in the loop and no interactive turn. You act on exactly one issue, decide, apply the
issue type and one state label with gh, and write a single comment. You never wait for
or ask a maintainer: if a human is needed, mark the issue appropriately
(ready-for-human, needs-info, or needs-triage) and stop — a maintainer will take
it from there.
Applying the decision is mandatory and verified. After this skill runs, the Action
checks that the issue ends up with an issue type set and exactly one state label. If
either is missing, the triage job fails — so you must run the gh commands below,
not just describe your decision in the comment. See Applying the
decision for the exact commands.
Your final assistant message is the issue comment — the Action posts it as-is. It must start with this exact disclaimer line:
> *This was generated by AI during triage.*and contain only the comment — no preamble, no "done" summary, no narration of the
steps you took. Do not post it yourself with gh issue comment (that duplicates
it). A follow-up step strips any stray text before the disclaimer as a safety net, but
do not rely on that — write it clean.
.out-of-scope/ knowledge base worksSet the category as the GitHub issue type (not a label). The org has exactly these issue types — use one of these names exactly:
Bug — something is brokenFeature — a new feature or improvementTask — chore/maintenance work that is neither a bug nor a user-facing featureApply exactly one state label:
needs-triage — a maintainer needs to evaluate (use when genuinely ambiguous)needs-info — waiting on the reporter for more informationready-for-agent — fully specified, ready for an AFK agentready-for-human — needs human implementation (judgment calls, external access, design decisions, manual testing)wontfix — will not be actioned (only for obvious, clear-cut cases; see below)Every issue you triage must end up with exactly one category (issue type) and one state label. The state names above are the actual label strings used on the tracker.
Run these before (or after) writing your comment. The Action verifies the result and fails the job if the type or state label is missing.
Issue type — issue types are not labels, so set the type via the REST API (this
works regardless of the runner's gh version):
gh api --method PATCH "repos/$GITHUB_REPOSITORY/issues/<number>" -f type='Bug'Use Bug, Feature, or Task for type. The <number> is this issue's number.
State label — apply exactly one:
gh issue edit <number> --add-label "ready-for-agent"A freshly opened issue has no state label, so --add-label alone is correct. Only on a
manual re-triage of an issue that already carries a different state label, remove the
old one in the same command, e.g. --remove-label "needs-triage". Never leave two
state labels on an issue.
Gather context. Read the full issue (body, comments, labels, author, dates).
Explore the codebase using the project's domain glossary, respecting ADRs in the
area. Run two checks: (a) redundancy — search for an existing implementation of
the requested behavior by domain concept (not just the request's wording). (b)
prior rejection — read .out-of-scope/*.md and note any that resembles this
request.
Verify the claim. For a bug, reproduce it from the reporter's steps where
cheap. Report what happened: confirmed (with code path), failed to reproduce, or
insufficient detail (a strong needs-info signal). A confirmed verification makes a
much stronger agent brief.
Decide, apply, and comment. Pick the category and state, apply them with the
gh commands from Applying the decision, then write your
triage comment as your final assistant message — the triage action posts that
message as the single issue comment. Do not call gh issue comment yourself
(that duplicates it). Your final message must start with the AI disclaimer and
contain only the comment — no preamble, no "I've completed triage" summary, no
restating the steps you took. Pick the safest defensible outcome:
ready-for-agent; the comment must
contain a ## Agent Brief section built from the template in
AGENT-BRIEF.md (Category, Summary, Current behavior, Desired
behavior, Key interfaces, Acceptance criteria, Out of scope). Describe behavior
and interfaces — never cite file paths or line numbers inside the brief; they
go stale before an agent picks the issue up. You may cite one code location in a
separate verification note (step 2) to prove the repro, but the brief itself
stays behavioral.ready-for-human; write the same
## Agent Brief structure and note why it can't be delegated.needs-info; post the Needs-info template with specific,
answerable questions. This is the terminal action — do not attempt a back-and-forth.wontfix; post your reasoning but do not
close the issue — a maintainer reviews and closes. Only use this for clear-cut
cases: the behavior already exists in the codebase (point to where it lives), the
request matches a documented prior rejection in .out-of-scope/, or it's plainly
out of scope / spam. If there's any real doubt, use needs-triage instead.needs-triage, and explain what you were unsure about.gh commands in
Applying the decision. The Action verifies this and fails
the job if either is missing — describing the decision only in the comment is not
enough.gh issue comment — the action posts your final message as the comment, so posting
it yourself creates a duplicate. No multi-comment threads, and no chatter wrapped
around the comment (the whole final message is the comment). The message must start
with the disclaimer line.CONTEXT.md, ADRs, or .out-of-scope/
from the action — those need a human-reviewed commit/PR. Put recommendations in the
comment instead.## Triage Notes
**What we've established so far:**
- point 1
- point 2
**What we still need from you (@reporter):**
- question 1
- question 2Questions must be specific and actionable, not "please provide more info".
© flowershow, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in .claude/skills/triage of flowershow/flowershow.
Open the folder on GitHubat commit b41983d
Triage next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Triage this skillflowershow/flowershow | 1.1k | — | ~1.9k | Automated safety check: Pass | AGPL-3.0 | |
| Prepare Cloudflare Production DeploymentLubomirGeorgiev/cloudflare-workers-nextjs-saas-template | 786 | — | ~5.9k | Automated safety check: Notes | MIT | |
| Obsidian CI Integrationjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~2k | Automated safety check: Pass | MIT | |
| Azure Pipelines Log Downloaderansible/ansible | 71k | — | ~825 | Automated safety check: Pass | GPL-3.0 | |
| Nushellccusage/ccusage | 19k | — | ~938 | Automated safety check: Pass | Custom licence | |
| Thesvgglincker/thesvg | 2.8k | — | ~1.5k | Automated safety check: Pass | MIT |
LubomirGeorgiev/cloudflare-workers-nextjs-saas-template
Source-of-truth runbook for preparing this Vinext Cloudflare Workers SaaS template for production deployment.
jeremylongshore/tons-of-skills-marketplace
Set up GitHub Actions CI/CD for Obsidian plugin development.
ansible/ansible
Downloads Azure Pipelines CI logs for an Ansible pull request or build so the agent can analyze test failures, after asking you first.
ccusage/ccusage
Guides ccusage Nushell scripts. An agent skill from ccusage/ccusage.
glincker/thesvg
Fetch brand SVG logos and cloud architecture icons (AWS, Azure, GCP) from theSVG.
openclaw/openclaw
A skill your agent uses for all ClawSweeper work: OpenClaw issue/PR sweep reports, repair jobs, cloud fix PRs, @clawsweeper maintainer mention commands, trusted ClawSweeper-reviewed…
Works with
Categories
Automatically triage a newly opened GitHub issue — categorise it, verify the claim, and apply the right category and state so a maintainer or agent can pick it up. Triage is an agent skill from flowershow/flowershow. Automatically triage a newly opened GitHub issue — categorise it, verify the claim, and apply the right category and state so a maintainer or agent can pick it up.
Triage fits situations like: tasks that involve CI/CD; tasks that involve Markdown.
Run `npx skills add flowershow/flowershow --skill triage -a claude-code`. Or copy the skill folder (.claude/skills/triage in flowershow/flowershow) into .claude/skills/triage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add flowershow/flowershow --skill triage -a codex`. Or copy the skill folder (.claude/skills/triage in flowershow/flowershow) into .agents/skills/triage in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add flowershow/flowershow --skill triage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/triage, .gemini/skills/triage, .github/skills/triage and .opencode/skills/triage in your project.
Going by SKILL.md and its folder, Triage needs the command-line tools its instructions call (gh).
SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Triage is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Triage: Prepare Cloudflare Production Deployment (LubomirGeorgiev/cloudflare-workers-nextjs-saas-template, 786 stars), Obsidian CI Integration (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Azure Pipelines Log Downloader (ansible/ansible, 71k stars) and Nushell (ccusage/ccusage, 19k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
flowershow (a GitHub organization) maintains it in flowershow/flowershow, which has 1,108 GitHub stars. The repository was last updated on October 6, 2026.
Source: flowershow/flowershow on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.