<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AI Coding Engineering on StackOnward</title><link>https://stackonward.com/series/ai-coding-engineering/</link><description>Recent content in AI Coding Engineering on StackOnward</description><generator>Hugo</generator><language>en-US</language><atom:link href="https://stackonward.com/series/ai-coding-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>How to Use Claude Code Hooks: Deterministic Checks</title><link>https://stackonward.com/posts/claude-code-codex-hooks/</link><pubDate>Fri, 11 Sep 2026 04:48:00 +0800</pubDate><guid>https://stackonward.com/posts/claude-code-codex-hooks/</guid><description>&lt;p&gt;How to use Claude Code hooks is not about memorizing every event. It is about whether the action has a clear trigger and a unique result. A project config check belongs in a hook: after the file is written, run the same command. Valid config exits success. Invalid config returns a determined error. The model does not choose the standard.&lt;/p&gt;
&lt;p&gt;Project rules name the config path and the fixed command. The prompt describes this change. A skill handles live judgment. The hook only calls the project command on a matching event. Claude Code and Codex keep their own event config and share the same check.&lt;/p&gt;</description></item><item><title>How to Write Claude Code Skills: Repeatable Workflows</title><link>https://stackonward.com/posts/agent-skill-project-workflow/</link><pubDate>Fri, 11 Sep 2026 04:40:00 +0800</pubDate><guid>https://stackonward.com/posts/agent-skill-project-workflow/</guid><description>&lt;p&gt;How to write Claude Code skills depends on whether the flow repeats across tasks, whether it still needs on-the-spot judgment, and whether the project can observe a result after it runs. Facts that stay true in a repository belong in &lt;a href="https://stackonward.com/posts/agents-md-claude-md-project-rules/"&gt;project rules&lt;/a&gt;. A one-off requirement belongs in the &lt;a href="https://stackonward.com/posts/coding-agent-task-prompt/"&gt;current task prompt&lt;/a&gt;. Actions that must run on an event belong in a hook. External services and data come from MCP or other tools.&lt;/p&gt;
&lt;p&gt;A full-stack project that often changes an existing API contract has to find the real producer, confirm approved field meanings, sync direct consumers, run existing checks, and observe a page or a call. The fields and the range change every time. The judgment order stays stable. That flow belongs in a project skill. The field names, paths, and acceptance result for this run still come from the current prompt.&lt;/p&gt;</description></item><item><title>How to Write Claude Code Prompts: Current Task Only</title><link>https://stackonward.com/posts/coding-agent-task-prompt/</link><pubDate>Fri, 11 Sep 2026 04:10:00 +0800</pubDate><guid>https://stackonward.com/posts/coding-agent-task-prompt/</guid><description>&lt;p&gt;How to write Claude Code prompts depends on what this task still lacks after project configuration. Project rules already hold the repo map, commands, and long-lived boundaries. Skills already hold repeatable workflows. Hooks and CI run deterministic actions. Permission policy limits tools. The current prompt only needs the state to change, the evidence you already have, the affected range, the authorization boundary, and the result that must appear when the work is done.&lt;/p&gt;
&lt;p&gt;The prompt does not need YAML, XML, or a fixed form. A local defect can be short. Context that crosses several owners is added only when that context changes the result. The test is not word count or field count. It is whether the agent can start from the current project, make the change inside authorization, and confirm the software reached the target state.&lt;/p&gt;</description></item><item><title>How to Write AGENTS.md: Root vs Directory Rules</title><link>https://stackonward.com/posts/agents-md-claude-md-project-rules/</link><pubDate>Fri, 11 Sep 2026 03:20:00 +0800</pubDate><guid>https://stackonward.com/posts/agents-md-claude-md-project-rules/</guid><description>&lt;p&gt;How to write AGENTS.md starts with who a fact stays true for, and whether it should change a coding agent&amp;rsquo;s next file or command. Repo-wide maps, canonical commands, and cross-module boundaries belong at the repository root. Rules that only bind backend, frontend, or a worker sit in that directory. Habits that hold across repositories stay in the user-global file. What this task must change stays in the current prompt. CLAUDE.md uses the same content boundary; Claude Code just finds it through its own files.&lt;/p&gt;
&lt;p&gt;If the root file also stores frontend commands, backend migrations, a release workflow, and “do not touch deploy this time,” four different lifetimes enter unrelated sessions. Confirm the fact in code or build config first, then keep the long-lived rule in the smallest scope that still needs it. Workflows, task variables, and hard stops belong to other mechanisms. The same scope-and-mechanism split is already mapped in &lt;a href="https://stackonward.com/posts/claude-code-codex-configuration-guide/"&gt;Claude Code configuration&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Claude Code Configuration: Global vs Project</title><link>https://stackonward.com/posts/claude-code-codex-configuration-guide/</link><pubDate>Fri, 11 Sep 2026 02:00:00 +0800</pubDate><guid>https://stackonward.com/posts/claude-code-codex-configuration-guide/</guid><description>&lt;p&gt;Claude Code configuration has to answer two questions: who should see this fact, and how it should take effect. Habits that hold across repositories belong at the user layer. Facts the team shares belong in the repo. Rules that only bind frontend or backend sit next to that directory. This change stays in the prompt. A repeatable judgment workflow becomes a skill. A mechanical action that must run is a hook, a permission, or existing CI.&lt;/p&gt;
&lt;p&gt;The split does not require a separate config repository or a new directory template. It starts from the repo already in use and moves facts out of chat logs, global files, and duplicated project rules until each fact has one source of truth. Claude Code and Codex can share that source. Each client still owns its file format, discovery order, and events.&lt;/p&gt;</description></item></channel></rss>