review-latest-feedback
Skill7.6k starsChanged 5 months agoMITView on GitHub
Sweep recent feedback (the Slack feedback channels, GitHub issues, CI on main, Sentry, Analytics errors, chat run health, deploys), fix as many real bugs as possible, ship them in one PR, then close the loop on every Slack report with ๐/โ /๐ซ and one short plain-English reply. Use for scheduled or manual feedback sweeps, usually followed by /ship.
We split this skill into the rules it gives an agent
29 rules. About 0 are common, 23 are distinctive, and 6 are very specific to this project.
โ0
Common ยท estimate
Many files like this have a rule of this kind.
โ23
Distinctive ยท estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 50
Every claimed report gets one reply in its thread per outcome.
- Distinctive: line 55
An answer first: if they asked something ("is this expected?"), answer it in the first words ("no, that's a bug"), not with a status.
- Distinctive: line 65
Never report your own progress ("unreproduced", "not traced yet", "remains open").
- Distinctive: line 72
Not a to-do list for them: look things up yourself first (the message's time and author, their account and recent activity, logs, the โฆ
- Distinctive: line 81
Plain, not preachy: don't explain how the product works unless they asked, don't tell them what they should do, and skip apologies, โฆ
- Distinctive: line 87
Once: never post the same reply twice, and never follow up with one that adds nothing new.
- Distinctive: line 93
Don't reply at all to jokes, venting, banter, a message meant for Steve himself, or a thread a person is already handling.
- Very specific: line 129
Slack: only #product-agent-native-feedback (C0ATH3CCZT4) and #qa-agent-native (C0C4U4XRT6X), or the narrower set the invocation names.
- Distinctive: line 134
Leave a report alone: when:
- Distinctive: line 150
Goals end with the run: If you set a Codex goal, scope it to this run: name its PR once you have one, and end it after step 6 ("merge PR โฆ
- Distinctive: line 156
Use the connected Slack integration for every Slack read and write.
- Very specific: line 183
Read the channels: Use slack_read_channel with response_format: detailed (paginate) back 5 days.
- Distinctive: line 189
Open items first: Verify Steve's ๐ on the root and workflow ownership from a matching run recap, proof-bearing PR, or automation memory โฆ
- Distinctive: line 233
Put each report in one bucket:
- Very specific: line 294
Commit the fix and its check, then run node scripts/fix-proof.ts --fix <that commit> -- <the check> from the repo root and paste its โฆ
- Distinctive: line 304
Two misses, then stop guessing: If two attempts don't turn the check green, stop editing and capture the real failure first (stack, logs, โฆ
- Distinctive: line 317
Never tune agent instructions or prompts around one report's wording.
- Distinctive: line 321
Put every fix in one PR, and open it once every claimed Fix report has a fix or a failed attempt, so CI waits come after the fixing.
- Distinctive: line 328
Wait for CI with one command that blocks until every check finishes, and wait on it with the longest call your tool allows, not a short โฆ
- Distinctive: line 379
Run it once per thread: if a reply in the thread already links this PR, just make sure โ is there and move on.
- Distinctive: line 382
Write only as the connected Slack profile (Steve), only in the feedback channels, and in the reply format from the contract above.
- Very specific: line 391
Merged fix: add โ and reply that it's fixed, with the PR linked, and will be on beta shortly.
- Distinctive: line 397
Needs a person: add ๐ซ and say in plain words what's needed and who has it now, by name ("Steve will take a look" if no one else clearly โฆ
- Distinctive: line 399
Couldn't reproduce: add ๐ซ. If one small answer from the reporter would unblock it and you couldn't find it yourself, ask for just that.
- Distinctive: line 413
Before ending, re-read each thread you touched and check:
- Very specific: line 415
every ๐ from this run has an investigated disposition and, unless a person has taken over, a reply plus โ , ๐ซ, or an open fix PR listed โฆ
- Distinctive: line 417
every โ corresponds to a merged fix.
- Distinctive: line 418
no reply is technical or duplicated.
- Distinctive: line 422
Keep the recap short, for Steve:
โ โCommonโ is an estimate: at least 1 in 5 of the 308,232 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.
Files
Review Latest Feedback
The job: find what's broken, fix as much of it as you can, ship it, and tell each reporter in one friendly sentence what happened. A sweep is judged by bugs fixed and merged, and by every claimed report getting a clear answer. It is not judged by ledgers, receipts, or checker output, so don't produce them.
The contract
The detailed Slack reaction and reply rules are in slack-reaction-replies.md; read it before marking, replying to, or closing any Slack report.
Slack reactions on a report's root message mean exactly this:
| Mark | Meaning | When to add |
| ๐ | "I'm on this" | Before you investigate, and only on reports you will finish answering in this run |
| โ | "Fixed" | After the fix is merged to main (main deploys to beta automatically) |
| ๐ซ | "Needs a person" | A product call, access or credentials, info from the reporter, or a fix you couldn't land |
Steve (U0GCV21HC) steers the sweep with his own reactions on a root:
| Steve adds | Meaning |
:mag: | Don't work on this; someone else will. Wins over everything below |
:yes-party: | Definitely do this, even if it looks ambiguous or like a UX change. Build the smallest version that does what was asked |
:upvote: | Same as :yes-party: for a feature request |
| ๐ by hand | He's working on it himself; leave it (see "Open items first" for how to tell his ๐ from ours) |
Reactions can't be removed through the Slack connector, so never add one you might need to take back. Every ๐ you add ends the run with a reply, plus either โ or ๐ซ, or a fix PR that is still open and lists the report (its merge adds the โ ). A ๐ with no follow-up is the most common complaint about this workflow.
Every claimed report gets one reply in its thread per outcome. The one exception is
the merged โ
close-out after an in-review reply, which gets no second reply. People
have pushed back on replies that were long, technical, condescending, vague
about who does what next, or that handed them work. Each reply must be:
- An answer first: if they asked something ("is this expected?"), answer it in the first words ("no, that's a bug"), not with a status.
- Short: one sentence, about 25 words at most, for someone who doesn't read code.
- About what they'll notice: say what changes for them ("recordings no longer get stuck on Saving"), not how it works ("cleanup now waits for the transcript"). Leave out file, function, and service names, PR numbers, ticket IDs, CI, logs, runs, "repro", "verified", "scope", "sweep", status labels ("In progress:", "Skipped:", "Resolved elsewhere:", "Blocked on human owner:", "Open - no question:"), and any mention of this workflow. Never report your own progress ("unreproduced", "not traced yet", "remains open"); say what happens next instead.
- Clear on who does what next: "I'll ..." or a named person ("Sid will decide ..."). Never "the team", "product", "the framework team", "the owner", or "someone". If no one else clearly owns it, say Steve will take a look (or decide). Replies post from Steve's account, so never "I've passed it to Steve". Never @-mention anyone.
- Not a to-do list for them: look things up yourself first (the message's time and author, their account and recent activity, logs, the linked page or screenshot). Ask only when nothing else can unblock it, and then ask one small thing, in this one reply. Never send a list of questions, never ask them to test, retry, re-record, pull, reinstall, or gather logs, and never come back later asking for something you could have asked the first time. If it needs access you don't have (credentials, admin rights, account changes), say Steve will handle it; never hand it to the reporter.
- Plain, not preachy: don't explain how the product works unless they asked, don't tell them what they should do, and skip apologies, hedging, "actually", "just", "simply", and "Great catch!!".
- True: "fixed" only for a merged fix, and "on beta shortly" only after the merge. Before that, the fix is "in review". Never "fixed and verified" on the strength of a local check.
- Once: never post the same reply twice, and never follow up with one that adds nothing new.
- Link the PR on the word "fix" (
<url|fix>), never by number. - End with the bold line
**This was sent from a bot**on its own line, once.
Don't reply at all to jokes, venting, banter, a message meant for Steve himself, or a thread a person is already handling. Once a person says they have it, or asks the bot to stop, post nothing more in that thread. Before posting, reread the reply as the reporter: would they get it in five seconds, know who does what next, and feel we did the legwork? Check the draft before sending, not after: the first version is the one that notifies them, so editing it afterwards doesn't undo it.
Good (each is the first line; the footer goes on the line below it):
thanks - the <https://github.com/BuilderIO/agent-native/pull/1234|fix> so the export keeps your column order is merged and will be on beta shortly.thanks - once this <https://github.com/BuilderIO/agent-native/pull/1234|fix> merges, the export will keep your column order; it's in review now.thanks - Steve will decide where that button should go.thanks - I couldn't find which deck this was; could you paste its link?
So a full reply looks like:
thanks - the <https://github.com/BuilderIO/agent-native/pull/1234|fix> so the export keeps your column order is merged and will be on beta shortly.
**This was sent from a bot**Real replies that missed, and what to send instead:
| Sent | Instead |
| "Could you send the recording link, approximate time, and browser so we can trace whether the clip produced media before it tried to save?" | Find the recording from the reporter and message time first. If you still can't: "thanks - I couldn't find which recording this was; could you paste its link?" |
| "cleanup now waits for the transcript, and a fix is ready. It should be on beta shortly." (sent before the merge) | "thanks - recordings will keep their transcript once this <url|fix> is merged; it's in review now." |
| "I've left moving it somewhere easier to find for product to decide." | "thanks - Steve will decide where the editor should live." |
| "Partially fixed - PR #7512 merged the project-instructions/context carryover fix", after she'd asked whether FullStory could be added for the whole org | Answer that question first: "yes - I'll add it for everyone" or "not yet - Steve will decide". |
| "All fixed and verified. Please try again!" plus instructions to pull main and reinstall | "thanks - this <url|fix> is merged and will be on beta shortly." No homework. |
| More replies after Shawn wrote "bot please stop! I've got this all fixed and in flight" | Nothing. A person has it. |
| "Thanks for correcting me, Julia - I misread the replies. ... Open - no question: I don't have enough source evidence to claim a fix." | Nothing: the thread was a joke. |
| Asked for the app URL, what was clicked, and the time; then, in a second reply, for the time zone. | One reply, one question, only for what you can't look up. The message's own timestamp already says when. |
Boundaries
- Slack: only
#product-agent-native-feedback(C0ATH3CCZT4) and#qa-agent-native(C0C4U4XRT6X), or the narrower set the invocation names. Never react or reply anywhere else. Reply only in a report thread that this workflow claimed with ๐ and investigated; an old bot reply alone is not evidence of a claim. Never start a new channel message. - Leave a report alone when:
- Steve put
:mag:or his own ๐ on it (table above); - someone in the thread asked a specific person to look, a teammate says they're handling it, or Steve asked for a human on it;
- another person's ๐ sits on it and they've been active in the last 3 days;
- an earlier run's PR for it is still open. That PR's
/shipcloses the report out when it merges.
- Steve put
- PRs: push to, comment on, or merge only PRs authored by the active
GitHub login (
gh api user --jq .login). Never touch anyone else's PR unless the invocation names that exact PR and action. - One run, one PR. Work only on the PR this run opened. Every sweep PR is
authored by Steve's login, so the author check can't tell runs apart: an
open PR with a
Reportssection that this run didn't open belongs to another run that may still be working on it. Don't push to, reply on, or merge it; list it under "Still open from earlier runs". - Goals end with the run. If you set a Codex goal, scope it to this run: name its PR once you have one, and end it after step 6 ("merge PR #N, close its Reports, append the recap"). Never set an open-ended goal such as "review feedback" or "fix Steve's open PRs". Goals resume after restarts, so an open-ended one keeps running into the next scheduled sweep and collides with it.
- Use the connected Slack integration for every Slack read and write. Confirm the connected profile is Steve before the first write.
1. Collect (keep it under ~15 minutes)
Work in a task-owned worktree on fresh origin/main. If you start in a shared
checkout, or the expected worktree is missing, create one
(git worktree add <path> origin/main) and carry on. That is never a reason
to stop.
Window: roots posted in the last 5 days (or since the timestamp or permalink
the invocation gives), for new reports and open items alike. An older thread
is in the window too when we have already replied in it and a person has
replied since the window began: a channel read only shows roots, so search for
recent thread replies (in:<#channel> is:thread after:<date>) to find them.
Roots in memory.md under "Claimed reports", "Claimed, not yet answered",
or "Must handle next run" are always in the window. Other older threads are left as they are, except reports listed under
Reports in a sweep PR opened or merged in that window: those always get
their close-out.
Give each source below its own helper on the cheapest model (Luna in Codex,
Haiku in Claude Code), and close it as soon as it reports. A helper gathers;
you triage. The Slack helper returns every root a person posted in the window with no โ
, ๐ซ, or :mag:,
and every root with a person's reply newer than ours, one line each (link,
author, first line). It never filters, ranks, or drops one: a new report has
no reaction and no thread yet.
- Read the channels. Use
slack_read_channelwithresponse_format: detailed(paginate) back 5 days. Its output shows reaction counts but not who added them, so callslack_get_reactionson any root showingeyes,white_check_mark,ticket,mag,yes-party, orupvote. Don't rely onhasmy:searches. - Open items first. Verify Steve's ๐ on the root and workflow ownership
from a matching run recap, proof-bearing PR, or automation memory claim.
A bot reply, reaction, or memory entry alone is insufficient. Investigate
before replying, and read the thread for human updates. A root
listed in the
Reportssection of a sweep PR that is still open and that this run didn't open belongs to the run working on that PR: don't react or reply there, and leave it out of your self-check; just list it under "Still open from earlier runs". If that PR has had no push in 24 hours, its run has stopped: its reports are yours again. Of the remaining workflow roots, those without โ or ๐ซ come first in this run. A newer human reply is context, not by itself a reason to respond: investigate the claimed report and leave conversations already handled by people alone. A root with ๐ซ and our reply after its latest human message is already answered: you may still fix it, but post nothing there until the fix merges. A reply like "still broken" after a โ means the earlier fix failed. Find what that fix changed and why it didn't hold before trying again. - New reports: roots from the last 5 days. React and reply on the root
message's own
ts. A channel-history row whosethread_tsdiffers from itstsis a reply that was also sent to the channel: use itsthread_tsparent instead. Read the thread for every root that looks like a report. Open screenshots and attachments, since the error text in a screenshot is often the whole diagnosis. - Other sources. Unread or failing sources are reported as
unavailable, never as "nothing found".
- GitHub: open issues updated in the window
(
gh issue list --state open --search "updated:>=<date>"). Skip ones someone else has offered to fix. - Sentry (through its connector, or the local reader the invocation
names) and Agent-Native Analytics (
list-error-issues, thenget-error-issue): unresolved, recent, and repo-owned. Rank by users affected. An error with a stack trace is already a reproduction lead.
- GitHub: open issues updated in the window
(
<!-- framework-repo-only:start -->- CI on main:
pnpm ci:red-report(exit 2 means CI unavailable, not clean). - Chat run health:
node scripts/chat-health.mjs --hours 72; see chat-run-health.md for what each failure reason usually means. - Deploys and releases:
gh run list --branch main --status failure --limit 30for the deploy, release, desktop, and publish workflows.
<!-- framework-repo-only:end -->2. Triage: lean toward fixing
Put each report in one bucket:
- Fix: anything objectively broken. This means errors, nothing happening on click, lost or wrong data, regressions, slowness, jank, and visible defects like clipped or overlapping text, unreadable contrast, or a broken layout. A credible "nothing happens" counts as evidence.
- Build: a feature request or UX change carrying Steve's
:upvote:or:yes-party:. - Needs a person (๐ซ): subjective product or UX changes Steve hasn't endorsed (add, move, hide, or restyle controls; "hard to find"), work that needs access or settings only a person has, a provider outage, or a report you can't act on without one missing fact. A bug you couldn't reproduce by reading code is still a Fix.
- Not actionable: praise, chatter, announcements, things a human already answered, duplicates of something already in this run. These get no reaction and no reply.
Issues from the error and health sources above go in the same buckets, ranked with the Slack reports by people affected. They have no thread to react on, so they appear only in the recap.
Claim Fix reports in order of people affected. Unfinished claims stay in "Claimed reports" for the next run. Any Fix, Build, or Needs-a-person root you leave unclaimed gets no reaction, only one line in the recap saying why, so nothing is dropped silently. That covers every candidate your source helpers return: each one ends the run either claimed or on a recap line with its reason.
In scheduled and manual runs, record each root (channel and ts) under "Claimed
reports" in the feedback automation's memory.md, then add and verify ๐
before investigating. A record alone does not establish a claim: the root
must also have the verified ๐ from this workflow. Retain the record until
the report is resolved or a person takes over. If shared memory is unavailable,
do not claim new roots.
3. Fix as many as you can
- Group related reports so one cause gets one fix. Give each independent group a fresh subagent on your own model and effort, with disjoint files, or fix it in the main thread. Never hand a finished helper a new job; start a fresh one. The main thread plans, reviews diffs, and integrates.
- Reproduce before you edit. Get the failure on screen first: a test that fails, the action returning the wrong thing, a stack trace, or the flow broken in a signed-in local app. Reading code is not an attempt: write the report's steps as a failing test, or walk them in the signed-in app. A broken setup isn't an attempt either: when a test can't load or an install fails, fix the setup (install what's missing, or free space by removing only this run's own build output) or walk the steps in the signed-in app instead. Only after a real attempt fails does a report become ๐ซ, and its recap line says what you ran. No reproduction means no code change.
- Check the history.
git log --since=30.days --oneline -- <files>: if this surface was fixed before for the same symptom, that fix treated a symptom. Find the shared cause (fix-at-the-boundary) instead of adding one more patch, and look for the same pattern elsewhere. - Prove it. The check has to fail with the fix's source changes put
back to
mainand pass with them. A check that passes without your fix doesn't test the bug: write one that does. Tests that read source text never count. For a purely visual fix, before and after screenshots are evidence for a person to inspect, not automated proof. Before merging, a human must open both images and confirm they show the reported change. Put the evidence under the report in the PR'sReportssection.
<!-- framework-repo-only:start -->Commit the fix and its check, then run
node scripts/fix-proof.ts --fix <that commit> -- <the check> from the
repo root and paste its fix-proof: proven ... line, unchanged, under
each report it fixes (visual: <before> <after> for a purely visual
fix). The required Lint & format check runs this gate for PRs with a
Reports section and re-runs machine proofs. It marks visual-only reports
as needing human validation before merge. Write the check before you push. The second
opinion below reads the red output to confirm the check failed on the
bug, not on setup.
<!-- framework-repo-only:end -->- Two misses, then stop guessing. If two attempts don't turn the check green, stop editing and capture the real failure first (stack, logs, the reporter's actual data). If that doesn't settle it within about 30 minutes, it becomes ๐ซ with one line on what you learned.
- Second opinion before the PR, every time. Give a fresh subagent on your own model only the report text, the diff, and the proof, and ask: does the check exercise what the reporter saw, is this the cause or a symptom, and what edge case breaks it? Fix what it finds before you open the PR.
- Keep fixes small. Each report's fix goes in its own commit so a bad one can be reverted alone. A fix that grows past about 300 lines, or into a new subsystem (timeouts, cancellation, retries) the reporter didn't ask for, isn't a sweep fix: ship the small part and ๐ซ the rest. Match the versions the workspace already pins; a sweep is not a dependency upgrade.
- Never tune agent instructions or prompts around one report's wording.
4. Ship
Put every fix in one PR, and open it once every claimed Fix report has a
fix or a failed attempt, so CI waits come after the fixing. Don't open one
PR per item. End the PR body with a
## Reports heading listing the link of every report the PR fixes: the
Slack thread, or the Sentry, Analytics, or GitHub issue. That list is the
only set of threads a later /ship may close out as fixed.
Wait for CI with one command that blocks until every check finishes, and wait on it with the longest call your tool allows, not a short call you repeat: every call re-sends your whole context.
<!-- framework-repo-only:start -->Here that command is pnpm ci:wait <number>: it prints nothing until CI is
done, then one summary. Exit 1 means a check failed. Exit 2 means it couldn't
tell, and its last line says why: rerun a cancelled check, run the command
again when time ran out with checks still going, and otherwise look at the PR
yourself. To need fewer calls, pass --max-minutes about a minute
under your tool's call limit.
<!-- framework-repo-only:end -->Without a repo command for it, run
gh pr checks <number> --watch --interval 60 > /dev/null in one call bounded
by your tool's limit, then read gh pr checks <number> twice, a minute
apart: CI is done only when both reads list the same checks, at least one,
and none is pending. Otherwise wait again the same way and rerun any cancelled check; after
about two hours, stop and look at the PR yourself.
Fix each review round's findings in one batch. If a second round still finds
a problem in the same fix, take that fix out of the PR, remove its whole entry
from the PR's Reports section: the link and its fix-proof: and visual:
lines (close-out marks every listed report fixed, and a stray evidence line
counts toward the report above it). Then ๐ซ its
report with what review found, and merge the rest. Close the PR only when nothing verified
is left in it.
Merge it the way this repo merges PRs. In a Factory workspace, that means the workflow's merge step after its merge gate, never a direct merge.
<!-- framework-repo-only:start -->In the framework repo, run /ship through the merge.
<!-- framework-repo-only:end -->A sweep's PR contains product fixes only. Don't edit this skill, add checker scripts, or add bookkeeping files in it. If the run taught something, propose a one-line lesson in the recap and Steve will decide whether it goes in.
5. Close the loop
This step is the only place a claimed report gets its closing reply. Run it
after the merge for the threads in the PR's Reports section. If the merge
happened outside this run, the next sweep runs it: when you collect, list the
sweep PRs merged in the window (gh pr list --state merged --limit 100 --search
"merged:>=<date>") and close out every report in their Reports sections
that still lacks its โ
, however old the report is.
Entries that aren't Slack threads get no Slack action: GitHub issues follow
the issue rule below, and Sentry and Analytics issues are only listed in the
recap.
<!-- framework-repo-only:start -->In the framework repo, /ship step 6 runs this step after its merge, and
address-feedback-with-replies runs it for its own threads.
<!-- framework-repo-only:end -->Run it once per thread: if a reply in the thread already links this PR, just make sure โ is there and move on.
Write only as the connected Slack profile (Steve), only in the feedback
channels, and in the reply format from the contract above. First re-read
the contract and this step from fresh origin/main (git fetch origin main
&& git show origin/main:.agents/skills/review-latest-feedback/SKILL.md): a
run that started hours ago may be holding older rules. Re-read each thread before
writing. If Steve has since added :mag: or a person has taken it over,
leave it. If a newer human reply says it's still broken, leave the ๐ for the
next sweep. Otherwise:
- Merged fix: add โ
and reply that it's fixed, with the PR linked, and
will be on beta shortly. Only for reports whose
Reportsentry carries a proof (step 3). Without one, it's ๐ซ and "Steve will take a look". - Fix ready but not merged yet (for example CI is still running when the run must end): reply that a fix (PR linked) is in review. Don't mention beta yet. The next run adds โ once it's merged, with no second reply.
- Needs a person: add ๐ซ and say in plain words what's needed and who has it now, by name ("Steve will take a look" if no one else clearly owns it).
- Couldn't reproduce: add ๐ซ. If one small answer from the reporter would unblock it and you couldn't find it yourself, ask for just that. Otherwise say you couldn't reproduce it and that Steve will take a look. Never ask for anything already in the thread.
GitHub issues fixed by the merged PR get a one-line thank-you comment linking the PR, and then get closed. Post it even when someone else opened the issue, or the PR already closed it: Steve wants reporters told, and this comment is allowed under his "only message Steve" account rule.
<!-- framework-repo-only:start -->Report unresolved CI, deploy, and chat-health failures in the private run recap. Do not create Slack channel messages or GitHub issues for them.
<!-- framework-repo-only:end -->Before ending, re-read each thread you touched and check:
- every ๐ from this run has an investigated disposition and, unless a person
has taken over, a reply plus โ
, ๐ซ, or an open fix PR listed under
Reports; - every โ corresponds to a merged fix;
- no reply is technical or duplicated.
6. Recap
Keep the recap short, for Steve:
## Feedback sweep - <date, Pacific>
Fixed and merged (N): <one line each, with Slack thread link> ยท PR <link>
Closed out from earlier runs (N): <Slack thread link> ยท PR <link>
Needs a person (N): <what's needed, who, what you tried>
Still open from earlier runs (N): <why>
Seen, not picked (N): <Slack thread link> - <one-line reason>
Roots: <n> seen, <n> claimed, <n> left
Sources unavailable: <list or "none">
Lesson (optional): <one line>"Fixed and merged" is this run's PR only; reports you closed out for an earlier run's merged PR go under "Closed out from earlier runs".
In an automation, append the same recap to its memory.md.
Trending
More talk lately.about the whole repository
Who's talking about BuilderIO/agent-native
- @github-trending-js.bsky.socialโ๐ฆ BuilderIO / agent-native โญ 4,978 (+89) ๐ TypeScript A framework for building agentic appsโBluesky ยท Sep 20, 2026 ยท 2 likes
- @github-trending-js.bsky.socialโ๐ฆ BuilderIO / agent-native โญ 4,011 (+96) ๐ TypeScript A framework for building agent-native applications.โBluesky ยท Jul 26, 2026 ยท 2 likes
- @epicvibecoder.bsky.socialโagent-native: a TypeScript framework from Builder.io for apps where AI agents are first-class users, not an โฆโBluesky ยท Jun 20, 2026 ยท 2 likes
- @github-trending-js.bsky.socialโ๐ฅ Hot Repo๏ผ ๐ฅ (100+ new stars) ๐ฆ BuilderIO / agent-native โญ 7,378 (+107) ๐ TypeScript A framework for โฆโBluesky ยท Oct 16, 2026 ยท 1 likes
- @dailygithubtrends.bsky.socialโไปๆฅใฎGitHubใใฌใณใ BuilderIO/agent-native Agent-Nativeใฏใ่ชๅพ็ใซๅไฝใใใจใผใธใงใณใใจๅฐ็จUIใ็ตใฟๅใใใฆ้็บใใใใใฎTypeScriptใใฌใผใ ใฏใผใฏใงใใโฆโBluesky ยท Sep 23, 2026 ยท 1 likes
The biggest 5 of 61 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 61
Talked about on GitHub and Bluesky (61 times).
On GitHub ยท 50
- Oct 28, 2026agent-skills.github.builderio.agent-native: 0-unstable-2026-10-27 โ 0.1.287 โ sudosubin/agents.nix0 reactions
- Oct 28, 2026claude-code-marketplaces.github.builderio.agent-native: 0-unstable-2026-10-27 โ 0.1.287 โ sudosubin/agents.nix0 reactions
- Oct 28, 2026codex-marketplaces.github.builderio.agent-native: 0-unstable-2026-10-27 โ 0.1.287 โ sudosubin/agents.nix0 reactions
- Oct 28, 2026codex-plugins.github.builderio.agent-native: 0-unstable-2026-10-27 โ 0.1.287 โ sudosubin/agents.nix0 reactions
- Oct 28, 2026agent-plugins.github.builderio.agent-native: 0-unstable-2026-10-27 โ 0.1.287 โ sudosubin/agents.nix0 reactions
45 more on GitHub
- Oct 28, 2026claude-code-plugins.github.builderio.agent-native: 0-unstable-2026-10-26 โ 0.1.287 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026agent-skills.github.builderio.agent-native: 1a39024 โ efdb9df โ sudosubin/agents.nix0 reactions
- Oct 27, 2026claude-code-marketplaces.github.builderio.agent-native: 869063e โ 06e5709 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026codex-marketplaces.github.builderio.agent-native: ba4ef37 โ 06e5709 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026codex-plugins.github.builderio.agent-native: 55d65b3 โ 0cc74c0 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026chore: update Agent Native exported skills โ BuilderIO/skills0 reactions ยท 1 comment
- Oct 27, 2026agent-plugins.github.builderio.agent-native: 1fcca73 โ cc341a4 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026agent-plugins.github.builderio.agent-native: 36006e6 โ 1fcca73 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026agent-skills.github.builderio.agent-native: 3e6443d โ 1a39024 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026claude-code-marketplaces.github.builderio.agent-native: 87ba124 โ 869063e โ sudosubin/agents.nix0 reactions
- Oct 27, 2026codex-marketplaces.github.builderio.agent-native: 12a91c6 โ ba4ef37 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026codex-plugins.github.builderio.agent-native: 7af9ac7 โ 55d65b3 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026agent-plugins.github.builderio.agent-native: e9d5ffa โ 36006e6 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026agent-skills.github.builderio.agent-native: 0-unstable-2026-10-26 โ 0-unstable-2026-10-27 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026claude-code-marketplaces.github.builderio.agent-native: eaa780a โ 87ba124 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026codex-marketplaces.github.builderio.agent-native: 6b65dba โ 12a91c6 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026claude-code-marketplaces.github.builderio.agent-native: 0-unstable-2026-10-26 โ 0-unstable-2026-10-27 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026codex-marketplaces.github.builderio.agent-native: 0-unstable-2026-10-26 โ 0-unstable-2026-10-27 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026codex-plugins.github.builderio.agent-native: 0-unstable-2026-10-26 โ 0-unstable-2026-10-27 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026agent-plugins.github.builderio.agent-native: 0-unstable-2026-10-26 โ 0-unstable-2026-10-27 โ sudosubin/agents.nix0 reactions
- Oct 27, 2026agent-skills.github.builderio.agent-native: 7faf806 โ 7397901 โ sudosubin/agents.nix0 reactions
- Oct 26, 2026claude-code-marketplaces.github.builderio.agent-native: e0ebd6b โ 5252c0e โ sudosubin/agents.nix0 reactions
- Oct 26, 2026codex-marketplaces.github.builderio.agent-native: e0ebd6b โ 5252c0e โ sudosubin/agents.nix0 reactions
- Oct 26, 2026codex-plugins.github.builderio.agent-native: e0ebd6b โ 5252c0e โ sudosubin/agents.nix0 reactions
- Oct 26, 2026agent-plugins.github.builderio.agent-native: 0ab7e59 โ 5dc9ffe โ sudosubin/agents.nix0 reactions
- Oct 26, 2026claude-code-plugins.github.builderio.agent-native: 0-unstable-2026-10-22 โ 0-unstable-2026-10-26 โ sudosubin/agents.nix0 reactions
- Oct 26, 2026agent-skills.github.builderio.agent-native: d2739c6 โ 7faf806 โ sudosubin/agents.nix0 reactions
- Oct 26, 2026chore: update Agent Native exported skills โ BuilderIO/skills0 reactions ยท 1 comment
- Oct 26, 2026claude-code-marketplaces.github.builderio.agent-native: eb073a4 โ e0ebd6b โ sudosubin/agents.nix0 reactions
- Oct 26, 2026codex-marketplaces.github.builderio.agent-native: eb073a4 โ e0ebd6b โ sudosubin/agents.nix0 reactions
- Oct 26, 2026codex-plugins.github.builderio.agent-native: eb073a4 โ e0ebd6b โ sudosubin/agents.nix0 reactions
- Oct 26, 2026agent-plugins.github.builderio.agent-native: 0-unstable-2026-10-25 โ 0-unstable-2026-10-26 โ sudosubin/agents.nix0 reactions
- Oct 26, 2026agent-skills.github.builderio.agent-native: 0-unstable-2026-10-25 โ 0-unstable-2026-10-26 โ sudosubin/agents.nix0 reactions
- Oct 26, 2026claude-code-marketplaces.github.builderio.agent-native: 0-unstable-2026-10-25 โ 0-unstable-2026-10-26 โ sudosubin/agents.nix0 reactions
- Oct 26, 2026codex-marketplaces.github.builderio.agent-native: 0-unstable-2026-10-25 โ 0-unstable-2026-10-26 โ sudosubin/agents.nix0 reactions
- Oct 26, 2026codex-plugins.github.builderio.agent-native: 0-unstable-2026-10-25 โ 0-unstable-2026-10-26 โ sudosubin/agents.nix0 reactions
- Oct 26, 2026agent-skills.github.builderio.agent-native: 1fe5d77 โ 8505239 โ sudosubin/agents.nix0 reactions
- Oct 26, 2026claude-code-marketplaces.github.builderio.agent-native: 1fe5d77 โ 8505239 โ sudosubin/agents.nix0 reactions
- Oct 26, 2026codex-marketplaces.github.builderio.agent-native: 1fe5d77 โ 8505239 โ sudosubin/agents.nix0 reactions
- Oct 26, 2026codex-plugins.github.builderio.agent-native: 1fe5d77 โ 8505239 โ sudosubin/agents.nix0 reactions
- Oct 26, 2026agent-plugins.github.builderio.agent-native: 1fe5d77 โ 8505239 โ sudosubin/agents.nix0 reactions
- Oct 22, 2026chore: update Agent Native exported skills โ BuilderIO/skills0 reactions ยท 1 comment
- Oct 16, 2026[Candidate] builderio/agent-native - large collection (876 SKILL.md files) โ ProSkillsMD/proskills0 reactions ยท 1 comment
- Oct 15, 2026Builder.io, ์์ด์ ํฑ ์ฑ ์คํ์์ค TS ํ๋ ์์ํฌ 'Agent-Native' ๋ฒ ํ ์ถ์ โ UIยท์์ด์ ํธยทHTTPยทCLIยทMCPยทA2A 6๊ฐ ์ํผ์ค ๊ณต์ ์ก์ (10/15, ๊ณต์ ๋ธ๋ก๊ทธ) โ roomedia/ax-trend0 reactions
- Oct 15, 2026Define human decisions once as schema-checked actions shared by the dashboard and factory mcp โ mikeroySoft/factory0 reactions ยท 9 comments
On Bluesky ยท 11
- Sep 20, 2026๐ฆ BuilderIO / agent-native โญ 4,978 (+89) ๐ TypeScript A framework for building agentic apps โ @github-trending-js.bsky.social2 likes and reposts
- Jul 26, 2026๐ฆ BuilderIO / agent-native โญ 4,011 (+96) ๐ TypeScript A framework for building agent-native applications. โ @github-trending-js.bsky.social2 likes and reposts
- Jun 20, 2026agent-native: a TypeScript framework from Builder.io for apps where AI agents are first-class users, not an afterthought. Design once,โฆ โ @epicvibecoder.bsky.social2 likes and reposts ยท 1 reply
- Oct 16, 2026๐ฅ Hot Repo๏ผ ๐ฅ (100+ new stars) ๐ฆ BuilderIO / agent-native โญ 7,378 (+107) ๐ TypeScript A framework for building agentic apps โ @github-trending-js.bsky.social1 likes and repost
- Sep 23, 2026ไปๆฅใฎGitHubใใฌใณใ BuilderIO/agent-native Agent-Nativeใฏใ่ชๅพ็ใซๅไฝใใใจใผใธใงใณใใจๅฐ็จUIใ็ตใฟๅใใใฆ้็บใใใใใฎTypeScriptใใฌใผใ ใฏใผใฏใงใใโฆ โ @dailygithubtrends.bsky.social1 likes and repost
6 more on Bluesky
- Sep 20, 2026๐ฆ BuilderIO / agent-native โญ 4,978 (+89) ๐ TypeScript A framework for building agentic apps โ @github-trending.bsky.social1 likes and repost
- Sep 20, 2026ไปๆฅใฎGitHubใใฌใณใ BuilderIO/agent-native Agent-Nativeใฏใ่ชๅพ็ใชๅไฝใ่กใใจใผใธใงใณใใจๅฐ็จUIใ็ตฑๅใใฆๆง็ฏใใใใใฎTypeScriptใใฌใผใ ใฏใผใฏใงใใโฆ โ @dailygithubtrends.bsky.social1 likes and repost
- Jun 19, 2026ไปๆฅใฎGitHubใใฌใณใ BuilderIO/agent-native Agent-NativeใฏใใชใใใชUIใจ่ชๅพๅใจใผใธใงใณใใ็ตฑๅใใใขใใชใฑใผใทใงใณใๆง็ฏใใใใใฎใชใผใใณใฝใผในใใฌใผใ ใฏใผใฏใงใใโฆ โ @dailygithubtrends.bsky.social1 likes and repost
- Jun 19, 2026๐ฅ Hot Repo๏ผ ๐ฅ (100+ new stars) ๐ฆ BuilderIO / agent-native โญ 819 (+172) ๐ TypeScript A framework for building agent-native applications. โ @github-trending.bsky.social1 likes and repost
- Jun 18, 2026๐ฅ Hot Repo๏ผ ๐ฅ (100+ new stars) ๐ฆ BuilderIO / agent-native โญ 673 (+131) ๐ TypeScript A framework for building agent-native applications. โ @github-trending-js.bsky.social1 likes and repost
- Jun 23, 2026๐ Skyrocketing๏ผ ๐ (200+ new stars) ๐ฆ BuilderIO / agent-native โญ 1,793 (+434) ๐ TypeScript A framework for building agent-nativeโฆ โ @github-trending-js.bsky.social0 likes and reposts ยท 1 reply
In this repository103 other files it gives its agents.
- AGENTS.mdAGENTS.md
- a2a-protocolSkill
- actionsSkill
- adding-a-featureSkill
- adding-tests-and-ciSkill
- adding-workspace-appsSkill
- address-feedbackSkill
- address-feedback-with-repliesSkill
- agent-native-docsSkill
- agent-native-toolkitSkill
- agent-pageSkill
- audit-logSkill
- authenticationSkill
- automationsSkill
- babysit-prSkill
- browser-sessionsSkill
- bug-traceSkill
- build-an-appSkill
- capture-learningsSkill
- changelogSkill
- chat-first-workbenchSkill
- client-methodsSkill
- client-side-routingSkill
- community-prsSkill
- composable-mini-appsSkill
- concurrent-agentsSkill
- configurationSkill
- context-awarenessSkill
- context-xraySkill
- create-skillSkill
- customizing-agent-nativeSkill
- data-programsSkill
- debug-runsSkill
- decisionsSkill
- delegate-to-agentSkill
- delegating-workSkill
- design-editor-reproSkill
- extension-pointsSkill
- extensionsSkill
- external-agentsSkill
- feature-flagsSkill
- fix-at-the-boundarySkill
- fragility-commonSkill
- framework-storesSkill
- frontend-designSkill
- generative-uiSkill
- harness-agentsSkill
- identify-fragile-systemsSkill
- integration-webhooksSkill
- internationalizationSkill
- investigate-bugSkill
- jira-refactor-findingsSkill
- launchdarklySkill
- multi-frontier-desktopSkill
- mvp-followupSkill
- native-navigationSkill
- new-branchSkill
- observabilitySkill
- onboardingSkill
- performanceSkill
- The first 60 shown.
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
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.

