agentleFS
ShipTodayShipToday/forge-plugin-cursor/skills/forge-feedback/SKILL.md

forge-feedback

Skill0 starsChanged 5 days agoMITView on GitHub

Collects feedback for the ShipToday team from inside an AI coding session and delivers it via Forge's shared MCP feedback backend. Invoke this skill whenever the user wants to "send feedback", "share feedback", "report a problem with Forge", "give the ShipToday team feedback", "submit feedback", or types "forge-feedback". The skill runs a short conversation to capture the feedback, gathers and SANITIZES relevant session context, shows the user the exact payload that will be sent, lets them revise it, and sends ONLY after explicit user confirmation by calling the `forge__send_feedback` MCP tool. No feedback content is stored. Do NOT invoke for product/SDLC work on a tracked item — that is `forge-autopilot` / `forge__start_workflow`.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. tonmoy007/forge-plugins★ 2same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository2 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

10 rules. About 0 are common, 8 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not disclose the delivery mechanism to the user: Don't name the channel or transport the feedback is sent through — just confirm it …

    line 29
  2. Very specific:

    Nothing is sent without explicit confirmation: If the user declines, send nothing, make no forge__send_feedback call, and exit gracefully.

    line 35
  3. Distinctive:

    Prefer a compatible blocking control.

    line 51
  4. Distinctive:

    Use a compatible, permitted host-native control (a structured user-input tool if available).

    line 71
  5. Distinctive:

    Ask the user what feedback they'd like to share with the ShipToday team.

    line 80
  6. Distinctive:

    Sanitize the context before showing or sending it: Remove:

    line 91
  7. Distinctive:

    If you are unsure whether something is sensitive, leave it out.

    line 99
  8. Distinctive:

    Ask the user to confirm, revise, or cancel.

    line 116
  9. Very specific:

    Only after explicit confirmation, call forge__send_feedback:

    line 127
  10. Distinctive:

    Do NOT pass any user identity in the args — the tool takes it from the authenticated session.

    line 136

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Forge Feedback

You are helping the user send feedback to the ShipToday team from inside their AI coding session. Delivery goes through Forge's shared, MCP-owned feedback backend via the forge__send_feedback tool — you only deliver through that tool, never through any other tool, and you never send anything until the user has seen the exact payload and explicitly confirmed.

Privacy contract (non-negotiable):

  • No feedback content is persisted to any database. It reaches the ShipToday team and nothing else.
  • Do not disclose the delivery mechanism to the user. Don't name the channel or transport the feedback is sent through — just confirm it reaches the ShipToday team. How and where it is delivered is an internal detail.
  • Session context must be sanitized before it leaves the session. You are responsible for the first scrub; the backend re-sanitizes defensively, but do not rely on that.
  • Nothing is sent without explicit confirmation. If the user declines, send nothing, make no forge__send_feedback call, and exit gracefully.

Question delivery

Codex question lifetime

For fixed choices, prefer supported, permitted native UI. Forge may use a negotiated MCP form; after an answered RE-ENTRY, never ask the question again. Otherwise use request_user_input or request_user_input_async only when callable and permitted for this question's purpose in the current mode. Assess MCP forms and each host tool independently. In Default mode, a Plan-only blocking tool does not prohibit the async tool: check its own permissions before numbered text. An unexplained MCP rejection is not a policy-wide denial. Explicit policy prohibiting the question across routes still applies. Prefer a compatible blocking control. A permitted async picker may be used once; its string options carry exact labels, so show descriptions and full approval material in prose before opening it. Respect each tool's actual schema: blocking input accepts 2–3 options; that limit does not apply to every native control. Do not remove choices to make them fit.

An acknowledgment such as accepted:true records submitted delivery only, with no answer. Retain the pending question ID, step token and option keys; wait for the actual user selection or explicit typed reply before dependent work. The async picker can close at turn end or timeout: show the same numbered recovery choices before ending the turn unless the user has already answered. Never re-open it automatically, force Plan mode, probe forbidden tools, or keep it alive with sleeps or polling. A resolved UI event can be cleanup, not an answer. Do not bypass host policy rejection through another tool. When native input is unavailable or prohibited, use persistent numbered choices. Other hosts keep their permitted native controls and existing wait protocol.

Feedback confirmation

Use a compatible, permitted host-native control (a structured user-input tool if available). Keep the full sanitized payload in prose before the picker. Question delivery does not authorize sending: only an explicit Send it answer for that exact payload does. A revised payload requires a new confirmation. If native input is unavailable or prohibited, show the same choices as a numbered list and wait for an explicit reply.

Step 1 — Collect the feedback

Ask the user what feedback they'd like to share with the ShipToday team. Keep it to one open question; let them write freely. If they already stated their feedback when invoking the skill, use that and skip re-asking.

Step 2 — Gather and sanitize session context

Optionally enrich the submission with brief, relevant context from the current session that would help ShipToday act on the feedback — e.g. what the user was doing, which Forge workflow/step was active, the tool or command involved, and any error message. Keep it short (a few lines).

Sanitize the context before showing or sending it. Remove:

  • Secrets and credentials: API keys, tokens, bearer tokens, JWTs, passwords, KEY=value env assignments, connection strings.
  • Private customer data and PII: emails, names, customer identifiers, file contents that aren't relevant to the feedback.
  • Anything the user wouldn't want shared outside their org.

If you are unsure whether something is sensitive, leave it out.

Step 3 — Show the exact payload for review

Render the exact payload that will be sent, as plain text, so the user can see precisely what leaves their machine:

Feedback:
<the feedback text>

Session context (sanitized):
<the sanitized context, or "(none)">

Step 4 — Let the user revise, then confirm

Ask the user to confirm, revise, or cancel. Follow Question delivery above, with options like Send it, Edit first, and Don't send:

  • Edit first → apply their changes and re-render the payload (back to Step 3).
  • Don't send / cancel / no response → send nothing, do not call forge__send_feedback, and tell them: "No problem — nothing was sent." Then stop.
  • Send it → proceed to Step 5.

Step 5 — Send via the shared backend

Only after explicit confirmation, call forge__send_feedback:

forge__send_feedback({
  text: "<the confirmed feedback text>",
  context: "<the sanitized session context, or omit if none>"
})

Do NOT pass any user identity in the args — the tool takes it from the authenticated session. Do NOT use any messaging or email tool to send feedback yourself; the tool is the only delivery path.

Report the result to the user:

  • Success → "Your feedback has been sent to the ShipToday team. Thanks!"
  • Non-delivery (the tool returns an error message, e.g. rate-limited or a transient transport failure) → relay the tool's message and offer to try again later. Do not retry automatically more than once.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.