skill-discipline
Skill3.3k starsChanged 2 days agoApache-2.0View on GitHub
Content standard for writing and reviewing agent skills (SKILL.md and references) - every sentence earns its place, one job per skill, rationale with each rule, no ceremony. Use when drafting, revising, or reviewing a skill's text.
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Put positively: there is no way the agent learns this unless the skill says it.
- Very specific: line 25
Prefer the reason to the imperative: "should is a recommendation, because one meaning per verb is what lets an audit tell a requirement …
- Distinctive: line 26
Write the mechanism, not the incident: "a second copy may drift", not "a second copy drifted and lost a code".
- Distinctive: line 33
Keep headings that organize the instructions or add context.
- Distinctive: line 44
Ask "why" of any confident rule before accepting it.
≈ “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
A skill is loaded whole into an agent's context whenever its description matches, so each sentence costs every task that triggers it. This skill is the test each sentence must pass; structure checks and evals belong to other tools.
The test
A sentence belongs when the agent could not get it elsewhere cheaply: not from the tree, a manifest, --help, another skill it already loads, or its own competence.
"Integration tests exercise the CLI binary, not the library" passes; a command any agent knows does not.
Put positively: there is no way the agent learns this unless the skill says it.
One job
A skill does one thing; the description names that thing and the moments it applies, in two sentences.
Distinct workflows that trigger separately are separate skills, and a skill may load the skills it builds on; a concept defined there is pointed to, not re-explained, while a lens or procedure is this skill's own even when its subject is defined elsewhere.
One sentence of premise from a dependency is allowed when it names the dependency and says what this skill does with it ("verdicts apply the test in agents-md"); a second sentence re-explaining it is not, and a lens may restate an authoring rule when the two skills are used independently, even if one names the other.
A references/ file holds only material needed conditionally, named from the body with the condition that calls for it.
Reasons where they pay
A rule the agent cannot see the point of is the first it drops under pressure, so a rule that is surprising, costly to get wrong, or tempting to "fix" carries its because in the same sentence or the next; a plain convention or a procedure step may stand without one, and a stated consequence serves a convention as a reason.
Prefer the reason to the imperative: "should is a recommendation, because one meaning per verb is what lets an audit tell a requirement from advice" over "always use must for requirements".
Write the mechanism, not the incident: "a second copy may drift", not "a second copy drifted and lost a code"; no stages, sessions, or decision references, since the reader is a future agent, not a participant.
No ceremony
No "Overview" that restates the description, no closing summary, no mandatory headings; an example earns its place when it shows a rewrite (bad form to good) the rule alone leaves ambiguous, and one that only instances the rule is ceremony, while an inline form token or an output template is the rule's own wording.
Omit an opening title that only repeats the skill name or frontmatter description, because that context is already available. Keep headings that organize the instructions or add context.
Words
Plain language at the sentence level; one sentence per line; the same word for the same thing throughout. Terms the skill coins are defined where first used, with the words it avoids when a competing term exists. Address the agent as the reader doing the task; never describe what agents are like.
Reviewing a skill
Quote each sentence that fails the test and name which part: discoverable, re-explains a concept another skill defines, surprising rule without its reason, ceremony, two jobs, incident for mechanism, describes what agents are like instead of stating the rule (a mechanism about the artifact's readers is not this). Ask "why" of any confident rule before accepting it; procedure steps and conventions are exempt. Propose the shorter sentence, the deletion, or the sentence with its reason; do not edit, and do not compress past meaning. Report what is strong as written, so it is not touched.
Trending
More talk lately.about the whole repository
Who's talking about Devolutions/IronRDP
- A Hacker News story“IronRDP: a Rust implementation of Microsoft's RDP protocol”Hacker News · Mar 21, 2025 · 545 points
- @github-trending.bsky.social“🚀 Skyrocketing! 🚀 (200+ new stars) 📦 Devolutions / IronRDP ⭐ 1,328 (+276) 🗒 Rust Rust implementation of …”Bluesky · Mar 23, 2025 · 19 likes
- @hacker-news-jp.bsky.social“IronRDP: MicrosoftのRDPプロトコルのRust実装 IronRDP: a Rust implementation of Microsoft's RDP protocol 🔺 328 💬 45 …”Bluesky · Mar 21, 2025 · 5 likes
- fosrl/pangolin“Browser RDP fails with GNOME Remote Desktop And Windows Connection Errors”GitHub · Jun 14, 2026 · 3 reactions
- @rusttrending.bsky.social“Devolutions / IronRDP: Rust implementation of the Microsoft Remote Desktop Protocol (RDP) ★1304 …”Bluesky · Mar 23, 2025 · 3 likes
The biggest 5 of 60 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 60
Talked about on GitHub, Bluesky and Hacker News (60 times).
On GitHub · 50
- Jun 14, 2026Browser RDP fails with GNOME Remote Desktop And Windows Connection Errors — fosrl/pangolin3 reactions · 19 comments
- Jul 29, 2026fix(kerberos): remove unnecessary sequence number incrementation — Devolutions/sspi-rs1 reaction
- Feb 25, 2026Can't connect to Ubuntu RDP host — totoshko88/RustConn1 reaction · 5 comments
- Nov 18, 2025build(deps): no zlib for flate2 on WASM — Devolutions/sspi-rs1 reaction
- Oct 7, 2025chore(webapp): bump VNC and RDP WASM packages — Devolutions/devolutions-gateway1 reaction · 2 comments
45 more on GitHub
- Aug 28, 2025fix(webapp)!: add manual clipboard mode for RDP, VNC and ARD — Devolutions/devolutions-gateway1 reaction · 3 comments
- Oct 29, 2026chore(deps): bump ironrdp-graphics from 0.9.0 to 0.10.0 — kihyun1998/justrdp0 reactions
- Oct 24, 2026Bug: (IronRDP) (Windows Server 2025) Screen tearing on resize — meanaverage/tabby-rdp0 reactions · 5 comments
- Oct 23, 2026Vendored forks: upstream drift or advisories need review — armaxri/termiHub0 reactions
- Oct 22, 2026Embedded RDP: distorted display when connecting to xrdp — totoshko88/RustConn0 reactions · 1 comment
- Oct 21, 2026Stalled transport retains an old session and blocks reconnect until service restart — MuNeNiCK/hypr-rdp0 reactions
- Oct 19, 2026Bump ironrdp-graphics from 0.6.0 to 0.9.0 — Antxj/termcraft0 reactions
- Oct 19, 2026Bump ironrdp-pdu from 0.6.0 to 0.9.0 — Antxj/termcraft0 reactions
- Oct 19, 2026Bump ironrdp-cliprdr from 0.4.0 to 0.7.0 — Antxj/termcraft0 reactions
- Oct 19, 2026Bump ironrdp-core from 0.1.5 to 0.2.1 — Antxj/termcraft0 reactions
- Oct 19, 2026Bump ironrdp-dvc from 0.4.1 to 0.8.0 — Antxj/termcraft0 reactions
- Oct 15, 2026Windows desktop service 18.11.x fails RDP license exchange on windows hosts with RDS CALs — gravitational/teleport0 reactions · 1 comment
- Oct 9, 2026Vendored forks: upstream drift or advisories need review — armaxri/termiHub0 reactions
- Oct 2, 2026feat(unattended): pivot to native Windows Devolutions Gateway and RDP readiness — hamburger-os/PalmTTY0 reactions · 1 comment
- Sep 28, 2026Bump ironrdp-pdu from 0.8.0 to 0.9.0 — athiedepayit/rustrdp0 reactions
- Sep 26, 2026[test] vendored-fork drift sync self-test (#3498) — armaxri/termiHub0 reactions · 1 comment
- Sep 26, 2026Vendored forks: upstream drift or advisories need review — armaxri/termiHub0 reactions · 1 comment
- Sep 26, 2026Vendored forks: upstream drift or advisories need review — armaxri/termiHub0 reactions · 1 comment
- Sep 26, 2026Vendored forks: upstream drift or advisories need review — armaxri/termiHub0 reactions · 1 comment
- Sep 24, 2026feat(kerberos): add support for IAKerb extension for Kerberos client — Devolutions/sspi-rs0 reactions · 9 comments
- Sep 24, 2026feat(picky-krb): add IAKerb proxy message encoding/decoding — Devolutions/picky-rs0 reactions · 1 comment
- Sep 11, 2026Support Linux user authentication through PAM — MuNeNiCK/hypr-rdp0 reactions
- Sep 7, 2026Bump ironrdp-displaycontrol from 0.7.0 to 0.8.0 — athiedepayit/rustrdp0 reactions · 1 comment
- Sep 7, 2026Bump ironrdp-input from 0.6.0 to 0.7.0 — athiedepayit/rustrdp0 reactions · 1 comment
- Sep 4, 2026[no ci]: Bump ironrdp-pdu from 0.8.0 to 0.9.0 — athiedepayit/rustrdp0 reactions · 1 comment
- Sep 4, 2026[no ci]: Bump ironrdp-cliprdr from 0.6.0 to 0.7.0 — athiedepayit/rustrdp0 reactions
- Sep 4, 2026[no ci]: Bump ironrdp-graphics from 0.8.1 to 0.9.0 — athiedepayit/rustrdp0 reactions · 1 comment
- Sep 4, 2026[no ci]: Bump ironrdp-dvc from 0.7.0 to 0.8.0 — athiedepayit/rustrdp0 reactions · 1 comment
- Sep 4, 2026[no ci]: Bump ironrdp-session from 0.10.0 to 0.11.0 — athiedepayit/rustrdp0 reactions
- Aug 26, 2026chore(deps): bump ironrdp-session from 0.8.0 to 0.11.0 in /src-tauri — voktty/voktty0 reactions · 1 comment
- Jul 28, 2026build(deps): bump ironrdp-egfx from 0.2.0 to 0.3.0 in /rdp-kotlin/rust — GlassHaven/Haven0 reactions · 2 comments
- Jul 28, 2026build(deps): bump ironrdp-displaycontrol from 0.7.0 to 0.8.0 in /rdp-kotlin/rust — GlassHaven/Haven0 reactions · 2 comments
- Jul 28, 2026build(deps): bump ironrdp-session from 0.10.0 to 0.11.0 in /rdp-kotlin/rust — GlassHaven/Haven0 reactions · 2 comments
- Jul 27, 2026Bump ironrdp-pdu from 0.7.0 to 0.9.0 in /android/yyslide-android/rdp-kotlin/rust — wuyan1337/yySlide0 reactions
- Jul 27, 2026Bump ironrdp-cliprdr from 0.5.0 to 0.7.0 in /android/yyslide-android/rdp-kotlin/rust — wuyan1337/yySlide0 reactions
- Jul 25, 2026build(deps): bump ironrdp-input from 0.6.0 to 0.7.0 in /rdp-kotlin/rust — SkyL9ne/Haven0 reactions
- Jul 25, 2026build(deps): bump ironrdp-session from 0.10.0 to 0.11.0 in /rdp-kotlin/rust — SkyL9ne/Haven0 reactions
- Jul 25, 2026build(deps): bump ironrdp-displaycontrol from 0.7.0 to 0.8.0 in /rdp-kotlin/rust — SkyL9ne/Haven0 reactions
- Jul 25, 2026build(deps): bump ironrdp-egfx from 0.2.0 to 0.3.0 in /rdp-kotlin/rust — SkyL9ne/Haven0 reactions
- Jul 25, 2026build(deps): bump ironrdp-svc from 0.7.0 to 0.8.0 in /rdp-kotlin/rust — SkyL9ne/Haven0 reactions
- Jul 25, 2026build(deps): bump ironrdp-cliprdr from 0.6.0 to 0.7.0 in /rdp-kotlin/rust — SkyL9ne/Haven0 reactions
- Jul 21, 2026build(deps): bump ironrdp-tls from 0.2.1 to 0.2.2 in /rdp-kotlin/rust — GlassHaven/Haven0 reactions · 4 comments
- Jul 21, 2026build(deps): bump ironrdp-cliprdr from 0.6.0 to 0.7.0 in /rdp-kotlin/rust — GlassHaven/Haven0 reactions · 3 comments
- Jul 21, 2026build(deps): bump ironrdp-core from 0.2.0 to 0.2.1 in /rdp-kotlin/rust — GlassHaven/Haven0 reactions · 3 comments
- Jul 16, 2026bump ironrdp-graphics from 0.8.0 to 0.9.0 — kihyun1998/justrdp0 reactions · 2 comments
On Bluesky · 9
- Mar 23, 2025🚀 Skyrocketing! 🚀 (200+ new stars) 📦 Devolutions / IronRDP ⭐ 1,328 (+276) 🗒 Rust Rust implementation of the Microsoft Remote Desktop… — @github-trending.bsky.social19 likes and reposts
- Mar 21, 2025IronRDP: MicrosoftのRDPプロトコルのRust実装 IronRDP: a Rust implementation of Microsoft's RDP protocol 🔺 328 💬 45 🔗 HN Post | Article — @hacker-news-jp.bsky.social5 likes and reposts · 1 reply
- Mar 23, 2025Devolutions / IronRDP: Rust implementation of the Microsoft Remote Desktop Protocol (RDP) ★1304 https://github.com/Devolutions/IronRDP — @rusttrending.bsky.social3 likes and reposts
- Mar 22, 2025IronRDP: a Rust implementation of Microsoft's RDP protocol https://github.com/Devolutions/IronRDP [comments] [334 points] — @hnfeed.bsky.social2 likes and reposts
- Mar 21, 2025IronRDP: a Rust implementation of Microsoft's RDP protocol https://github.com/Devolutions/IronRDP… — @newsyc200.bsky.social2 likes and reposts
4 more on Bluesky
- Mar 21, 2025IronRDP: a Rust implementation of Microsoft's RDP protocol Discussion — @hackernewsbot.bsky.social2 likes and reposts
- Oct 9, 2026I want to reach feature parity with the first-party RDP client with IronRDP: github.com/Devolutions/... — @awakecoding.com1 likes and repost · 1 reply
- Mar 22, 2025🌐IronRDP: Microsoft の RDP プロトコルの Rust 実装 https://github.com/Devolutions/IronRDP via #HackerNews — @kdmsnr.com1 likes and repost
- Mar 22, 2025https://github.com/Devolutions/IronRDP Rustで実装されたMicrosoft Remote Desktop Protocol (RDP)の紹介です。 IronRDPという名称でGitHubで公開されています。… — @topickapp.bsky.social1 likes and repost
On Hacker News · 1
- Mar 21, 2025IronRDP: a Rust implementation of Microsoft's RDP protocol545 points · 214 comments
In this repository42 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agents-md-reviewSkill
- agents-mdSkill
- blind-testsuiteSkill
- code-compressorSkill
- commit-and-pr-conventionsSkill
- commit-scopeSkill
- contract-authoringSkill
- contract-reviewSkill
- contributeSkill
- crate-readme-writerSkill
- dependency-prunerSkill
- dependency-reviewerSkill
- docs-compressorSkill
- docs-writerSkill
- grill-intentSkill
- intent-drift-auditSkill
- intent-filesSkill
- intent-reviewSkill
- ironrdp-activex-mstsc-testingSkill
- leadSkill
- llm-comment-footerSkill
- markdown-writerSkill
- new-crateSkill
- orchestrate-effortSkill
- prose-verifierSkill
- prose-writerSkill
- protocol-reviewerSkill
- public-dependencySkill
- review-feedback-loopSkill
- rust-style-reviewerSkill
- rust-styleSkill
- skeptical-reviewerSkill
- tddSkill
- tessl-skill-lintingSkill
- test-oracle-reviewerSkill
- test-prunerSkill
- test-reviewerSkill
- test-writerSkill
- variantsSkill
- code-reviewSkill
- release-prepSkill
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.

