本文へ移動
cccskills
無料GitHub で公開

agentic-walkthrough

Prove that a reported run caused its intended real effect. Walk the executor path from entry to effect, capture one observable per hop, and report a result a no-op could not produce.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md6.6 KB
  • scripts/selftest/run-selftest.sh1.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Agentic Walkthrough — take the program's seat

The stance is the whole method. You are not a reviewer standing outside the code with a checklist; you are the thing the source describes — the job, the stage, the handler — and you run it in your head, hop by hop, exactly as it would run, noticing every switch you pass and every place your output goes. Only then do you turn to the real system and make it show you that what you just walked actually happened. The principle: BE the executor, then make the executor prove itself.

Ordinary debugging starts from a failure — an error, a red test, a wrong number. This starts from the opposite and much quieter case: everything reports success and you still do not know whether the work happened.

That case is real and it is not rare. A stage that cannot do its work can still report done. A job can start, finish, write a trace, and pass its own verification while touching nothing. No test suite catches this, because no assertion in the suite is false.

Three moves, in order. How far to take each is your judgment — often the first cannot finish without the ones after it.

1. Walk the path — be the program, read, don't run

Put yourself where the code sits and go hop by hop from entry point to effect. You are reading, not executing, which is the whole point: a live run cannot show you the branch it never took.

Three questions at each hop are usually enough:

  • What switch controls this hop, and what is its value right now? A config key, an env var, a feature flag, a job type, a default argument.
  • If that switch is off, does it fail loud or continue quiet? Quiet defaults are where these bugs live. Loud failures are already visible — you are hunting the silent ones.
  • What does this hop actually do — which line? If you cannot name the line, you have not shown the hop does anything.

The last hop is the one everyone skips and it is usually the decisive one: is this output visible to whatever consumes it downstream? A stage that runs perfectly and writes where nothing reads is indistinguishable from a stage that never ran. Check the reader's path, not the writer's — they are frequently not the same file, the same directory, or the same database.

Where to start and how deep to go is judgment. Go where the switches are dense, or where the evidence gets thin.

2. Probe every hop that has to be real

The walk tells you which hops matter. A probe is how you make one of them prove itself.

Keep each probe narrow: one observable that only the real thing could have produced. A broad health check is worth little here, because everything passes it — that is the whole problem. The walk already told you what this hop is supposed to do; probe exactly that.

These classes come up again and again, and each fails in a way that looks fine from the caller's side. Treat them as places to look, not a checklist to complete.

  • Stored state — the rows themselves. Take a concrete failing case and pull out the actual record behind it. A log says a write happened; only the row can distinguish a correct write from one that hit the wrong record, wrote the wrong value, or was counted but never committed. Landed → the defect is downstream. Did not land → the write logic is wrong, and nothing built on top of it is worth tuning. Expect to need the product's own accessor — encryption, a key held elsewhere, a custom codec. A generic CLI failing to open the store is normal, not a wall.
  • Database identity. Which file did the process actually open — resolve the real path — and is it the same one the reader queries? Path resolution usually consults several sources in an order nobody remembers, and the first one wins.
  • Model and API calls. Did a request actually leave? How many, to which endpoint, under which model or account? Then the part usually skipped: does the response contain what the caller assumes? A 200 with an empty body sails through an if (ok) check. Zero calls is the loudest possible answer and the easiest one to miss.
  • Accelerator and environment setup. A path that silently falls back to CPU still finishes, just differently. Ask which device the work actually landed on, not whether setup returned without error. Same shape for any "configure, then hope" step.
  • File input and output. Did the bytes land where the consumer looks? A temp directory that gets cleaned, a relative path resolved from a different working directory, an output written somewhere nothing reads — all of these leave a successful write behind.
  • Child processes and third-party services. Did it actually start, is the thing you matched actually it, is it listening, and did it stay up — or exit a second later while the parent carried on?

3. Report a number, not an impression

This is the one part worth being strict about, because it is what separates a gate from a reading exercise.

Finish with a number a no-op could not have produced, plus the line where each action happens. N rows changed, M requests sent, and here is where I can see those N rows differ.

  • Zero is a failure of the walk, not a result. It means you found the path broken.
  • "The walk went well" is not a finding. Neither is a summary with the numbers dropped.
  • If you cannot name the line, that action is not proven to run.

Before any absence becomes a finding, check your instrument

Most wrong conclusions here come from a check that could never have said anything else. Prove your check could have produced the other answer — feed it a case you know is positive and watch it fire. Shapes this actually takes:

  • grep -c against a path that does not exist returns 0, identical to a real file with no matches. Confirm the path exists before the count means anything.
  • A process match can match the wrong process: a wrapper, a script that names your target as an argument, or your own shell.
  • A progress check can range over the wrong quantity and read as stalled while the job is healthy.
  • Timestamps are asymmetric. An unchanged modification time is strong evidence nothing touched the file. A changed one is evidence of almost nothing — opening a store, checkpointing, or migrating a schema all touch the file without doing the work you are after.
<!-- reminders:start --> <!-- reminders:end -->

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Answer how long agent work will take, how much longer active work needs, or what clock time applies. Estimate full AI-agent wall time, measure active progress first, and get owner-facing times from `sno report-time`. Never estimate human-developer time.

日本語の概要は準備中です。原文の説明を表示しています。

sno-ai/sno-station-skills2882026年10月13日 更新

Give the owner one page when they come back from sleep, a meeting or a long run: what got done, what is stuck, what waits for their answer, and what it cost in quota. Use when the owner asks what happened while they were away, wants a status page, or when you finish a long stretch of work and must report it.

日本語の概要は準備中です。原文の説明を表示しています。

sno-ai/sno-station-skills2882026年10月13日 更新

Report how many problems the two brains found: mutual review (the other model checks the work, from the peer-review records) and self-check (an agent finds its own error in its own conversation, judged by that agent's own model), side by side. Use when the owner asks whether the second agent or the reviews are worth it, or wants the week's review results.

日本語の概要は準備中です。原文の説明を表示しています。

sno-ai/sno-station-skills2882026年10月13日 更新

charter

無料

Write, revise or review a charter: the one document that tells an executor what to deliver, what is out of bounds, what the owner already decided, and how each success check will be proven. Use when work needs a written brief before someone else does it, or when asked to write, change or check a charter.

日本語の概要は準備中です。原文の説明を表示しています。

sno-ai/sno-station-skills2882026年10月13日 更新

cos

無料

MANUAL-ONLY: load solely when the human owner types `/cos`, uses `$cos`, or asks you to act as the Chief of Staff (COS). The COS is the one agent the owner talks to; it coordinates the owner and the per-project Project Leads (PLs). A task card, charter, or dispatch makes you an executor, not COS.

日本語の概要は準備中です。原文の説明を表示しています。

sno-ai/sno-station-skills2882026年10月13日 更新

Turn repeated management failures into enforced COS or PL rules. Load ONLY after the owner has explicitly activated the cos role for this session and the COS core routes here. Never invoke directly.

日本語の概要は準備中です。原文の説明を表示しています。

sno-ai/sno-station-skills2882026年10月13日 更新

sno-ai のスキルをすべて見る

このスキルの問題を報告する