Repository navigation
docs(agents): Add writing-sdk-specs skill #20083
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
sentry-junior
wants to merge
9
commits into
junior/writing-sdk-specs
from
junior/writing-sdk-specs-skill
Draft
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
534fd45
docs(agents): Add writing-sdk-specs skill
sentry-junior[bot] 07c18ef
ref(agents): Manage writing-sdk-specs skill with dotagents
sentry-junior[bot] 127d8d0
docs(agents): Drop writing-sdk-specs row from SKILL.md
sentry-junior[bot] ec7c083
docs(agents): Skip process specs in writing-sdk-specs skill
sentry-junior[bot] 0a43023
docs(agents): Report requirement changes in migrations
sentry-junior[bot] de1e631
docs(agents): Scope technical-docs skill to user-facing docs, not specs
sentry-junior[bot] 7d3591a
docs(agents): Push back on requests that break the spec guidelines
sentry-junior[bot] 643c67d
docs(agents): Link rendered Writing SDK Specs page when pushing back
sentry-junior[bot] ea4dec5
docs(agents): Add whole-spec migration steps with brief investigation…
sentry-junior[bot] File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| --- | ||
| name: writing-sdk-specs | ||
| description: Write, edit, or review SDK specs. Use when changing or reviewing any page under develop-docs/sdk/ that has spec_id frontmatter (except process specs with spec_kind: process), or when creating a new SDK spec. | ||
| --- | ||
|
|
||
| # Writing SDK Specs | ||
|
|
||
| The rules live in [`develop-docs/sdk/getting-started/standards/writing-specs.mdx`](../../../develop-docs/sdk/getting-started/standards/writing-specs.mdx). That page is the source of truth. This skill only says when and how to apply it. | ||
|
|
||
| ## Requests That Conflict With the Guidelines | ||
|
|
||
| The guidelines take priority over requests that would break them, because the person asking may not know them. Don't make the change. Explain which rule it breaks, link the relevant section of the rendered page (`https://develop.sentry.dev/sdk/getting-started/standards/writing-specs/#<heading-anchor>`, e.g. `#legacy-specs`), and suggest a change that conforms. If the user still wants it after that, make the change and list it in your report as a violation. | ||
|
|
||
| ## Steps | ||
|
|
||
| 1. **Read the guidelines.** Read `writing-specs.mdx` in full before changing a spec. Don't work from memory or from this file. | ||
| 2. **Check what kind of spec it is.** If its frontmatter has `spec_kind: process` (playbooks and engineering standards), the guidelines don't apply: skip the remaining steps. Otherwise, the spec is legacy if its frontmatter has no `spec_guidelines` field. | ||
| 3. **Write to the guidelines.** | ||
| - **New spec:** follow the guidelines for the whole page and set `spec_guidelines: writing-specs@<major.minor>` to the current version of `writing-specs.mdx`. | ||
| - **Legacy spec:** make every requirement you add or change follow the guidelines. Leave the rest of the page as it is unless the user asks you to migrate it (see [Migrating a Whole Spec](#migrating-a-whole-spec)). Don't add `spec_guidelines` unless the whole page now conforms. | ||
| 4. **Check your own work.** Re-read every requirement you added or changed against `writing-specs.mdx`, and fix any violations before you finish. | ||
| 5. **Report existing violations.** List violations you noticed in content you didn't change, but don't fix them unless the user asks. Give the section and quote the text. | ||
|
|
||
| ## Migrating a Whole Spec | ||
|
|
||
| Follow "Migrating a legacy spec" in the guidelines. Before editing, list the open questions: ones whose answer would change a requirement's level or meaning and depends on facts about Sentry or SDKs that the guidelines and the spec don't settle. For example, whether a MUST passes the Section 6 test, or what observable intent a non-observable requirement serves. | ||
|
|
||
| Investigate each open question briefly, with a few targeted searches rather than a full audit: | ||
|
|
||
| - **Relay** (`getsentry/relay`): does it reject, drop, or reinterpret data that violates the requirement? | ||
| - **A few SDKs** (for example `sentry-python`, `sentry-javascript`, and one mobile SDK): do they implement it, and does any have a reason to deviate? | ||
|
|
||
| If the code settles a question, apply the answer and cite the evidence (file paths or links) in your report. Relay not checking something doesn't prove it's safe, since other parts of Sentry may still depend on it. SDKs agreeing is not a reason for a MUST. If you can't access the code, say so and treat the question as open. | ||
|
|
||
| Then ask the remaining questions in one batch, with what you found for each. Don't ask about anything the guidelines decide or give a default for: apply the default and flag it in your report. | ||
|
|
||
| ## What to Report | ||
|
|
||
| When you finish, briefly report: | ||
|
|
||
| - Which guidelines version you followed. | ||
| - Whether the page is legacy or conforming, and whether you set `spec_guidelines`. | ||
| - Any pre-existing violations you found (or "none found"). | ||
| - Any requested changes you pushed back on, and any violations you made because the user insisted. | ||
| - For a migration: every requirement you added, removed, or whose level or meaning changed, so a reviewer can check each one. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| ../../.agents/skills/writing-sdk-specs |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.