<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: fadliwiryawirawan CYBERW1RY4-LAB</title>
    <description>The latest articles on DEV Community by fadliwiryawirawan CYBERW1RY4-LAB (@fadliwiryawirawan_cyberw1).</description>
    <link>https://dev.to/fadliwiryawirawan_cyberw1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4193311%2F47415f79-b7a5-4f92-b0da-9146871b0f13.jpg</url>
      <title>DEV Community: fadliwiryawirawan CYBERW1RY4-LAB</title>
      <link>https://dev.to/fadliwiryawirawan_cyberw1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fadliwiryawirawan_cyberw1"/>
    <language>en</language>
    <item>
      <title>https://msrc.microsoft.com/report/vulnerability/</title>
      <dc:creator>fadliwiryawirawan CYBERW1RY4-LAB</dc:creator>
      <pubDate>Mon, 19 Oct 2026 05:47:19 +0000</pubDate>
      <link>https://dev.to/fadliwiryawirawan_cyberw1/httpsmsrcmicrosoftcomreportvulnerability-p0o</link>
      <guid>https://dev.to/fadliwiryawirawan_cyberw1/httpsmsrcmicrosoftcomreportvulnerability-p0o</guid>
      <description>&lt;h1&gt;
  
  
  Using skills to accelerate OSS maintenance
&lt;/h1&gt;

&lt;p&gt;We use Codex to change how we maintain the &lt;a href="https://dev.to/api/docs/guides/agents"&gt;OpenAI Agents SDK&lt;/a&gt; repos. Repo-local skills, &lt;code&gt;AGENTS.md&lt;/code&gt;, and GitHub Actions let us turn recurring engineering work, such as verification, release preparation, integration testing for examples, and PR review, into repeatable workflows. Even with a fairly simple setup, this has helped us increase development throughput in these active repos. Between December 1, 2025 and February 28, 2026, the two repos merged 457 PRs, up from 316 in the previous three months from September 1, 2025 through November 30, 2025 (Python: 182 -&amp;gt; 226, TypeScript: 134 -&amp;gt; 231).&lt;/p&gt;

&lt;p&gt;For quick background, the SDK is available in &lt;a href="https://github.com/openai/openai-agents-python" rel="noopener noreferrer"&gt;Python&lt;/a&gt; and &lt;a href="https://github.com/openai/openai-agents-js" rel="noopener noreferrer"&gt;TypeScript&lt;/a&gt;. It provides the core pieces for building agentic applications and is also a concise way to build voice agents on top of the &lt;a href="https://dev.to/api/docs/guides/realtime"&gt;Realtime API&lt;/a&gt; with multiple agents, tools, and human-in-the-loop controls. It is used at significant scale: in recent 30-day windows as of March 6, 2026, the Python package saw about 14.7 million downloads on PyPI, and the TypeScript package saw about 1.5 million downloads on npm.&lt;/p&gt;

&lt;p&gt;The setup is simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;repository policy in &lt;a href="https://agents.md/" rel="noopener noreferrer"&gt;&lt;code&gt;AGENTS.md&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;repo-local skills in &lt;code&gt;.agents/skills/&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;optional scripts and references inside those skills&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/codex/github-action"&gt;Codex GitHub Action&lt;/a&gt; when the same workflow should run in CI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This setup gives Codex stable context about how the repository works, which improves the speed and accuracy of recurring engineering work.&lt;/p&gt;

&lt;p&gt;If you maintain a public open-source project, see &lt;a href="https://dev.to/community/codex-for-oss"&gt;Codex for&lt;br&gt;
  OSS&lt;/a&gt;. Eligible maintainers can apply for ChatGPT Pro&lt;br&gt;
  with Codex, API credits, and conditional access to Codex Security.&lt;/p&gt;
&lt;h2&gt;
  
  
  Keep workflows in the repo
&lt;/h2&gt;

&lt;p&gt;In these repos, we use skills to capture repository-specific workflows. A skill is a small package of operational knowledge: a &lt;code&gt;SKILL.md&lt;/code&gt; manifest, plus optional &lt;code&gt;scripts/&lt;/code&gt;, &lt;code&gt;references/&lt;/code&gt;, and &lt;code&gt;assets/&lt;/code&gt;. The &lt;a href="https://dev.to/codex/concepts/customization#skills"&gt;Codex customization docs&lt;/a&gt; describe why this works well: skills are a good fit for repeatable workflows because they can carry richer instructions, scripts, and references without bloating the agent's context up front.&lt;/p&gt;

&lt;p&gt;This matches the progressive-disclosure model used by skills:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;it sees metadata such as &lt;code&gt;name&lt;/code&gt; and &lt;code&gt;description&lt;/code&gt; first&lt;/li&gt;
&lt;li&gt;it loads &lt;code&gt;SKILL.md&lt;/code&gt; only when the skill is selected&lt;/li&gt;
&lt;li&gt;it reads references or runs scripts only when needed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both SDK repos keep these workflows close to the code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/openai/openai-agents-python/tree/main/.agents/skills" rel="noopener noreferrer"&gt;.agents/skills in openai-agents-python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/openai/openai-agents-js/tree/main/.agents/skills" rel="noopener noreferrer"&gt;.agents/skills in openai-agents-js&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Python repo is the simpler baseline:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;code-change-verification&lt;/code&gt; runs the required formatting, lint, type-checking, and test stack when code or build behavior changes.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;docs-sync&lt;/code&gt; audits the docs against the codebase and finds missing, incorrect, or outdated documentation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;examples-auto-run&lt;/code&gt; runs examples in auto mode with logs and rerun helpers.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;final-release-review&lt;/code&gt; compares the previous release tag with the current release candidate and checks release readiness.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;implementation-strategy&lt;/code&gt; decides the compatibility boundary and implementation approach before editing runtime or API changes.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;openai-knowledge&lt;/code&gt; pulls current OpenAI API and platform docs through the official Docs MCP workflow.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pr-draft-summary&lt;/code&gt; prepares the branch name suggestion, PR title, and draft description at handoff time.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;test-coverage-improver&lt;/code&gt; runs coverage, finds the biggest gaps, and proposes high-impact tests.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The JavaScript repo follows the same general pattern, then adds a few repo-specific skills for its npm monorepo and release process:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;changeset-validation&lt;/code&gt; checks that changesets and bump levels actually match the package diff.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;integration-tests&lt;/code&gt; publishes packages to a local Verdaccio registry and verifies install-and-run behavior across supported runtimes.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pnpm-upgrade&lt;/code&gt; updates the pnpm toolchain and CI pins in a coordinated way.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What matters more than the exact list is the pattern. Each skill has a narrow contract, a clear trigger, and a concrete output.&lt;/p&gt;

&lt;p&gt;Some of the most useful skills are not hard gates. &lt;code&gt;docs-sync&lt;/code&gt; and &lt;code&gt;test-coverage-improver&lt;/code&gt; are report-first workflows: they inspect the current diff or coverage artifacts, prioritize what matters, and ask for approval before making edits. In the Python repo, &lt;code&gt;docs-sync&lt;/code&gt; also treats source docstrings and comments as the source of truth for generated reference docs instead of patching generated output by hand. The JavaScript-only &lt;code&gt;pnpm-upgrade&lt;/code&gt; skill is another good example of a narrow maintenance workflow: it updates the local pnpm version, &lt;code&gt;packageManager&lt;/code&gt;, and workflow pins together instead of falling back to broad search-and-replace.&lt;/p&gt;
&lt;h2&gt;
  
  
  Make workflows mandatory
&lt;/h2&gt;

&lt;p&gt;Skills become more useful when the repository requires them at the right time. That is where &lt;code&gt;AGENTS.md&lt;/code&gt; comes in.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://dev.to/codex/guides/agents-md#layer-project-instructions"&gt;AGENTS.md guide&lt;/a&gt; describes these files as repository-level instructions that travel with the codebase and apply before the agent starts work. It also recommends keeping them small. In the Agents SDK repos, we use that space for the rules Codex should follow every time, and we put the highest-value ones near the top.&lt;/p&gt;

&lt;p&gt;In practice, both repos use short if/then rules for mandatory skill usage. Before editing runtime or API changes, call &lt;code&gt;$implementation-strategy&lt;/code&gt; to decide the compatibility boundary and implementation approach first. If the change affects SDK code, tests, examples, or build behavior, call &lt;code&gt;$code-change-verification&lt;/code&gt;. If a JavaScript package change affects release metadata, call &lt;code&gt;$changeset-validation&lt;/code&gt;. If the work touches OpenAI API or platform integrations, call &lt;code&gt;$openai-knowledge&lt;/code&gt;. When the work is finished and ready to hand off, call &lt;code&gt;$pr-draft-summary&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;That structure also lines up with the &lt;a href="https://agents.md/" rel="noopener noreferrer"&gt;agents.md&lt;/a&gt; recommendations: keep the project overview, build and test commands, code style, testing guidance, security considerations, and other repo-specific rules in one place. The Agents SDK repos follow that shape, but they lead with the operational triggers that matter most in day-to-day work. A compact version looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# AGENTS.md&lt;/span&gt;

&lt;span class="gu"&gt;## Project overview&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Core SDK code lives under &lt;span class="sb"&gt;`src/agents/`&lt;/span&gt; or &lt;span class="sb"&gt;`packages/*/src/`&lt;/span&gt;.
&lt;span class="p"&gt;-&lt;/span&gt; Tests live under &lt;span class="sb"&gt;`tests/`&lt;/span&gt; or &lt;span class="sb"&gt;`packages/*/test/`&lt;/span&gt;.
&lt;span class="p"&gt;-&lt;/span&gt; Sample apps and integration surfaces live under &lt;span class="sb"&gt;`examples/`&lt;/span&gt;.

&lt;span class="gu"&gt;## Mandatory skill usage&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Use &lt;span class="sb"&gt;`$implementation-strategy`&lt;/span&gt; before editing runtime or API changes that may affect compatibility boundaries.
&lt;span class="p"&gt;-&lt;/span&gt; Run &lt;span class="sb"&gt;`$code-change-verification`&lt;/span&gt; when runtime code, tests, examples, or build/test behavior changes.
&lt;span class="p"&gt;-&lt;/span&gt; Use &lt;span class="sb"&gt;`$openai-knowledge`&lt;/span&gt; for OpenAI API or platform work.
&lt;span class="p"&gt;-&lt;/span&gt; Use &lt;span class="sb"&gt;`$pr-draft-summary`&lt;/span&gt; when substantial code work is ready for review.

&lt;span class="gu"&gt;## Build and test commands&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Python: &lt;span class="sb"&gt;`make format`&lt;/span&gt;, &lt;span class="sb"&gt;`make lint`&lt;/span&gt;, &lt;span class="sb"&gt;`make typecheck`&lt;/span&gt;, &lt;span class="sb"&gt;`make tests`&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; TypeScript: &lt;span class="sb"&gt;`pnpm i`&lt;/span&gt;, &lt;span class="sb"&gt;`pnpm build`&lt;/span&gt;, &lt;span class="sb"&gt;`pnpm -r build-check`&lt;/span&gt;, &lt;span class="sb"&gt;`pnpm lint`&lt;/span&gt;, &lt;span class="sb"&gt;`pnpm test`&lt;/span&gt;

&lt;span class="gu"&gt;## Compatibility rules&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Preserve positional compatibility for public constructors and dataclass fields.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The real files then add repo-specific details on top of that baseline, such as &lt;code&gt;$changeset-validation&lt;/code&gt; in the JavaScript repo and the more detailed runtime, docs, and release guidance in both files. If you want full examples, see &lt;a href="https://github.com/openai/openai-agents-python/blob/main/AGENTS.md" rel="noopener noreferrer"&gt;AGENTS.md in openai-agents-python&lt;/a&gt; and &lt;a href="https://github.com/openai/openai-agents-js/blob/main/AGENTS.md" rel="noopener noreferrer"&gt;AGENTS.md in openai-agents-js&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;AGENTS.md&lt;/code&gt; is not only for skill triggers. The Python repo also records a public API compatibility rule there: preserve the positional meaning of exported constructor parameters and dataclass fields, append new optional ones at the end when possible, and add compatibility tests if reordering is unavoidable. That is another good pattern: keep release-critical compatibility rules in the same place as the skill triggers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Verification rules
&lt;/h3&gt;

&lt;p&gt;One clear example is &lt;code&gt;$code-change-verification&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In both repos, the rule is not "always run a long validation stack." The rule is "run it when runtime code, tests, examples, or build/test behavior changed, and do not mark the work complete until it passes."&lt;/p&gt;

&lt;p&gt;The conditional part keeps docs-only work lightweight. The mandatory part ensures that SDK code changes go through the repository's standard verification steps.&lt;/p&gt;

&lt;p&gt;The actual verification stacks are encoded in the skills themselves.&lt;/p&gt;

&lt;p&gt;In the Python repo, it requires:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;make format
make lint
make typecheck
make tests
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the JavaScript repo, the skill requires this exact order:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pnpm i
pnpm build
pnpm &lt;span class="nt"&gt;-r&lt;/span&gt; build-check
pnpm &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="nt"&gt;-F&lt;/span&gt; &lt;span class="s2"&gt;"@openai/*"&lt;/span&gt; dist:check
pnpm lint
pnpm &lt;span class="nb"&gt;test&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The skill encodes the repository's definition of "verified," and &lt;code&gt;AGENTS.md&lt;/code&gt; makes that definition enforceable.&lt;/p&gt;

&lt;h3&gt;
  
  
  Changeset validation
&lt;/h3&gt;

&lt;p&gt;The JavaScript repo has one more mandatory step for package changes: &lt;code&gt;$changeset-validation&lt;/code&gt;, built around &lt;a href="https://github.com/changesets/changesets" rel="noopener noreferrer"&gt;Changesets&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;When anything under &lt;code&gt;packages/&lt;/code&gt; changes, or when &lt;code&gt;.changeset/&lt;/code&gt; changes, the model has to do more than just run tests. It has to create or update the right changeset, validate the bump level, and confirm that the changeset actually matches the diff.&lt;/p&gt;

&lt;p&gt;This skill does more than check that a file exists. It asks Codex to judge the git diff, and it keeps the validation rules in a shared prompt so local runs and GitHub Actions use the same logic. It also encodes repo-specific policy, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;use the existing branch changeset instead of creating another one when one already exists&lt;/li&gt;
&lt;li&gt;keep the summary to one line in Conventional Commit style so it can double as a commit title&lt;/li&gt;
&lt;li&gt;before 1.0, avoid major bumps for normal feature work, and treat explicitly labeled preview-only additions as patch changes if they do not change existing behavior&lt;/li&gt;
&lt;li&gt;validate the required bump level against the actual package changes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That makes Codex responsible for validating the release metadata it creates before it can say the work is done.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use current docs
&lt;/h3&gt;

&lt;p&gt;Both repos also require &lt;code&gt;$openai-knowledge&lt;/code&gt; when work touches OpenAI API or platform integrations.&lt;/p&gt;

&lt;p&gt;That skill is a thin wrapper around the official &lt;a href="https://developers.openai.com/learn/docs-mcp" rel="noopener noreferrer"&gt;OpenAI Docs MCP&lt;/a&gt;. Instead of letting the model answer from memory, it tells Codex to use the OpenAI Developer Documentation MCP server to look up the current docs for surfaces such as the Responses API, tools, streaming, Realtime, and MCP.&lt;/p&gt;

&lt;p&gt;If the MCP server is not already configured in the local Codex environment, the skill points maintainers to the &lt;a href="https://developers.openai.com/learn/docs-mcp#quickstart" rel="noopener noreferrer"&gt;Docs MCP quickstart&lt;/a&gt; and the &lt;a href="https://developers.openai.com/mcp" rel="noopener noreferrer"&gt;official MCP server endpoint&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prepare the PR handoff
&lt;/h3&gt;

&lt;p&gt;At the end of substantive work, both repos use &lt;code&gt;$pr-draft-summary&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;That skill triggers only when the task is effectively finished or ready for review and the change touched meaningful code, tests, examples, docs with behavior impact, or build/test configuration. It then collects the branch name, working tree status, changed files, diff stats, and recent commits automatically, and produces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a branch name suggestion&lt;/li&gt;
&lt;li&gt;a PR title&lt;/li&gt;
&lt;li&gt;a draft PR description&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The output format is intentionally rigid. A typical result looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Pull Request Draft&lt;/span&gt;

&lt;span class="gu"&gt;## Branch name suggestion&lt;/span&gt;

git checkout -b fix/tracing-lazy-init-fork-safety

&lt;span class="gu"&gt;## Title&lt;/span&gt;

fix: #2489 lazily initialize tracing globals to avoid import-time fork hazards

&lt;span class="gu"&gt;## Description&lt;/span&gt;

This pull request fixes import-time tracing side effects that could break fork-based process models by moving tracing bootstrap to lazy, first-use initialization.

It updates tracing setup so initialization happens once on first access while preserving the existing public tracing APIs.

It also adds regression tests for import-time behavior, one-time bootstrap, and custom provider handling.

This pull request resolves #2489.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once you trust the model to validate and summarize its own work, asking it to produce the PR draft is a natural last step. It keeps the handoff consistent and reduces repetitive writing after the coding work is already complete.&lt;/p&gt;

&lt;h2&gt;
  
  
  Write better descriptions
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;description&lt;/code&gt; field in a skill's &lt;code&gt;SKILL.md&lt;/code&gt; frontmatter is part of the routing contract.&lt;/p&gt;

&lt;p&gt;This is structural, not stylistic. The &lt;a href="https://agentskills.io/specification" rel="noopener noreferrer"&gt;Agent Skills specification&lt;/a&gt; makes &lt;code&gt;name&lt;/code&gt; and &lt;code&gt;description&lt;/code&gt; the required &lt;code&gt;SKILL.md&lt;/code&gt; frontmatter fields, and its progressive-disclosure model says those fields are what get loaded at startup for all skills. The full &lt;code&gt;SKILL.md&lt;/code&gt; body and any &lt;code&gt;scripts/&lt;/code&gt;, &lt;code&gt;references/&lt;/code&gt;, or &lt;code&gt;assets/&lt;/code&gt; are loaded only later, when the skill is actually activated.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://dev.to/codex/skills"&gt;Codex skills docs&lt;/a&gt; and &lt;a href="https://dev.to/codex/concepts/customization#skills"&gt;customization docs&lt;/a&gt; describe the same behavior from the Codex side: Codex starts with each skill's metadata for discovery, loads &lt;code&gt;SKILL.md&lt;/code&gt; only when it chooses the skill, and reads references or runs scripts only when needed. The &lt;a href="https://developers.openai.com/cookbook/examples/skills_in_api/#what-is-a-skill" rel="noopener noreferrer"&gt;Skills in OpenAI API cookbook&lt;/a&gt; describes the hosted-shell side just as explicitly: OpenAI reads each skill's &lt;code&gt;name&lt;/code&gt;, &lt;code&gt;description&lt;/code&gt;, and path first, and the model uses that information to decide when to read the full &lt;code&gt;SKILL.md&lt;/code&gt;. Its &lt;a href="https://developers.openai.com/cookbook/examples/skills_in_api/#skillmd-frontmatter" rel="noopener noreferrer"&gt;SKILL.md frontmatter section&lt;/a&gt; makes the same point more directly: &lt;code&gt;name&lt;/code&gt; and &lt;code&gt;description&lt;/code&gt; are important for discovery and routing.&lt;/p&gt;

&lt;p&gt;In the Agents SDK repos, that makes &lt;code&gt;description&lt;/code&gt; one of the main routing signals before Codex has read the rest of the skill.&lt;/p&gt;

&lt;p&gt;Here is a concrete example from &lt;code&gt;code-change-verification&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Too vague:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Run the mandatory verification stack in the OpenAI Agents JS monorepo.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Better (the actual description):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Run the mandatory verification stack when changes affect runtime code, tests, or build/test behavior in the OpenAI Agents JS monorepo.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The shorter version already tells Codex what the skill does, but it still does not say when the skill applies, what kinds of changes should trigger it, or whether the checks are optional. The more specific version tells the model all three.&lt;/p&gt;

&lt;p&gt;The same pattern shows up in &lt;code&gt;pr-draft-summary&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Too vague:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Create a PR title and draft description for a pull request.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Better (the actual description):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Create a PR title and draft description after substantive code changes are finished. Trigger when wrapping up a moderate-or-larger change (runtime code, tests, build config, docs with behavior impact) and you need the PR-ready summary block with change summary plus PR draft text.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Again, the real description is routing metadata. It tells Codex:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;this is an end-of-task skill&lt;/li&gt;
&lt;li&gt;it is for substantive changes, not every chat turn&lt;/li&gt;
&lt;li&gt;the output is a PR-ready block, not just a prose summary&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One practical lesson from these repos is to spend time on &lt;code&gt;description&lt;/code&gt;. If routing feels unreliable, fix the metadata before you add more code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Put mechanics in scripts
&lt;/h2&gt;

&lt;p&gt;After that, the next question is what belongs in the model and what should be pushed down into a script.&lt;/p&gt;

&lt;p&gt;A reliable split is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;interpretation, comparison, and reporting stay with the model&lt;/li&gt;
&lt;li&gt;deterministic, repeated shell work goes in &lt;code&gt;scripts/&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This matches the public guidance. The &lt;a href="https://dev.to/codex/concepts/customization#skills"&gt;Codex customization docs&lt;/a&gt; describe skills as a way to give Codex richer instructions, scripts, and references for repeatable workflows without bloating context up front. That fits a model-first setup: let Codex handle the context-dependent parts of the job, and bring in scripts for the deterministic parts only when needed. The &lt;a href="https://developers.openai.com/cookbook/examples/skills_in_api/#operational-best-practices" rel="noopener noreferrer"&gt;Skills in OpenAI API cookbook&lt;/a&gt; also recommends designing skill scripts like tiny CLIs: scripts that run from the command line, print deterministic stdout, fail loudly with usage or error messages, and write outputs to known file paths when needed.&lt;/p&gt;

&lt;p&gt;In the Agents SDK repos, we try to use the model where its intelligence is actually useful, for example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;reading source code to infer intended behavior&lt;/li&gt;
&lt;li&gt;comparing logs with that intended behavior&lt;/li&gt;
&lt;li&gt;deciding whether a release diff contains a real compatibility risk&lt;/li&gt;
&lt;li&gt;producing an explanation that a maintainer can act on&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Scripts then handle the mechanics around that work, for example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;running the repository's required verification commands in a fixed order&lt;/li&gt;
&lt;li&gt;starting example runs, collecting per-example logs, and writing rerun files for failures&lt;/li&gt;
&lt;li&gt;fetching the previous release tag before a release-readiness review&lt;/li&gt;
&lt;li&gt;exposing helper commands such as &lt;code&gt;start&lt;/code&gt;, &lt;code&gt;stop&lt;/code&gt;, &lt;code&gt;status&lt;/code&gt;, &lt;code&gt;logs&lt;/code&gt;, &lt;code&gt;tail&lt;/code&gt;, &lt;code&gt;collect&lt;/code&gt;, and &lt;code&gt;rerun&lt;/code&gt; so the same workflow is easy to run repeatedly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the model has to rediscover the same shell recipe every time, that is usually a sign that the recipe should be a script. If the task depends on context, tradeoffs, or explanation, that part should stay with the model.&lt;/p&gt;

&lt;h2&gt;
  
  
  Automate integration tests
&lt;/h2&gt;

&lt;p&gt;One of the most useful workflow areas in both repos is automated integration testing. There are two related layers here: validating in-repo examples automatically in both repos, and, in the JavaScript repo, separately validating that published packages still work when installed the way users consume them.&lt;/p&gt;

&lt;p&gt;Before this setup, validating examples was partly manual. You could run the examples, but the last mile often depended on visually checking logs or deciding by inspection whether the output looked right. That is manageable for one example. It does not scale well across a growing SDK repository.&lt;/p&gt;

&lt;p&gt;The first layer is &lt;code&gt;examples-auto-run&lt;/code&gt;, but the skill came after the runner. To automate example validation at all, we first had to build the underlying support for non-interactive example execution in both repos. That meant making it possible to run example scripts in an auto mode, including examples that normally involve prompts or approvals.&lt;/p&gt;

&lt;p&gt;That groundwork included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;auto-answering common interactive prompts&lt;/li&gt;
&lt;li&gt;auto-approving HITL, MCP, &lt;code&gt;apply_patch&lt;/code&gt;, and shell actions where the runner supports them&lt;/li&gt;
&lt;li&gt;keeping examples that are still not suitable for automation on an auto-skip list, such as realtime or Next.js app examples that need extra runtime setup&lt;/li&gt;
&lt;li&gt;writing structured logs for each example run&lt;/li&gt;
&lt;li&gt;generating rerun files so failures can be retried without rerunning everything&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once that foundation was in place, we organized it as a skill so the workflow became reusable and easy to invoke. In the Python repo, &lt;code&gt;examples-auto-run&lt;/code&gt; wraps &lt;code&gt;uv run examples/run_examples.py --auto-mode --write-rerun --main-log ... --logs-dir ...&lt;/code&gt;. In the JavaScript repo, it wraps the build checks and then runs &lt;code&gt;pnpm examples:start-all&lt;/code&gt; in auto mode with per-example logging and rerun support.&lt;/p&gt;

&lt;p&gt;To improve validation quality, the runner's job is to execute the examples and preserve their stdout and stderr in per-example logs. The skill then has Codex go through those logs one by one and compare them with the source code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;read the example source and comments&lt;/li&gt;
&lt;li&gt;infer the intended flow&lt;/li&gt;
&lt;li&gt;open the matching log&lt;/li&gt;
&lt;li&gt;compare intended behavior with actual stdout and stderr&lt;/li&gt;
&lt;li&gt;do that for every successful example, not just one sample&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is more accurate and more flexible than trying to encode correctness as a fixed script-level assertion. A successful exit code is useful, but it is not enough for examples that talk to real APIs, use tools, or produce structured output. By recording the actual output first and then checking it carefully against the source code, we can validate each example according to its real intent.&lt;/p&gt;

&lt;p&gt;In the JavaScript repo, there is then a second layer: the separate &lt;code&gt;integration-tests&lt;/code&gt; skill. That workflow goes beyond running source examples in-place. It publishes the packages to a local Verdaccio registry and tests installing and running them in multiple environments, including Node.js, Bun, Deno, Cloudflare Workers, and a Vite React app. This catches a different class of problems: not "does the example run in the repo?" but "does the package still behave correctly after publish, install, and runtime integration?"&lt;/p&gt;

&lt;p&gt;Taken together, these workflows show why it is useful to combine skills, scripts, and model judgment. The scripts make the runs repeatable, capture the evidence, and cover installation paths that are tedious to check by hand. Codex then uses that evidence to do a more careful comparison than a simple scripted pass/fail check.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add release checks
&lt;/h2&gt;

&lt;p&gt;Release preparation is another area where this pattern helps.&lt;/p&gt;

&lt;p&gt;The release-review workflow in both repos starts by finding the previous release tag, diffing it against the latest &lt;code&gt;main&lt;/code&gt;, and then asking Codex to inspect that diff for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;backward compatibility issues in public APIs and user-facing SDK behavior&lt;/li&gt;
&lt;li&gt;regressions, including smaller changes in expected behavior&lt;/li&gt;
&lt;li&gt;missing migration notes or release-note updates for changes that need them&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Based on those findings, the skill makes an overall release-readiness call.&lt;/p&gt;

&lt;p&gt;A concrete example is &lt;a href="https://github.com/openai/openai-agents-python/pull/2480" rel="noopener noreferrer"&gt;openai/openai-agents-python#2480&lt;/a&gt;, where the release review stays green overall while still calling out the Python 3.9 drop and the release-note follow-up it requires:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;Release readiness review (excerpt)

Release call:
🟢 GREEN LIGHT TO SHIP. Minor-version bump includes expected breaking change
(Python 3.9 drop) with no concrete regressions found.

Scope summary:
&lt;span class="p"&gt;
-&lt;/span&gt; 38 files changed (+1450/-789); key areas touched: &lt;span class="sb"&gt;`src/agents/tool.py`&lt;/span&gt;,
  &lt;span class="sb"&gt;`src/agents/extensions/`&lt;/span&gt;, &lt;span class="sb"&gt;`src/agents/realtime/`&lt;/span&gt;, &lt;span class="sb"&gt;`tests/`&lt;/span&gt;,
  &lt;span class="sb"&gt;`pyproject.toml`&lt;/span&gt;, &lt;span class="sb"&gt;`uv.lock`&lt;/span&gt;.

Python 3.9 support removed
&lt;span class="p"&gt;
-&lt;/span&gt; Risk: 🟡 MODERATE. Users pinned to Python 3.9 will be unable to install the
&lt;span class="p"&gt;  0.&lt;/span&gt;9.0 release.
&lt;span class="p"&gt;-&lt;/span&gt; Evidence: &lt;span class="sb"&gt;`pyproject.toml`&lt;/span&gt; now sets &lt;span class="sb"&gt;`requires-python = "&amp;gt;=3.10"`&lt;/span&gt; and drops
  the Python 3.9 classifier; CI skip logic for 3.9 was removed.
&lt;span class="p"&gt;-&lt;/span&gt; Action: Ensure release notes clearly call out the Python 3.9 drop and that
  packaging metadata remains &lt;span class="sb"&gt;`&amp;gt;=3.10`&lt;/span&gt;.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The skill also defines how the gate decision is made. The review starts from "safe to release" and switches to a blocked call only when the diff shows concrete evidence of a real problem. Every blocked call must come with a specific unblock checklist. That makes the output much easier to use: a green result means no release-blocking issue was found in the diff, and a blocked result means there is a real issue with a clear next step.&lt;/p&gt;

&lt;p&gt;This is more useful than a generic "please review the release." It forces the model to reason over a concrete diff and explain the result in operational terms. If the release is safe, say so. If it is not, point at the exact evidence and the exact follow-up needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Run workflows in CI
&lt;/h2&gt;

&lt;p&gt;Once a skill is useful locally, &lt;a href="https://dev.to/codex/github-action"&gt;Codex GitHub Action&lt;/a&gt; makes it easy to automate the same workflow in CI. That works best when the local workflow is already stable, because manual use is where you debug the instructions, refine the scripts, and find the real edge cases.&lt;/p&gt;

&lt;p&gt;For public repositories, the trigger design matters as much as the skill. The &lt;a href="https://dev.to/codex/github-action#security-checklist"&gt;GitHub Action security checklist&lt;/a&gt; recommends limiting who can start the workflow, preferring trusted events or explicit approvals, sanitizing prompt inputs from PRs, commits, issues, or comments, keeping &lt;code&gt;OPENAI_API_KEY&lt;/code&gt; protected with &lt;code&gt;drop-sudo&lt;/code&gt; or an unprivileged user, and running Codex as the last step in the job.&lt;/p&gt;

&lt;p&gt;If a workflow is write-capable and takes untrusted public input, the risk is usually in the trigger design, input handling, and runtime privileges around the skill.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use Codex in PR review
&lt;/h2&gt;

&lt;p&gt;Skills are one part of the productivity story in these repos. &lt;a href="https://dev.to/codex/integrations/github"&gt;Codex GitHub PR auto review&lt;/a&gt; is another.&lt;/p&gt;

&lt;p&gt;Since Codex GitHub PR auto review became available, Codex has been a useful reviewer across most code changes in these repos. We use it as a regular part of review, not as a special-case tool.&lt;/p&gt;

&lt;p&gt;For straightforward program bugs, regressions, and missing tests, relying on Codex as the required review path is now safe enough in practice. It is consistent at checking the same correctness patterns over and over, and it has removed a major bottleneck for small fixes and routine improvements.&lt;/p&gt;

&lt;p&gt;Peer review is still important, but for a different class of changes.&lt;/p&gt;

&lt;p&gt;Human review is still essential when the main question is not "is this code correct?" but "which of several valid options should we choose, and how should we ship it?" That includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API or architecture changes where there are multiple reasonable designs and maintainers need to make an explicit choice&lt;/li&gt;
&lt;li&gt;behavior changes that affect product expectations, backward-compatibility promises, or rollout policy&lt;/li&gt;
&lt;li&gt;naming, migration, and release-communication decisions where the hard part is choosing what will be clearest for users and contributors&lt;/li&gt;
&lt;li&gt;changes that require alignment across maintainers or teams, such as scoping work, sequencing it, or deciding what should ship now versus later&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Codex can still contribute usefully in all of those cases, but they still benefit from a human decision-maker and direct discussion.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;AGENTS.md&lt;/code&gt; can also encode that split: the repo can tell Codex what counts as important for correctness review, and Codex can apply that guidance consistently.&lt;/p&gt;

&lt;p&gt;This has also been a significant contributor to throughput. Repetitive review and validation work no longer waits on scarce reviewer time for every low-risk change, while maintainers can stay focused on higher-context review where their judgment matters most. That shift has helped us move through backlog bugs and smaller feature improvements much faster.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;p&gt;In the OpenAI Agents SDK repos, skills work best when they are part of the repository's normal working setup.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;AGENTS.md&lt;/code&gt; tells Codex which workflows are required. &lt;code&gt;description&lt;/code&gt; tells it when to route into those workflows. &lt;code&gt;scripts/&lt;/code&gt; handles the deterministic parts. The model handles the contextual parts. And once a workflow is solid locally, &lt;a href="https://dev.to/codex/github-action"&gt;Codex GitHub Action&lt;/a&gt; can carry the same process into CI.&lt;/p&gt;

&lt;p&gt;That has made everyday engineering work in these repos more explicit and more reliable. It has also made it easier to ship small improvements faster, because verification, release review, and PR handoff now follow the same repeatable process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/openai/openai-agents-python" rel="noopener noreferrer"&gt;OpenAI Agents SDK for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/openai/openai-agents-js" rel="noopener noreferrer"&gt;OpenAI Agents SDK for JS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/codex/concepts/customization#skills"&gt;Skills in Codex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/codex/guides/agents-md"&gt;Custom instructions with AGENTS.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/codex/github-action"&gt;Codex GitHub Action&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/codex/integrations/github"&gt;Use Codex in GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.openai.com/cookbook/examples/skills_in_api" rel="noopener noreferrer"&gt;Skills in OpenAI API cookbook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://agentskills.io/specification" rel="noopener noreferrer"&gt;Agent Skills specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.openai.com/cookbook/examples/skills_in_api/#operational-best-practices" rel="noopener noreferrer"&gt;Skills in OpenAI API: operational best practices&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  bughunters.google.com-leaderboard
&lt;/h1&gt;

&lt;h1&gt;
  
  
  TARGET indonesia corrupted sending data from my country data devisa ATM bank online nowing
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://bughunters.google.com/" rel="noopener noreferrer"&gt;https://bughunters.google.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://workspace.google.com/gmail/en-id" rel="noopener noreferrer"&gt;https://workspace.google.com/gmail/en-id&lt;/a&gt; || &lt;a href="https://icloud.com/mail/en-id" rel="noopener noreferrer"&gt;https://icloud.com/mail/en-id&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It seems like you’re referencing a conversation or a source related to integrating ArcGIS software with Meta (Facebook, Instagram, WhatsApp) and Microsoft apps (e.g., Excel, Power BI, Azure, Teams). However, the link you provided points to an Ecosia AI Chat page, which doesn’t directly explain how to achieve this integration.&lt;/p&gt;

&lt;p&gt;Let me break down how you can combine ArcGIS with Meta and Microsoft apps for practical use cases:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://my.kaspersky.com/" rel="noopener noreferrer"&gt;https://my.kaspersky.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.ecosia.org/ai-chat/" rel="noopener noreferrer"&gt;https://www.ecosia.org/ai-chat/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.facebook.com/" rel="noopener noreferrer"&gt;https://www.facebook.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.facebook.com/" rel="noopener noreferrer"&gt;https://www.facebook.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://my.nextdns.io/login" rel="noopener noreferrer"&gt;https://my.nextdns.io/login&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.esri.ca/en-ca/store/customer-number" rel="noopener noreferrer"&gt;https://www.esri.ca/en-ca/store/customer-number&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.esri.com/en-id/store/customer-number" rel="noopener noreferrer"&gt;https://www.esri.com/en-id/store/customer-number&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ArcGIS + Microsoft Apps
a. ArcGIS + Microsoft Excel/Power BI
Use Case: Visualize and analyze geospatial data from Excel or Power BI dashboards.
How to Integrate:
Use ArcGIS Maps for Power BI to embed interactive maps into Power BI reports.
Export data from ArcGIS to Excel for further analysis or visualization.
Use Power Automate to automate data flows between ArcGIS and Excel.
b. ArcGIS + Microsoft Azure
Use Case: Store, process, or analyze geospatial data in the cloud.
How to Integrate:
Use ArcGIS Enterprise on Azure to deploy GIS solutions in the cloud.
Store large datasets in Azure Blob Storage and process them using ArcGIS tools.
Use Azure AI/ML to enhance geospatial analysis (e.g., object detection in satellite imagery).
c. ArcGIS + Microsoft Teams
Use Case: Collaborate on GIS projects within Teams.
How to Integrate:
Share ArcGIS maps, apps, or dashboards directly in Teams channels.
Use Power Automate to send notifications or updates from ArcGIS to Teams.&lt;/li&gt;
&lt;li&gt;ArcGIS + Meta Apps (Facebook, Instagram, WhatsApp)
a. ArcGIS + Facebook/Instagram
Use Case: Visualize social media data (e.g., geotagged posts) on a map.
How to Integrate:
Use ArcGIS StoryMaps to embed social media feeds (e.g., Instagram posts with location tags) into interactive stories.
Use Facebook’s Graph API to extract location-based data and visualize it in ArcGIS.
Analyze trends or sentiment from social media posts and overlay them on maps.
b. ArcGIS + WhatsApp
Use Case: Collect field data via WhatsApp and visualize it in ArcGIS.
How to Integrate:
Use WhatsApp Business API to receive location-based messages or images from field teams.
Process this data in ArcGIS Survey123 or ArcGIS Field Maps for mapping and analysis.
Automate data collection workflows using Power Automate or Zapier.&lt;/li&gt;
&lt;li&gt;Automation Tools
To streamline workflows between these platforms, consider using:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Power Automate: Automate data flows between ArcGIS, Microsoft apps, and Meta.&lt;br&gt;
Zapier: Connect ArcGIS with Meta and Microsoft apps for no-code automation.&lt;br&gt;
Python Scripts: Use ArcGIS API for Python to extract, transform, and load data between platforms.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
