<?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>Forem: Tang Weigang</title>
    <description>The latest articles on Forem by Tang Weigang (@doramagic).</description>
    <link>https://forem.com/doramagic</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3936036%2F9206ba55-8d8f-457e-a399-6e3316ef715f.png</url>
      <title>Forem: Tang Weigang</title>
      <link>https://forem.com/doramagic</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/doramagic"/>
    <language>en</language>
    <item>
      <title>Codex CLI needs a rollback-ready workflow, not just a quick install</title>
      <dc:creator>Tang Weigang</dc:creator>
      <pubDate>Sun, 24 May 2026 03:05:35 +0000</pubDate>
      <link>https://forem.com/doramagic/codex-cli-needs-a-rollback-ready-workflow-not-just-a-quick-install-k0d</link>
      <guid>https://forem.com/doramagic/codex-cli-needs-a-rollback-ready-workflow-not-just-a-quick-install-k0d</guid>
      <description>&lt;p&gt;When teams evaluate Codex CLI, the first questions are usually simple: can we install it, and can it help with code changes?&lt;/p&gt;

&lt;p&gt;Those questions matter, but they are not enough.&lt;/p&gt;

&lt;p&gt;A coding agent becomes useful in a real repository only when the workflow around it is reviewable and reversible.&lt;/p&gt;

&lt;p&gt;That means checking a few things before treating the tool as production-adjacent:&lt;/p&gt;

&lt;p&gt;First, verify the source path.&lt;br&gt;
Make sure the repository, documentation, and install path you are following are actually the current upstream path and not a stale secondary summary.&lt;/p&gt;

&lt;p&gt;Second, define the permission boundary.&lt;br&gt;
What can the tool read, what can it edit, what commands can it run, and where must a human step in?&lt;/p&gt;

&lt;p&gt;Third, require a review path.&lt;br&gt;
A good result is not "the agent wrote code."&lt;br&gt;
A good result is "the change can be inspected in git, checked against tests, and rejected without confusion."&lt;/p&gt;

&lt;p&gt;Fourth, keep rollback discipline.&lt;br&gt;
If a trial goes wrong, the team should know the smallest safe environment, the expected output, and how to back out without leaving uncertain state behind.&lt;/p&gt;

&lt;p&gt;This is why Doramagic treats Codex CLI as more than a terminal AI demo.&lt;br&gt;
The useful part is the capability asset around it: source review, setup boundaries, validation checks, and rollback guidance.&lt;/p&gt;

&lt;p&gt;Project page:&lt;br&gt;
&lt;a href="https://doramagic.ai/en/projects/codex/" rel="noopener noreferrer"&gt;https://doramagic.ai/en/projects/codex/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source repository:&lt;br&gt;
&lt;a href="https://github.com/openai/codex" rel="noopener noreferrer"&gt;https://github.com/openai/codex&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is an independent Doramagic resource pack. It is not an official upstream project release unless the upstream project says so.&lt;/p&gt;

</description>
      <category>openai</category>
      <category>ai</category>
    </item>
    <item>
      <title>Aider clone signals point to rollback-ready coding contracts, not just better code generation</title>
      <dc:creator>Tang Weigang</dc:creator>
      <pubDate>Fri, 22 May 2026 17:39:52 +0000</pubDate>
      <link>https://forem.com/doramagic/aider-clone-signals-point-to-rollback-ready-coding-contracts-not-just-better-code-generation-ob6</link>
      <guid>https://forem.com/doramagic/aider-clone-signals-point-to-rollback-ready-coding-contracts-not-just-better-code-generation-ob6</guid>
      <description>&lt;p&gt;Today’s first high-quality Doramagic publishing topic is &lt;code&gt;Aider&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I am not treating the 2026-05-23 GitHub collection as a completed fact source. The live collection process stalled during the publishing window and did not write a &lt;code&gt;2026-05-23.jsonl&lt;/code&gt; file. This post therefore uses the newest available local metrics snapshot: the 2026-05-22 GitHub traffic file.&lt;/p&gt;

&lt;p&gt;In that snapshot, &lt;code&gt;doramagic-aider-pack&lt;/code&gt; had 4 views, 21 clones, and 21 unique cloners. This is not a large number, and it does not prove adoption. A clone can come from a batch scan, a script, a mirror, a one-off check, or a real evaluator. Treating clones as satisfaction would be a weak claim.&lt;/p&gt;

&lt;p&gt;The signal is still useful because Aider sits in a category that is easy to misunderstand. People often frame AI coding tools as “chatbots that write more code.” In actual engineering work, the valuable question is different: can the tool keep a code change inside a contract that is inspectable, reversible, and reviewable?&lt;/p&gt;

&lt;p&gt;The first layer of an AI coding tool is obvious. It turns a natural-language request into code changes. It can inspect files, propose patches, run tests, and iterate. That is useful, but it is not enough for daily engineering work. Teams also need to know what boundary the agent changed, what evidence it used, what it did not know, and what it will do when the first attempt fails.&lt;/p&gt;

&lt;p&gt;This is where Aider-style tools differ from ordinary code completion. They participate in the change loop. Once a tool participates in the change loop, it needs engineering discipline, not just generation ability.&lt;/p&gt;

&lt;p&gt;A reusable Aider capability pack should answer at least six questions.&lt;/p&gt;

&lt;p&gt;First, how does the agent establish the task boundary before editing?&lt;/p&gt;

&lt;p&gt;It should know which files are in scope, which directories are only references, which files must not be touched, and which existing changes may belong to the user. Without that rule, “can edit code” becomes “can change the whole repository.” For a small team or one-person company, that is especially dangerous because there may be no second reviewer waiting downstream.&lt;/p&gt;

&lt;p&gt;Second, what evidence must be captured before the patch?&lt;/p&gt;

&lt;p&gt;A good coding workflow should not begin with blind edits. It should record the branch, dirty worktree, relevant tests, existing failures, target files, entry points, configuration, and dependencies. Without this evidence, a later claim that the task is fixed may only mean that one narrow path happened to pass.&lt;/p&gt;

&lt;p&gt;Third, how small should the patch be?&lt;/p&gt;

&lt;p&gt;AI tools tend to produce large changes when the task is underspecified. Large changes can look productive, but they increase review cost and rollback risk. A better rule is: make the smallest verifiable change first, run the closest relevant check, then decide whether to expand scope. A capability pack should make that rhythm explicit instead of hoping the model chooses it.&lt;/p&gt;

&lt;p&gt;Fourth, how should failure narrow the search?&lt;/p&gt;

&lt;p&gt;Failing tests are not the problem. Guessing after failure is the problem. The agent should record the command, the error summary, the suspected cause, the next hypothesis, and why that hypothesis is better than the alternatives. Then failure becomes reusable evidence instead of an invisible chain of automated attempts.&lt;/p&gt;

&lt;p&gt;Fifth, when must the agent stop?&lt;/p&gt;

&lt;p&gt;Authentication, billing, database migrations, destructive scripts, production configuration, release actions, user privacy, and external publication are not ordinary coding steps. The agent should stop, explain the risk, propose the next action, and wait for confirmation. The stronger the tool becomes, the more important the stop rule becomes.&lt;/p&gt;

&lt;p&gt;Sixth, what proves the result?&lt;/p&gt;

&lt;p&gt;“Done” is not proof. A useful final state should include changed files, why the change was made, which checks were run, which checks were not run, remaining risks, and the next recommended action. Code that cannot be reviewed is just maintenance debt produced faster.&lt;/p&gt;

&lt;p&gt;For Doramagic, the lesson is that an Aider resource pack should not be a prompt collection. It should be a portable engineering contract. It should connect code generation, context reading, patch boundaries, verification commands, failure recovery, human confirmation, and final evidence into one reusable loop.&lt;/p&gt;

&lt;p&gt;More precisely, this is not just a prompt library. A high-quality Aider capability asset needs a source map that says which evidence came from upstream Aider, the Doramagic project page, and the local publishing metrics; host instructions that tell the agent how to read the repository, respect file scope, and protect the dirty worktree; a prompt preview that shows how the operator should describe a task; a pitfall log for large patches, accidental deletion, missing tests, and context mistakes; a boundary card for database changes, production configuration, account permissions, release actions, and external publication; eval or smoke check criteria for deciding whether the patch passed; a human manual with a review checklist; a test log that records what was and was not run; and a feedback path so failure becomes reusable knowledge.&lt;/p&gt;

&lt;p&gt;The decision rule should be explicit. GO when the task is scoped, reversible, and covered by a clear verification checklist. HOLD when requirements are vague, tests are missing, or file boundaries are unclear. NO_GO when the change touches production data, deletion, account authority, external publishing, or any action that cannot be safely rolled back. This pass/fail criteria is more useful than saying the model “seems to understand the code.”&lt;/p&gt;

&lt;p&gt;The limits also need to be visible. This is independent guidance, not official Aider documentation, and it should not claim to represent the upstream project. The pack should help an operator decide how to use an AI coding agent safely; it should not pretend that every repository, team policy, or production environment has the same risk boundary.&lt;/p&gt;

&lt;p&gt;That is also why a Doramagic Aider pack should not only explain “how to make Aider write code.” The stronger use case is explaining which tasks are safe for direct edits, which tasks should only produce candidate patches, when the agent must stop, and how each success or failure becomes reusable operating knowledge.&lt;/p&gt;

&lt;p&gt;Today’s metrics do not prove that &lt;code&gt;doramagic-aider-pack&lt;/code&gt; is successful. They only show that someone or some system is pulling on this type of capability. The better question to keep testing is whether users need a portable AI coding work contract that they can load, reuse, inspect, and verify, rather than another prompt that says “help me change this code.”&lt;/p&gt;

&lt;p&gt;source_asset_url:&lt;br&gt;
&lt;a href="https://github.com/Aider-AI/aider" rel="noopener noreferrer"&gt;https://github.com/Aider-AI/aider&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;doramagic_project_url:&lt;br&gt;
&lt;a href="https://doramagic.ai/en/projects/aider/" rel="noopener noreferrer"&gt;https://doramagic.ai/en/projects/aider/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is an independent Doramagic resource pack. It is not an official Aider release unless the upstream project says so.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Chrome DevTools MCP traffic shows developers are checking operability, not hype</title>
      <dc:creator>Tang Weigang</dc:creator>
      <pubDate>Fri, 22 May 2026 07:16:02 +0000</pubDate>
      <link>https://forem.com/doramagic/chrome-devtools-mcp-traffic-shows-developers-are-checking-operability-not-hype-47i1</link>
      <guid>https://forem.com/doramagic/chrome-devtools-mcp-traffic-shows-developers-are-checking-operability-not-hype-47i1</guid>
      <description>&lt;p&gt;Today's first Doramagic publishing signal comes from &lt;code&gt;doramagic-chrome-devtools-mcp-pack&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In the partial 2026-05-22 GitHub metrics snapshot, the repository had 44 views, 2 unique viewers, 120 clones, and 60 unique cloners. The more important signal is the path pattern: &lt;code&gt;traffic&lt;/code&gt; was opened 16 times, &lt;code&gt;commit-activity&lt;/code&gt; 10 times, the repository overview 8 times, and there were also visits to community health, pulse, README, README.zh-CN, branches, and contributors.&lt;/p&gt;

&lt;p&gt;I would not interpret this as satisfaction. A GitHub clone can come from real evaluation, a script, a mirror, a batch checker, or a one-off scan. Views and clones are not product love by themselves. But the path pattern still matters because it does not look like casual article reading. It looks like an operability and trust check.&lt;/p&gt;

&lt;p&gt;That distinction is important for Chrome DevTools MCP and browser-agent work.&lt;/p&gt;

&lt;p&gt;Browser automation creates an easy illusion: if an agent can open a page, click a button, read the DOM, and take a screenshot, then it can complete a real workflow. In practice, the hard part is not the click. The hard part is knowing the page state before the click, verifying the result after the click, and recovering when the page does something unexpected.&lt;/p&gt;

&lt;p&gt;A reusable UI acceptance chain has to answer several questions.&lt;/p&gt;

&lt;p&gt;First, what is the starting state?&lt;/p&gt;

&lt;p&gt;Is the user logged in? Is the active tab the target page? Has the page finished loading? Are cookies, permissions, language settings, cached state, region, popups, or experiments affecting the result? If this state is not recorded, a successful run may be impossible to reproduce.&lt;/p&gt;

&lt;p&gt;Second, what counts as verification?&lt;/p&gt;

&lt;p&gt;Many browser agents stop at "the page looks fine." That is not acceptance. Acceptance needs inspectable evidence: URL, key DOM state, screenshot, console errors, failed network requests, form state, enabled buttons, post-submit confirmation, public URL, or dashboard status. Without evidence, automation is just an unaudited action.&lt;/p&gt;

&lt;p&gt;Third, where is the action boundary and what are the limits?&lt;/p&gt;

&lt;p&gt;Chrome DevTools MCP brings an agent closer to a real browser session. That increases capability, but it also increases risk. Login, publish, delete, submit, pay, authorize, upload, or change account settings are not ordinary clicks. A context pack has to say which actions can be automated, which actions require human confirmation, and which actions should stop at draft or preview.&lt;/p&gt;

&lt;p&gt;Fourth, what is the recovery path?&lt;/p&gt;

&lt;p&gt;Real UI workflows fail in small ways: the editor is not focused, Markdown is swallowed by a rich-text field, the upload control rejects the file, a platform sends the post to moderation, a loading overlay never ends, labels change across languages, or an account-risk modal appears. A pack that only says "click publish" is not useful. A better pack tells the agent what to record, where to roll back, and how to decide whether the issue is content, account state, or platform behavior.&lt;/p&gt;

&lt;p&gt;This is why the Chrome DevTools MCP path data is interesting. Developers were not only opening the main page. They were checking traffic, commit activity, community health, pulse, branches, and contributors. That is closer to asking "can I trust and operationalize this?" than "is this a cool demo?"&lt;/p&gt;

&lt;p&gt;For Doramagic, the lesson is simple: AI capability packs should not be prompt collections, especially in high-side-effect domains like browser automation, UI acceptance, and publishing workflows. This is not just a prompt problem. A useful capability asset needs an operating contract:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what to observe before acting;&lt;/li&gt;
&lt;li&gt;what the agent may do alone;&lt;/li&gt;
&lt;li&gt;where it must stop for confirmation;&lt;/li&gt;
&lt;li&gt;what evidence it must leave behind;&lt;/li&gt;
&lt;li&gt;how it should recover from failure;&lt;/li&gt;
&lt;li&gt;how one successful run becomes a reusable workflow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is why a Chrome DevTools MCP pack needs more than a README. README gives the human entry point. AGENTS.md and CLAUDE.md give host instructions. A source map shows what evidence the pack is based on. A prompt preview shows the intended interaction shape. Pitfall notes prevent repeated failure modes. A human manual gives the operator a checklist before loading the pack into a host. Evals define acceptance criteria. Boundary cards keep the agent from turning a powerful browser interface into uncontrolled action. Feedback notes help the next run improve instead of repeating the same failure.&lt;/p&gt;

&lt;p&gt;The stronger browser agents become, the less useful it is to optimize only for "can it click?" The better product direction is: can every step be observed, proven, reversed, and reviewed?&lt;/p&gt;

&lt;p&gt;Today's metrics do not prove that &lt;code&gt;doramagic-chrome-devtools-mcp-pack&lt;/code&gt; is successful. They do show that people are checking the right surface: not whether Chrome DevTools MCP is hot, but whether the capability can fit into a trustworthy execution chain.&lt;/p&gt;

&lt;p&gt;source_asset_url:&lt;br&gt;
&lt;a href="https://github.com/tangweigang-jpg/doramagic-chrome-devtools-mcp-pack" rel="noopener noreferrer"&gt;https://github.com/tangweigang-jpg/doramagic-chrome-devtools-mcp-pack&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;doramagic_project_url:&lt;br&gt;
&lt;a href="https://doramagic.ai/en/projects/chrome-devtools-mcp/" rel="noopener noreferrer"&gt;https://doramagic.ai/en/projects/chrome-devtools-mcp/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is an independent Doramagic resource pack. It is not an official upstream project release unless the upstream project says so.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>A clone-heavy MCP pack signal is about inspectability, not marketing</title>
      <dc:creator>Tang Weigang</dc:creator>
      <pubDate>Thu, 21 May 2026 02:42:44 +0000</pubDate>
      <link>https://forem.com/doramagic/a-clone-heavy-mcp-pack-signal-is-about-inspectability-not-marketing-4a6k</link>
      <guid>https://forem.com/doramagic/a-clone-heavy-mcp-pack-signal-is-about-inspectability-not-marketing-4a6k</guid>
      <description>&lt;p&gt;Today's second Doramagic signal comes from &lt;code&gt;doramagic-prism-mcp-pack&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In the 2026-05-21 GitHub metrics snapshot, the repository had only 1 view and 1 unique viewer, but 40 clones and 31 unique cloners. That ratio is easy to misread. It does not prove satisfaction. GitHub clone activity can include real evaluation, scripts, CI, mirrors, or one-time scanning. But it is still a useful signal because it suggests that some users or systems are not merely reading the page. They are pulling the pack into an environment where it can be inspected.&lt;/p&gt;

&lt;p&gt;For MCP-related resources, that distinction matters.&lt;/p&gt;

&lt;p&gt;MCP is often discussed as if connecting a server automatically gives an agent a reliable capability. In practice, the interface is only one layer. The agent still needs task context, host instructions, permission boundaries, input assumptions, error recovery behavior, and acceptance criteria. Without those, the model can call tools while still misunderstanding the job.&lt;/p&gt;

&lt;p&gt;A clone-heavy signal says the pack has to survive local inspection.&lt;/p&gt;

&lt;p&gt;First, the entrypoint must be obvious. A user should not have to guess whether to start with README, AGENTS.md, CLAUDE.md, the human manual, or a prompt preview. The pack should make the first useful path visible.&lt;/p&gt;

&lt;p&gt;Second, the boundary must be explicit. The resource should explain what belongs to the upstream project, what Doramagic added, and what the agent still cannot infer. This is especially important for MCP packs because official-status confusion is easy: a pack can be useful without being an official upstream release.&lt;/p&gt;

&lt;p&gt;Third, the pack should contain failure knowledge. If the agent gets missing credentials, an unavailable server, an incompatible host, or incomplete input data, the right behavior is not confident continuation. It is to stop, report the missing evidence, and give the user a recovery path.&lt;/p&gt;

&lt;p&gt;Fourth, the pack needs acceptance checks. A user cloning the repo is likely to inspect whether the files are actionable. That means commands, file boundaries, source maps, risk notes, and validation criteria matter more than polished positioning copy.&lt;/p&gt;

&lt;p&gt;This is why Doramagic treats a project pack as an inspectable capability asset. The goal is not to make a generic MCP advertisement. The goal is to let a user or agent host answer practical questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What task does this pack support?&lt;/li&gt;
&lt;li&gt;Which file should I load first?&lt;/li&gt;
&lt;li&gt;Which host instructions are available?&lt;/li&gt;
&lt;li&gt;Which parts come from upstream evidence?&lt;/li&gt;
&lt;li&gt;What should the agent refuse to guess?&lt;/li&gt;
&lt;li&gt;How do I know the task is actually complete?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;code&gt;prism-mcp&lt;/code&gt; signal is not a victory claim. It is a reminder that clone-heavy behavior raises the bar for structure. If people pull the repository locally, the pack must be clear enough to be audited without a sales page.&lt;/p&gt;

&lt;p&gt;source_asset_url:&lt;br&gt;
&lt;a href="https://github.com/tangweigang-jpg/doramagic-prism-mcp-pack" rel="noopener noreferrer"&gt;https://github.com/tangweigang-jpg/doramagic-prism-mcp-pack&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;doramagic_project_url:&lt;br&gt;
&lt;a href="https://doramagic.ai/zh/projects/prism-mcp/" rel="noopener noreferrer"&gt;https://doramagic.ai/zh/projects/prism-mcp/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is an independent Doramagic resource pack. It is not an official upstream project release unless the upstream project says so.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Complex AI frameworks need acceptance-ready context packs, not longer prompts</title>
      <dc:creator>Tang Weigang</dc:creator>
      <pubDate>Thu, 21 May 2026 02:41:19 +0000</pubDate>
      <link>https://forem.com/doramagic/complex-ai-frameworks-need-acceptance-ready-context-packs-not-longer-prompts-50cl</link>
      <guid>https://forem.com/doramagic/complex-ai-frameworks-need-acceptance-ready-context-packs-not-longer-prompts-50cl</guid>
      <description>&lt;p&gt;Today's first Doramagic publishing signal comes from &lt;code&gt;doramagic-langchain-pack&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In the 2026-05-21 GitHub metrics snapshot, the repository had 12 views, 1 unique viewer, 28 clones, 23 unique cloners, and 2 stars. The more useful signal is not the raw count. It is the path pattern. The visitor did not only open the repository home. They also opened &lt;code&gt;01_PROMPT_PREVIEW.md&lt;/code&gt;, &lt;code&gt;03_PITFALL_LOG.md&lt;/code&gt;, &lt;code&gt;04_BOUNDARY_RISK_CARD.md&lt;/code&gt;, and &lt;code&gt;05_HUMAN_MANUAL.md&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;That pattern matters because LangChain is not a simple library with one obvious happy path. It is a large, evolving framework with multiple subsystems: chains, retrieval, tools, agents, memory, callbacks, evaluation, integrations, and deployment concerns. A coding agent can sound confident while still mixing old APIs, tutorial assumptions, and project-specific requirements.&lt;/p&gt;

&lt;p&gt;For a project like this, a longer prompt is not enough.&lt;/p&gt;

&lt;p&gt;A prompt can start the interaction. It can tell the model what role to take, how to respond, and what output format to prefer. But it cannot, by itself, give a user a durable operating contract. It does not tell the agent when to stop guessing. It does not separate example code from production constraints. It does not preserve known failure modes across hosts. It does not define what evidence proves that the task is done.&lt;/p&gt;

&lt;p&gt;An acceptance-ready context pack needs several layers.&lt;/p&gt;

&lt;p&gt;First, it needs a human manual. The user should understand what task the pack is meant to support before loading it into an agent. Is it for reading architecture, migrating code, debugging chains, building retrieval workflows, or preparing safer prompts for a coding host? If the task boundary is vague, the agent will treat every LangChain request as the same generic problem.&lt;/p&gt;

&lt;p&gt;Second, it needs a pitfall log. In large frameworks, failure knowledge is often more valuable than ideal-path instructions. A pitfall log tells the agent which common moves are risky: relying on stale examples, skipping version checks, confusing demo snippets with application code, or proposing a high-level chain without showing how it is validated.&lt;/p&gt;

&lt;p&gt;Third, it needs a boundary and risk card. A useful agent should know what it cannot safely infer. If the user does not provide the dependency version, runtime error, file layout, or reproduction command, the agent should surface the missing evidence instead of inventing a confident answer.&lt;/p&gt;

&lt;p&gt;Fourth, it needs an acceptance path. A response is not complete just because it reads well. The pack should help the agent leave behind inspectable evidence: files touched, commands to run, assumptions made, expected output, and recovery notes when the result fails.&lt;/p&gt;

&lt;p&gt;That is why Doramagic treats context packs as portable capability assets rather than prompt collections. A prompt preview is still useful, but it is only the front door. The durable value is in the manual, source map, pitfall log, risk boundary, and eval checklist that let the same capability move across Codex, Claude Code, Cursor, Aider, or another host.&lt;/p&gt;

&lt;p&gt;The interesting part of today's LangChain signal is that readers were already inspecting those deeper files. That suggests they were not only asking whether an AI agent can write LangChain code. They were asking whether the pack can make the agent guess less, verify more, and recover when the first answer is wrong.&lt;/p&gt;

&lt;p&gt;source_asset_url:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/tangweigang-jpg/doramagic-langchain-pack" rel="noopener noreferrer"&gt;https://github.com/tangweigang-jpg/doramagic-langchain-pack&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;doramagic_project_url:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://doramagic.ai/en/projects/langchain/" rel="noopener noreferrer"&gt;https://doramagic.ai/en/projects/langchain/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is an independent Doramagic resource pack. It is not an official upstream project release unless the upstream project says so.&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>llm</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>AI skills should be portable capability assets, not prompt collections</title>
      <dc:creator>Tang Weigang</dc:creator>
      <pubDate>Wed, 20 May 2026 14:34:07 +0000</pubDate>
      <link>https://forem.com/doramagic/ai-skills-should-be-portable-capability-assets-not-prompt-collections-1h6e</link>
      <guid>https://forem.com/doramagic/ai-skills-should-be-portable-capability-assets-not-prompt-collections-1h6e</guid>
      <description>&lt;p&gt;The second signal in today's Doramagic metrics was not another browser automation pack. It was &lt;code&gt;doramagic-skills&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In the 2026-05-20 sample, the repo had 35 views, 8 unique viewers, 10 clones, and 10 unique cloners. The interesting part is that visitors did not only stop at the repository home. They also opened specific skill files such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;skills/economic-dashboard/human_summary.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;skills/qlib-ai-quant&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That behavior matters. It means people are checking whether a skill is useful for a concrete task.&lt;/p&gt;

&lt;h2&gt;
  
  
  A prompt is not enough
&lt;/h2&gt;

&lt;p&gt;Many AI skills are just prompt snippets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;act as this expert;&lt;/li&gt;
&lt;li&gt;follow these steps;&lt;/li&gt;
&lt;li&gt;return this format;&lt;/li&gt;
&lt;li&gt;avoid these mistakes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That can be useful, but it is not yet a portable capability asset.&lt;/p&gt;

&lt;p&gt;If a skill only works in one chat, one model, or one tool, it is hard to maintain. If it has no trigger conditions, no validation path, and no failure boundary, it becomes another piece of text that users hesitate to trust.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a portable skill needs
&lt;/h2&gt;

&lt;p&gt;A reusable skill should answer at least four questions.&lt;/p&gt;

&lt;p&gt;First, what task does it solve?&lt;/p&gt;

&lt;p&gt;Concrete beats abstract. "Generate an economic dashboard summary" is more useful than "make the AI understand economics."&lt;/p&gt;

&lt;p&gt;Second, when should it be triggered?&lt;/p&gt;

&lt;p&gt;The skill should describe the inputs that activate it, the cases where it should not run, and the missing data that should stop the agent.&lt;/p&gt;

&lt;p&gt;Third, how is the result validated?&lt;/p&gt;

&lt;p&gt;An agent response is not the same as a completed task. A skill should leave evidence: generated files, data sources, commands, acceptance criteria, and failure notes.&lt;/p&gt;

&lt;p&gt;Fourth, can it move across hosts?&lt;/p&gt;

&lt;p&gt;The same capability should be easy to adapt to Codex, Claude Code, Cursor, Aider, or another AI coding host.&lt;/p&gt;

&lt;p&gt;That is why Doramagic treats a skill as a bundle of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;human manual;&lt;/li&gt;
&lt;li&gt;host instructions;&lt;/li&gt;
&lt;li&gt;prompt preview;&lt;/li&gt;
&lt;li&gt;eval checklist;&lt;/li&gt;
&lt;li&gt;known pitfalls;&lt;/li&gt;
&lt;li&gt;source map;&lt;/li&gt;
&lt;li&gt;boundary and risk card.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is not to collect more prompts. The goal is to help people own AI capabilities they can load, reuse, verify, and improve.&lt;/p&gt;

&lt;p&gt;Project:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/tangweigang-jpg/doramagic-skills" rel="noopener noreferrer"&gt;https://github.com/tangweigang-jpg/doramagic-skills&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is unofficial AI capability content prepared by Doramagic. Unless an upstream project explicitly says otherwise, it is not an official upstream release.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>AI coding agents need browser evidence, not just code inspection</title>
      <dc:creator>Tang Weigang</dc:creator>
      <pubDate>Wed, 20 May 2026 01:48:45 +0000</pubDate>
      <link>https://forem.com/doramagic/ai-coding-agents-need-browser-evidence-not-just-code-inspection-41e7</link>
      <guid>https://forem.com/doramagic/ai-coding-agents-need-browser-evidence-not-just-code-inspection-41e7</guid>
      <description>&lt;p&gt;The strongest signal in today's Doramagic GitHub metrics was not an abstract agent framework. It was a practical browser-verification pack:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/tangweigang-jpg/doramagic-chrome-devtools-mcp-pack" rel="noopener noreferrer"&gt;https://github.com/tangweigang-jpg/doramagic-chrome-devtools-mcp-pack&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the 2026-05-20 sample, it had 120 clones, 60 unique cloners, and 44 views. The paths included traffic and commit-activity pages, which suggests readers were checking whether the pack was real enough to reuse.&lt;/p&gt;

&lt;p&gt;That signal matters because AI coding agents often fail at the same boundary: they can edit code, but they cannot always prove that the browser experience works.&lt;/p&gt;

&lt;p&gt;Common failure modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the page is blank, but the agent says it is done;&lt;/li&gt;
&lt;li&gt;tests pass, but the button cannot be clicked;&lt;/li&gt;
&lt;li&gt;console errors are ignored;&lt;/li&gt;
&lt;li&gt;network failures are not connected to the code change;&lt;/li&gt;
&lt;li&gt;screenshots exist, but no acceptance criteria are checked.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Chrome DevTools MCP-style access gives an agent browser evidence: console output, network behavior, DOM state, and real interaction results.&lt;/p&gt;

&lt;p&gt;But a tool is not yet a capability asset. A reusable pack should tell the host agent:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;when browser evidence is required;&lt;/li&gt;
&lt;li&gt;what evidence must be recorded;&lt;/li&gt;
&lt;li&gt;when to stop instead of guessing;&lt;/li&gt;
&lt;li&gt;how to connect browser failure back to a code change.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A useful loop looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;open the target URL
-&amp;gt; inspect console errors
-&amp;gt; run the key interaction
-&amp;gt; record the visible result
-&amp;gt; compare against acceptance criteria
-&amp;gt; only then edit code or report success
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is an unofficial AI capability pack prepared by Doramagic. Unless the upstream project explicitly says otherwise, it is not an official upstream release.&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
    <item>
      <title>Load OpenSkills context into Codex or Claude Code without guessing source boundaries</title>
      <dc:creator>Tang Weigang</dc:creator>
      <pubDate>Tue, 19 May 2026 12:17:36 +0000</pubDate>
      <link>https://forem.com/doramagic/load-openskills-context-into-codex-or-claude-code-without-guessing-source-boundaries-4dhh</link>
      <guid>https://forem.com/doramagic/load-openskills-context-into-codex-or-claude-code-without-guessing-source-boundaries-4dhh</guid>
      <description>&lt;p&gt;The useful question is not whether an AI coding agent can read an OpenSkills README.&lt;/p&gt;

&lt;p&gt;The useful question is whether the agent can tell the difference between:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what the upstream OpenSkills project actually provides;&lt;/li&gt;
&lt;li&gt;what an independent Doramagic resource pack adds;&lt;/li&gt;
&lt;li&gt;what the current host still needs to verify before acting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That boundary matters because coding agents often fail by turning inference into a claim. A resource pack should reduce that behavior, not hide it behind a better prompt.&lt;/p&gt;

&lt;p&gt;A practical OpenSkills AI context pack should give the host:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a source map;&lt;/li&gt;
&lt;li&gt;host instructions for Codex, Claude Code, Cursor, or Aider;&lt;/li&gt;
&lt;li&gt;a prompt preview;&lt;/li&gt;
&lt;li&gt;a pitfall log;&lt;/li&gt;
&lt;li&gt;a smoke check or eval;&lt;/li&gt;
&lt;li&gt;a boundary card;&lt;/li&gt;
&lt;li&gt;a human manual;&lt;/li&gt;
&lt;li&gt;a test log;&lt;/li&gt;
&lt;li&gt;a feedback path.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One minimal acceptance check:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Task: explain how an OpenSkills-style capability asset should be moved into another AI host.
Pass: the answer separates upstream behavior, Doramagic's independent context pack, and host-specific assumptions.
Fail: the answer implies Doramagic is the official OpenSkills release or skips source boundaries.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The point is not to make the workflow heavier. The point is to make the agent stop guessing earlier.&lt;/p&gt;

&lt;p&gt;Doramagic pack:&lt;br&gt;
&lt;a href="https://github.com/tangweigang-jpg/doramagic-openskills-pack" rel="noopener noreferrer"&gt;https://github.com/tangweigang-jpg/doramagic-openskills-pack&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is an independent Doramagic resource pack. It is not an official upstream project release unless the upstream project says so.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to tell whether an AI capability pack can actually help you ship</title>
      <dc:creator>Tang Weigang</dc:creator>
      <pubDate>Tue, 19 May 2026 02:48:24 +0000</pubDate>
      <link>https://forem.com/doramagic/how-to-tell-whether-an-ai-capability-pack-can-actually-help-you-ship-a5a</link>
      <guid>https://forem.com/doramagic/how-to-tell-whether-an-ai-capability-pack-can-actually-help-you-ship-a5a</guid>
      <description>&lt;p&gt;When people see an AI capability pack for the first time, they often ask a simple question: is this just a prompt collection?&lt;/p&gt;

&lt;p&gt;That is the wrong test.&lt;/p&gt;

&lt;p&gt;A prompt may be part of the pack, but the real value is whether the pack helps an AI agent work from evidence, verify its result, stop when the boundary is unclear, and report failure in a way that can be fixed.&lt;/p&gt;

&lt;p&gt;Doramagic's category-level thesis is simple: this is not just a prompt library and not a README summary. A useful AI capability pack is a portable, loadable, reusable, verifiable, bounded, and repairable asset.&lt;/p&gt;

&lt;p&gt;Here is the checklist I use.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Can I see the source?
&lt;/h2&gt;

&lt;p&gt;The pack should show the upstream project, documentation, issues, releases, or run notes behind its claims.&lt;/p&gt;

&lt;p&gt;If there is no source map, the agent can easily turn guesses into facts.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Can I load it into a host?
&lt;/h2&gt;

&lt;p&gt;A useful pack should include host-facing assets: AGENTS.md, CLAUDE.md, prompt preview, host instructions, or smoke checks.&lt;/p&gt;

&lt;p&gt;If it cannot be loaded, it is probably an article, not a portable capability.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Can I verify it?
&lt;/h2&gt;

&lt;p&gt;The pack should give a small pass/fail path.&lt;/p&gt;

&lt;p&gt;What should the agent do? What output counts as correct? What should happen when it fails?&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Does it know when to stop?
&lt;/h2&gt;

&lt;p&gt;AI agents fail hardest when they keep going through uncertainty.&lt;/p&gt;

&lt;p&gt;A capability pack should define stop conditions around license uncertainty, tool permissions, version mismatch, unverified runtime behavior, and source conflicts.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Can feedback repair it?
&lt;/h2&gt;

&lt;p&gt;The pack should have a feedback path for broken commands, stale assumptions, host incompatibility, and missing checks.&lt;/p&gt;

&lt;p&gt;That is how Doramagic treats a capability pack: not as content, but as a portable asset that can be loaded, verified, and improved.&lt;/p&gt;

&lt;p&gt;Limits matter: this pack does not make the upstream project official, does not prove every host is compatible, and does not remove the need to check upstream documentation when behavior changes.&lt;/p&gt;

&lt;p&gt;Primary / Doramagic guide:&lt;br&gt;
&lt;a href="https://doramagic.ai/zh/projects/openskills/" rel="noopener noreferrer"&gt;https://doramagic.ai/zh/projects/openskills/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Refs:&lt;/p&gt;

&lt;p&gt;Original project: &lt;a href="https://github.com/numman-ali/openskills" rel="noopener noreferrer"&gt;https://github.com/numman-ali/openskills&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is an independent Doramagic resource pack. It is not an official upstream project release unless the upstream project says so.&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
    <item>
      <title>Publishing AI capability packs is not a content blast</title>
      <dc:creator>Tang Weigang</dc:creator>
      <pubDate>Mon, 18 May 2026 12:41:45 +0000</pubDate>
      <link>https://forem.com/doramagic/publishing-ai-capability-packs-is-not-a-content-blast-1d4j</link>
      <guid>https://forem.com/doramagic/publishing-ai-capability-packs-is-not-a-content-blast-1d4j</guid>
      <description>&lt;p&gt;Doramagic is running a small external-platform publishing pilot today.&lt;/p&gt;

&lt;p&gt;The goal is not to blast the same article across every website. The goal is to test whether an AI agent capability pack can be represented correctly inside different platform-native containers.&lt;/p&gt;

&lt;p&gt;Doramagic.ai is the owned canonical surface. It is not counted as an external platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a capability pack is
&lt;/h2&gt;

&lt;p&gt;A Doramagic capability pack is not just a prompt. It is also not a rewritten README.&lt;/p&gt;

&lt;p&gt;The useful unit is closer to a portable capability asset for AI coding agents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;source map&lt;/li&gt;
&lt;li&gt;host instructions&lt;/li&gt;
&lt;li&gt;prompt or agent instruction preview&lt;/li&gt;
&lt;li&gt;pitfall log&lt;/li&gt;
&lt;li&gt;smoke check or eval&lt;/li&gt;
&lt;li&gt;boundary card&lt;/li&gt;
&lt;li&gt;human-readable manual&lt;/li&gt;
&lt;li&gt;feedback and repair path&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If those pieces are missing, the article may be readable, but the capability is not yet portable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why platform-native publishing matters
&lt;/h2&gt;

&lt;p&gt;Each platform is a different container.&lt;/p&gt;

&lt;p&gt;DEV.to is better for problem-solution articles and developer discussion.&lt;/p&gt;

&lt;p&gt;Hashnode is better for complete independent technical posts.&lt;/p&gt;

&lt;p&gt;Substack is better for newsletter-style operating notes.&lt;/p&gt;

&lt;p&gt;GitHub, GitLab, Gitee, and GitCode are better for repository-native notes, README updates, and release records.&lt;/p&gt;

&lt;p&gt;Hugging Face Hub is better for dataset cards, model cards, or Spaces, not generic blog reposts.&lt;/p&gt;

&lt;p&gt;That means Doramagic should not publish one template everywhere. The same pack needs different expressions depending on the platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pilot gates
&lt;/h2&gt;

&lt;p&gt;Each platform result is recorded as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GO: the public artifact renders and the boundary statement is visible.&lt;/li&gt;
&lt;li&gt;HOLD: there is uncertainty around account state, moderation, permissions, rendering, links, or platform rules.&lt;/li&gt;
&lt;li&gt;NO_GO: publishing would misrepresent upstream status, violate rules, or require unsafe automation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This pilot does not promise ranking, indexing, moderation approval, or account safety.&lt;/p&gt;

&lt;p&gt;It is simply a controlled way to learn where AI capability assets can live, how they should be shaped, and where the process must stop.&lt;/p&gt;

&lt;p&gt;Canonical owned surface:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://doramagic.ai" rel="noopener noreferrer"&gt;https://doramagic.ai&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
    <item>
      <title>An AI agent resource pack is more than a prompt</title>
      <dc:creator>Tang Weigang</dc:creator>
      <pubDate>Sun, 17 May 2026 14:13:44 +0000</pubDate>
      <link>https://forem.com/doramagic/an-ai-agent-resource-pack-is-more-than-a-prompt-1cia</link>
      <guid>https://forem.com/doramagic/an-ai-agent-resource-pack-is-more-than-a-prompt-1cia</guid>
      <description>&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;When developers ask an AI coding agent to build an agent workflow, the first failure is often not syntax. It is overconfidence.&lt;/p&gt;

&lt;p&gt;The agent may generate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a package install command,&lt;/li&gt;
&lt;li&gt;a first agent,&lt;/li&gt;
&lt;li&gt;a tool call,&lt;/li&gt;
&lt;li&gt;a handoff,&lt;/li&gt;
&lt;li&gt;a demo run,&lt;/li&gt;
&lt;li&gt;and a conclusion that the workflow is working.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But "generated a workflow" is not the same as "verified a workflow".&lt;/p&gt;

&lt;p&gt;That is the difference Doramagic is trying to address.&lt;/p&gt;

&lt;p&gt;A Doramagic resource pack is not just a prompt. It is a portable capability asset for an AI coding host:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;source map
-&amp;gt; host instructions
-&amp;gt; prompt preview
-&amp;gt; pitfall log
-&amp;gt; smoke check / eval
-&amp;gt; boundary card
-&amp;gt; human manual
-&amp;gt; test log
-&amp;gt; feedback path
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The pack gives the coding agent a way to work from evidence instead of guessing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example: OpenAI Agents Python
&lt;/h2&gt;

&lt;p&gt;For &lt;code&gt;openai/openai-agents-python&lt;/code&gt;, a common early failure is identity confusion:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;repository name: openai-agents-python
package / install name: openai-agents
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That looks small, but it matters. An agent can search for one name, install another, and then write workflow code without proving that the installed package and imported module match the upstream project it is referencing.&lt;/p&gt;

&lt;p&gt;If this were only a blog post, the fix would be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Use the correct package name.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is too shallow.&lt;/p&gt;

&lt;p&gt;The resource-pack version turns it into an acceptance boundary:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. State the upstream repository.
2. State the install package.
3. State the import path used in the local code.
4. Run the minimal import check.
5. Do not write workflow code until the identity check passes.
6. If it fails, stop and report the mismatch.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What the pack should make the agent do
&lt;/h2&gt;

&lt;p&gt;Before writing more agents, more handoffs, or more tools, the coding host should load the pack and ask for a first acceptance pass:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Read the host instructions.
Use the prompt preview.
Check the pitfall log.
Run a minimal smoke check.
Report PASS / FAIL.
State what is still not verified.
Only then continue.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For an agent workflow, that means the first useful deliverable is not a bigger multi-agent graph. It is a verified failure path.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;If package identity cannot be confirmed:
  stop before writing workflow code.

If the first tool call cannot be verified:
  stop before adding handoffs.

If the first handoff cannot be inspected:
  stop before adding more agents.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is the key product idea: the pack constrains the agent's confidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this is not
&lt;/h2&gt;

&lt;p&gt;This is not:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;an official upstream release;&lt;/li&gt;
&lt;li&gt;a benchmark claim;&lt;/li&gt;
&lt;li&gt;a promise that AI coding agents always produce correct output;&lt;/li&gt;
&lt;li&gt;a replacement for upstream documentation;&lt;/li&gt;
&lt;li&gt;a generic article about agent frameworks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is a reviewable context asset that helps an AI coding host preserve source relationships, avoid known wrong turns, and expose the boundary of what has or has not been verified.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the test log matters
&lt;/h2&gt;

&lt;p&gt;A credible resource pack should expose what it has not proven.&lt;/p&gt;

&lt;p&gt;If a pack has not been loaded into a real host, or the recovery path has not been exercised, that should stay visible. Otherwise the pack becomes marketing copy instead of operational context.&lt;/p&gt;

&lt;p&gt;The correct claim is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;This pack gives an AI coding agent a structured way to verify and recover.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The wrong claim is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;This pack proves every workflow will work.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  A practical prompt
&lt;/h2&gt;

&lt;p&gt;You can give an AI coding agent a task like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Use the OpenAI Agents Python resource pack as your operating context.

Before writing workflow code:
1. identify upstream repo vs package name;
2. verify install/import assumptions;
3. inspect the pitfall log;
4. define the first failure path;
5. run or describe the smoke check;
6. mark unsupported claims as unverified.

Do not add more agents until the first workflow has a failure path.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is the value of a capability pack: it changes the agent's behavior before the code expands.&lt;/p&gt;

&lt;h2&gt;
  
  
  Non-official statement
&lt;/h2&gt;

&lt;p&gt;This Doramagic pack is independent. It is not an official release from &lt;code&gt;openai/openai-agents-python&lt;/code&gt;, and it does not represent upstream endorsement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Pack: &lt;code&gt;https://github.com/tangweigang-jpg/doramagic-openai-agents-python-pack&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Upstream: &lt;code&gt;https://github.com/openai/openai-agents-python&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>agents</category>
      <category>tooling</category>
    </item>
  </channel>
</rss>
