<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>流程 on Tarragon</title><link>https://tarrragon.github.io/blog/tags/%E6%B5%81%E7%A8%8B/</link><description>Recent content in 流程 on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Fri, 26 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/%E6%B5%81%E7%A8%8B/index.xml" rel="self" type="application/rss+xml"/><item><title>先建 report 卡再進 skill、不是先改 skill 再補 report</title><link>https://tarrragon.github.io/blog/report/report-before-skill-not-after/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/report/report-before-skill-not-after/</guid><description>&lt;h2 id="論述基礎與限制">論述基礎與限制&lt;/h2>
&lt;p>本卡抽自 infra 教學模組的完整生產週期。期間多次出現「先改了 skill、事後才補 report」的操作順序，導致 skill 裡的新規則在一段時間內沒有 report 卡的根據可追溯。限制：evidence 來自單一專案的 skill 演進過程。&lt;/p>
&lt;h2 id="核心原則">核心原則&lt;/h2>
&lt;p>report 卡是原則的 SSoT——它記錄了這個原則是從什麼情境抽出來的、根因是什麼、理想做法是什麼、不這樣做的麻煩是什麼。skill 是 report 的操作化引用——它把 report 裡的原則轉成 reviewer prompt 的審查維度、生成端的檢查清單、keyword bank 的 grep pattern。&lt;/p>
&lt;p>兩者的關係是 report → skill，不是 skill → report：&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>方向&lt;/th>
 &lt;th>意義&lt;/th>
 &lt;th>風險&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>report → skill&lt;/td>
 &lt;td>從情境抽出原則、再操作化進工具&lt;/td>
 &lt;td>低：原則有根據、可追溯&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>skill → report&lt;/td>
 &lt;td>先在工具裡加規則、事後補根據&lt;/td>
 &lt;td>高：規則缺根據、report 容易被跳過&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="情境">情境&lt;/h2>
&lt;p>infra 模組生產期間的操作順序：&lt;/p>
&lt;ul>
&lt;li>使用者指出「寫作語氣要調整」→ 直接改 compositional-writing skill 加 keyword bank → 兩天後才補 report 卡&lt;/li>
&lt;li>使用者指出「管理層資訊缺失」→ 直接補文章 → 之後才建 report 卡 → 再之後才進 skill&lt;/li>
&lt;li>使用者指出「鏡像連結 mapping 不完整」→ 修了腳本 → 之後才建 report 卡 → 還沒進 skill 就又出下一個問題&lt;/li>
&lt;/ul>
&lt;p>每次都能運作，但 report 卡的建立被擠到「有空再做」的位置，而非流程的第一步。&lt;/p>
&lt;h2 id="理想做法">理想做法&lt;/h2>
&lt;p>標準操作流程從 report 卡開始：&lt;/p>
&lt;ol>
&lt;li>發現問題或收到使用者反饋&lt;/li>
&lt;li>建 report 卡（情境 → 根因 → 理想做法 → 判讀徵兆）&lt;/li>
&lt;li>評估是否進 skill（哪個 skill、哪個段落）&lt;/li>
&lt;li>修改 skill、引用 report 卡路徑&lt;/li>
&lt;li>推送 skill 庫 + 同步鏡像&lt;/li>
&lt;/ol>
&lt;p>report 卡先於 skill 修改，確保每條 skill 規則都有可追溯的根據。&lt;/p>
&lt;h2 id="沒這樣做的麻煩">沒這樣做的麻煩&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>規則缺根據&lt;/strong>：skill 裡加了一條 grep pattern 但沒有 report 卡解釋為什麼要加，三個月後某人問「這條規則的由來是什麼」時答不出來&lt;/li>
&lt;li>&lt;strong>report 被跳過&lt;/strong>：「先改 skill 再補 report」的順序讓 report 變成事後文件，容易被「下次再補」拖延到永遠不補&lt;/li>
&lt;li>&lt;strong>skill 的 Version 歷史缺引用&lt;/strong>：Version 條目寫「加了 X 規則」但沒有 &lt;code>per [report 卡名](/report/slug/)&lt;/code> 的引用，讀者無法回溯規則的來源情境&lt;/li>
&lt;/ul>
&lt;h2 id="判讀徵兆">判讀徵兆&lt;/h2>
&lt;p>如果 skill 的 Version 歷史裡有一條更新沒有附 report 卡的引用，代表流程順序反了。每條 skill 更新都應該能回溯到一張 report 卡——即使那張卡是同一個 commit 建的。&lt;/p>
&lt;h2 id="跟其他抽象層原則的關係">跟其他抽象層原則的關係&lt;/h2>
&lt;ul>
&lt;li>→ &lt;a href="https://tarrragon.github.io/blog/report/mirror-link-mapping-must-be-exhaustive/" data-link-title="跨 surface 鏡像的連結轉換 mapping 要窮盡、不能靠猜" data-link-desc="skill 鏡像從 .claude/skills/ 複製到 content/skills/ 時，references/principles/ 的相對連結要轉成 /report/ 的真實路徑。mapping table 不完整會讓 CI 反覆 broken link，每次修一批漏一批。窮盡 mapping 的方法是列出所有 principle 檔案再逐一找對應 report 卡，不是靠 slug 精確匹配碰運氣。">跨 surface 鏡像的連結轉換 mapping 要窮盡&lt;/a>：鏡像同步是 skill 更新流程的最後一步，report 建卡是第一步&lt;/li>
&lt;li>→ &lt;a href="https://tarrragon.github.io/blog/report/review-lacks-outside-in-reader-frames/" data-link-title="多輪審查缺 outside-in 讀者 frame：六個系統性盲點" data-link-desc="review 框架的所有 frame 從已寫的內容出發（inside-out），缺從讀者完整需求出發的 frame（outside-in）。六個盲點全部由使用者而非 reviewer 發現：宣導語氣、管理層資訊缺失、接手情境遺漏、工具指引缺失、深度不拆分、讀者定位未預設。">多輪審查缺 outside-in 讀者 frame&lt;/a>：六個盲點的修法都是「先建 report → 再進 skill」的順序&lt;/li>
&lt;/ul></description><content:encoded><![CDATA[<h2 id="論述基礎與限制">論述基礎與限制</h2>
<p>本卡抽自 infra 教學模組的完整生產週期。期間多次出現「先改了 skill、事後才補 report」的操作順序，導致 skill 裡的新規則在一段時間內沒有 report 卡的根據可追溯。限制：evidence 來自單一專案的 skill 演進過程。</p>
<h2 id="核心原則">核心原則</h2>
<p>report 卡是原則的 SSoT——它記錄了這個原則是從什麼情境抽出來的、根因是什麼、理想做法是什麼、不這樣做的麻煩是什麼。skill 是 report 的操作化引用——它把 report 裡的原則轉成 reviewer prompt 的審查維度、生成端的檢查清單、keyword bank 的 grep pattern。</p>
<p>兩者的關係是 report → skill，不是 skill → report：</p>
<table>
  <thead>
      <tr>
          <th>方向</th>
          <th>意義</th>
          <th>風險</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>report → skill</td>
          <td>從情境抽出原則、再操作化進工具</td>
          <td>低：原則有根據、可追溯</td>
      </tr>
      <tr>
          <td>skill → report</td>
          <td>先在工具裡加規則、事後補根據</td>
          <td>高：規則缺根據、report 容易被跳過</td>
      </tr>
  </tbody>
</table>
<h2 id="情境">情境</h2>
<p>infra 模組生產期間的操作順序：</p>
<ul>
<li>使用者指出「寫作語氣要調整」→ 直接改 compositional-writing skill 加 keyword bank → 兩天後才補 report 卡</li>
<li>使用者指出「管理層資訊缺失」→ 直接補文章 → 之後才建 report 卡 → 再之後才進 skill</li>
<li>使用者指出「鏡像連結 mapping 不完整」→ 修了腳本 → 之後才建 report 卡 → 還沒進 skill 就又出下一個問題</li>
</ul>
<p>每次都能運作，但 report 卡的建立被擠到「有空再做」的位置，而非流程的第一步。</p>
<h2 id="理想做法">理想做法</h2>
<p>標準操作流程從 report 卡開始：</p>
<ol>
<li>發現問題或收到使用者反饋</li>
<li>建 report 卡（情境 → 根因 → 理想做法 → 判讀徵兆）</li>
<li>評估是否進 skill（哪個 skill、哪個段落）</li>
<li>修改 skill、引用 report 卡路徑</li>
<li>推送 skill 庫 + 同步鏡像</li>
</ol>
<p>report 卡先於 skill 修改，確保每條 skill 規則都有可追溯的根據。</p>
<h2 id="沒這樣做的麻煩">沒這樣做的麻煩</h2>
<ul>
<li><strong>規則缺根據</strong>：skill 裡加了一條 grep pattern 但沒有 report 卡解釋為什麼要加，三個月後某人問「這條規則的由來是什麼」時答不出來</li>
<li><strong>report 被跳過</strong>：「先改 skill 再補 report」的順序讓 report 變成事後文件，容易被「下次再補」拖延到永遠不補</li>
<li><strong>skill 的 Version 歷史缺引用</strong>：Version 條目寫「加了 X 規則」但沒有 <code>per [report 卡名](/report/slug/)</code> 的引用，讀者無法回溯規則的來源情境</li>
</ul>
<h2 id="判讀徵兆">判讀徵兆</h2>
<p>如果 skill 的 Version 歷史裡有一條更新沒有附 report 卡的引用，代表流程順序反了。每條 skill 更新都應該能回溯到一張 report 卡——即使那張卡是同一個 commit 建的。</p>
<h2 id="跟其他抽象層原則的關係">跟其他抽象層原則的關係</h2>
<ul>
<li>→ <a href="/blog/report/mirror-link-mapping-must-be-exhaustive/" data-link-title="跨 surface 鏡像的連結轉換 mapping 要窮盡、不能靠猜" data-link-desc="skill 鏡像從 .claude/skills/ 複製到 content/skills/ 時，references/principles/ 的相對連結要轉成 /report/ 的真實路徑。mapping table 不完整會讓 CI 反覆 broken link，每次修一批漏一批。窮盡 mapping 的方法是列出所有 principle 檔案再逐一找對應 report 卡，不是靠 slug 精確匹配碰運氣。">跨 surface 鏡像的連結轉換 mapping 要窮盡</a>：鏡像同步是 skill 更新流程的最後一步，report 建卡是第一步</li>
<li>→ <a href="/blog/report/review-lacks-outside-in-reader-frames/" data-link-title="多輪審查缺 outside-in 讀者 frame：六個系統性盲點" data-link-desc="review 框架的所有 frame 從已寫的內容出發（inside-out），缺從讀者完整需求出發的 frame（outside-in）。六個盲點全部由使用者而非 reviewer 發現：宣導語氣、管理層資訊缺失、接手情境遺漏、工具指引缺失、深度不拆分、讀者定位未預設。">多輪審查缺 outside-in 讀者 frame</a>：六個盲點的修法都是「先建 report → 再進 skill」的順序</li>
</ul>
]]></content:encoded></item></channel></rss>