syft-pr-quickfix-iterate
Skill10k starsChanged 6 days agoApache-2.0View on GitHub
Improve the syft-pr-quickfix skill from feedback. Takes a missed finding, a wrong finding, a bad fix, a complaint about the report, or a new check. Logs the feedback to an archive, turns it into a general rule, edits syft-pr-quickfix/SKILL.md within a size budget, and re-runs the check on the PR that prompted the feedback. Use when the user gives feedback on a quickfix report — "finding 3 is wrong", "you missed that X", "also look for Y".
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 6 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
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
- Distinctive: line 32
If no feedback came with the request, ask what should change and which report prompted it.
- Very specific: line 39
Read all of feedback.md. Then write the rule as one sentence: _the skill does X, it should do Y._ Use Generalise below.
- Distinctive: line 42
If the skill already says it, rewrite that text so it is clearer or more prominent.
- Very specific: line 44
If ~/.claude/skills/write-doc/SKILL.md exists, read it and follow its rules for every sentence you write.
- Distinctive: line 54
Ask what class of problem the example belongs to.
- Distinctive: line 60
Test the rule twice before you write it down:
- Distinctive: line 62
Does it apply to code you have not seen?: If it only matches this example, make it broader.
- Distinctive: line 87
Do not drop a new rule to stay inside the budget.
≈ “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
Improve the syft-pr-quickfix skill
Feedback arrives as one example, such as "finding 3 is not a problem". The job is to find the general rule behind that example, change the skill, and show the change working on the PR that prompted the feedback.
There are two files:
.claude/skills/syft-pr-quickfix/SKILL.mdis the skill you edit. It has a size budget..claude/skills/syft-pr-quickfix-iterate/feedback.mdholds every past piece of feedback. Only append to it. The archive keeps the detail, so the skill itself can stay short.
Both skills are checked in, through ! rules in .gitignore. Changes to them go to dev in a
pull request.
Input
Feedback in the user's words, usually about a report that was just printed. It is one of five kinds:
- Missed — a problem the report should have found.
- Wrong — a finding that is not a problem.
- Bad fix — a finding that is right, but with a fix that is wrong or too vague.
- Report — the report reads badly: too long, unclear, or in the wrong order.
- New check — a kind of problem the skill should start looking for.
If no feedback came with the request, ask what should change and which report prompted it.
Steps
- Append the feedback to
feedback.mdin the format that file gives. Create the file from that format the first time. Then add each finding the user judged tosyft-pr-quickfix/examples.md, under Good or Bad, with the PR, the tag, the place and the reason in one or two lines. - Read all of
feedback.md. Then write the rule as one sentence: the skill does X, it should do Y. Use Generalise below. - Decide whether the rule is missing, or whether the skill already says it and was not followed. If the skill already says it, rewrite that text so it is clearer or more prominent. Do not add a second rule on the same subject.
- If
~/.claude/skills/write-doc/SKILL.mdexists, read it and follow its rules for every sentence you write. - Edit
syft-pr-quickfix/SKILL.md, and stay inside Size budget below. - Re-run
syft-pr-quickfixon the PR that prompted the feedback. Show that the missed finding now appears, that the wrong finding is gone, or that the report now reads as the user asked. - Report back in a few lines: the rule, where it went, the size before and after, and the result of the re-run.
Generalise
Ask what class of problem the example belongs to. Do not fix only the one example.
"Finding 3 flags a cache as
same-state" → the rule is "a value that the code rebuilds from its source on every change is a cache, not a second source of truth", not "do not flag_peer_cache".
Test the rule twice before you write it down:
- Does it apply to code you have not seen? If it only matches this example, make it broader.
- Is there enough evidence for it? One example supports a narrow rule. If you are not sure how far the rule goes, ask.
Then read the archive for older feedback that the new rule also covers. When two or three rules are really one idea, replace them with that one idea, and tell the user which rules you merged.
Where a rule goes
- A rule about what counts as a problem, or what does not, goes in the text of that check.
- A new kind of problem becomes a new check with its own tag. Before you add one, make sure no existing check already covers it.
- A rule about how to confirm a finding goes in Steps.
- A rule about how the report reads goes under Report. Update the example report as well, so that the rules and the example agree.
Size budget
syft-pr-quickfix/SKILL.md stays under 120 lines and 12 checks. Measure it before and after
the edit:
wc -l .claude/skills/syft-pr-quickfix/SKILL.mdDo not drop a new rule to stay inside the budget. Instead, merge the rule into one that says something close, replace two narrow rules with one general rule, or tighten the wording of other rules. Tell the user which of these you did.
Writing
The skill has to read as plainly as the reports it asks for. Every rule is one short sentence in everyday words that a reader can test against a report. "Be concise" cannot be tested, so it does not go in. "At most 15 findings" can be tested.
Trending
Quiet this year.about the whole repository
Who's talking about OpenMined/PySyft
- A Hacker News story“Jupyter Notebook Tutorial – Privacy-Preserving Deep Learning in PyTorch”Hacker News · Dec 4, 2018 · 218 points
- A Hacker News story“Show HN: Encrypted Deep Learning in PyTorch”Hacker News · Oct 23, 2018 · 37 points
- A Hacker News story“Beginner Tutorial: Privacy Preserving, Decentralized Deep Learning in PyTorch”Hacker News · Nov 22, 2018 · 11 points
- udacity/private-ai“Modification in readme for pysyft installation”GitHub · May 30, 2019 · 8 reactions
- protocolbuffers/protobuf“Protobufs creation is slow when using nested objects compared to using bytes”GitHub · May 5, 2021 · 3 reactions
The biggest 5 of 62 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 62
Talked about on GitHub, Hacker News, Stack Overflow and the web (62 times).
On GitHub · 50
- May 30, 2019Modification in readme for pysyft installation — udacity/private-ai8 reactions
- May 5, 2021Protobufs creation is slow when using nested objects compared to using bytes — protocolbuffers/protobuf3 reactions · 3 comments
- May 16, 2019PySyft Integration — tf-encrypted/tf-encrypted3 reactions · 1 comment
- Oct 18, 2021FOI: OpenMined for federated data analysis — datalad/datalad2 reactions · 1 comment
- Apr 29, 2021Add implementation of Max / Argmax — OpenMined/SyMPC2 reactions
45 more on GitHub
- Apr 18, 2020Jupyter Notebooks examples and tutorials to not work with docker-compose — OpenMined/PyGrid-deprecated---see-PySyft-2 reactions · 15 comments
- Apr 4, 2020Add Sentiment Classifier Training Usecase — OpenMined/SyferText2 reactions · 1 comment
- Oct 13, 2019Relay setup.py logic to a setup.cfg — OpenMined/PyGrid-deprecated---see-PySyft-2 reactions · 3 comments
- Jul 5, 2022ERROR: syft from git+http://github.com/OpenMined/PySyft@dev#egg=syft does not appear to be a Python project: neither 'setup.py' nor 'pyproject.toml' found. — OpenMined/courses1 reaction · 3 comments
- Jun 7, 2021poetry install at `PyGrid/apps/domain` does not work... — OpenMined/PyGrid-deprecated---see-PySyft-1 reaction · 3 comments
- Jul 13, 2020Enforcing type checking in SyferText — OpenMined/SyferText1 reaction · 2 comments
- Mar 27, 2020Torchscript field in Plan — OpenMined/syft-proto1 reaction
- Mar 12, 2020PyGrid integration — OpenMined/syft.js1 reaction · 1 comment
- Feb 5, 2020Migrate PyGrid from Travis to Github Actions — OpenMined/PyGrid-deprecated---see-PySyft-1 reaction
- Feb 3, 2020Allow PyGrid to serve plan operations as either a list of individual commands (syft.js) or as TorchScript (Android and iOS) — OpenMined/PyGrid-deprecated---see-PySyft-1 reaction · 1 comment
- Feb 2, 2020Add "host_federated_training" method to PyGrid — OpenMined/PyGrid-deprecated---see-PySyft-1 reaction · 7 comments
- Dec 5, 2019(WIP) Add Protobuf schemas for existing PySyft messages and types — OpenMined/syft-proto1 reaction · 17 comments
- Jul 30, 2025docker.io/openmined/syft-backend — DaoCloud/public-image-mirror0 reactions · 1 comment
- Jan 7, 2025Daily Review: `OpenMined/PySyft` — hsiangjenli/star-to-review0 reactions
- Nov 5, 2024Bump syft from 0.9.3b1 to 0.9.3b2 — Smartappli/AIMER0 reactions · 1 comment
- Nov 1, 2024Add PySyft to rejection list — YunoHost/apps0 reactions · 4 comments
- Nov 1, 2024Bump syft from 0.9.2b7 to 0.9.3b1 — Smartappli/AIMER0 reactions · 1 comment
- Oct 30, 2024Bump syft from 0.9.2b7 to 0.9.2 — Smartappli/AIMER0 reactions · 2 comments
- Oct 16, 2024Bump syft from 0.9.2b5 to 0.9.2b7 — Smartappli/AIMER0 reactions
- Oct 14, 2024Bump syft from 0.9.2b5 to 0.9.2b6 — Smartappli/AIMER0 reactions · 1 comment
- Oct 7, 2024Bump syft from 0.9.2b2 to 0.9.2b5 — Smartappli/AIMER0 reactions · 1 comment
- Oct 4, 2024Bump syft from 0.9.2b2 to 0.9.2b4 — Smartappli/AIMER0 reactions · 2 comments
- Sep 16, 2024Bump syft from 0.9.2b2 to 0.9.2b3 — Smartappli/AIMER0 reactions · 2 comments
- Sep 16, 2024Bump syft from 0.9.2b2 to 0.9.2b3 — Smartappli/AIMER20 reactions · 3 comments
- Sep 9, 2024Bump syft from 0.9.2b1 to 0.9.2b2 — Smartappli/AIMER0 reactions · 1 comment
- Sep 9, 2024Bump syft from 0.9.2b1 to 0.9.2b2 — Smartappli/AIMER20 reactions · 3 comments
- Sep 5, 2024Bump syft from 0.9.1b10 to 0.9.2b1 — Smartappli/AIMER0 reactions · 1 comment
- Sep 4, 2024Bump syft from 0.9.1b10 to 0.9.1 — Smartappli/AIMER0 reactions · 2 comments
- Sep 3, 2024Bump syft from 0.9.1b8 to 0.9.1b10 — Smartappli/AIMER0 reactions · 1 comment
- Aug 26, 2024Bump syft from 0.9.1b5 to 0.9.1b6 — Smartappli/AIMER0 reactions · 1 comment
- Aug 20, 2024Bump syft from 0.9.1b4 to 0.9.1b5 — Smartappli/AIMER0 reactions · 1 comment
- Apr 2, 2024Bump syft from 0.8.5.post1 to 0.8.5.post2 — Smartappli/AIMER0 reactions · 1 comment
- Mar 29, 2024Bump syft from 0.8.5 to 0.8.5.post1 — Smartappli/AIMER0 reactions · 1 comment
- Mar 29, 2024Added OpenMined PySyft — google/season-of-docs0 reactions
- Mar 22, 2024Bump syft from 0.8.5b9 to 0.8.6b1 — Smartappli/AIMER0 reactions · 1 comment
- Mar 21, 2024Bump syft from 0.8.5b9 to 0.8.5b10 — Smartappli/AIMER0 reactions · 2 comments
- Mar 14, 2024Bump syft from 0.8.5b5 to 0.8.5b6 — Smartappli/AIMER0 reactions · 1 comment
- Mar 14, 2024Bump syft from 0.8.5b2 to 0.8.5b4 — Smartappli/AIMER0 reactions · 1 comment
- Mar 13, 2024Bump syft from 0.8.5b1 to 0.8.5b2 — Smartappli/AIMER0 reactions · 2 comments
- Feb 19, 2024Bump syft from 0.8.4b28 to 0.8.4b30 — Smartappli/AIMER0 reactions
- Feb 16, 2024Bump syft from 0.8.4b23 to 0.8.4b28 — Smartappli/AIMER0 reactions
- Feb 15, 2024Bump syft from 0.8.4b23 to 0.8.4b27 — Smartappli/AIMER0 reactions · 1 comment
- Feb 12, 2024Bump syft from 0.8.4b21 to 0.8.4b22 — Smartappli/AIMER0 reactions
- Feb 8, 2024Bump syft from 0.8.4b19 to 0.8.4b21 — Smartappli/AIMER0 reactions
- Feb 2, 2024Bump syft from 0.8.4b15 to 0.8.4b19 — Smartappli/AIMER0 reactions
On Hacker News · 6
- Dec 4, 2018Jupyter Notebook Tutorial – Privacy-Preserving Deep Learning in PyTorch218 points · 5 comments
- Oct 23, 2018Show HN: Encrypted Deep Learning in PyTorch37 points
- Nov 22, 2018Beginner Tutorial: Privacy Preserving, Decentralized Deep Learning in PyTorch11 points
- Feb 21, 2020Jupyter Tutorial – Privacy-Preserving Deep Learning in PyTorch – Now Translated2 points
- Nov 23, 2018PySyft Step-By-Step Tutorial2 points
1 more on Hacker News
- Oct 24, 2017OpenMined/PySyft: Encrypted Deep Learning Library2 points
On Stack Overflow · 3
- Feb 19, 2020Pysyft Federated learning, Error with Websockets1 vote
- Feb 13, 2020Pysyft Federated learning, Error with Websockets1 vote · 1 answer
- Mar 10, 2021Error Launching Blob Trigger function in Azure Functions expected str, bytes or os.PathLike object, not PosixPath0 votes · 1 answer
On the web · 3
- May 9, 2022FL use Pysyft 0.6.0 · Issue #6467 — google.com
- Dec 18, 2021Need credentials of PyGrid admin UI · Issue #6235 — google.com
- Sep 2, 2020How to run pysyft-notebook docker image with ... — google.com
In this repository2 other files it gives its agents.
- syft-pr-quickfixSkill
- syft-pr-reviewSkill
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.

