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

publish-site

Build the results site and publish it to GitHub Pages. Checks every precondition deploy-site.py enforces before spending a build on them, presents the research/ diff the build produces for a commit, and deploys only on explicit confirmation. Trigger when the user says "publish", "deploy", "site deployen", "gh-pages", "auf die Seite bringen", or asks how to get results online.

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

marcoemrich/agentic_coding_labスター 14(GitHub 14 + cccskills 0)
連携ツールGitHub

実行スコア 未検証

インストール方法を見る

含まれるファイル(1)

  • SKILL.md5.8 KB

SKILL.md(原文)

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

/publish-site — build and publish the results site

The lab has two publishing paths and they are not alternatives:

PathProducesEntry point
this skillthe live site on the gh-pages branch, one page per RQpnpm deploy:site
/build-overviewa frozen Markdown snapshot under research/reports/generate-snapshot-skeleton.py

Do not reach for one when the user asked for the other. "Snapshot", "report", "Bericht", "Stand" → /build-overview. "Site", "online", "deploy", "Pages" → here.

What publishes, and what does not

export-site-data.py globs research/questions-*/*/README.md. So the site carries the per-harness and cross-harness RQs only — research/workflow-dev/ and research/kata-dev/ are deliberately not published yet. If the user expects a workflow-development RQ on the site, say that it is out of scope rather than hunting for a bug.

Each RQ page shows its findings.md as written, behind a warning banner. There is no separate review step, so a findings file that contradicts its own data goes online as it stands. Worth a sentence to the user when you know of one.

Deploy is outward-facing

deploy-site.py pushes to a public branch. Never run it without the user saying so in this conversation. Building is free and reversible; deploying is not. When the user asks "how do I publish", answer with the commands and stop — do not deploy to demonstrate.

Phase 1 — preconditions

deploy-site.py refuses on any of these, and it refuses after running its own build, so checking first saves the build. Report them as a block:

cd /path/to/agentic_coding_lab
git rev-parse --abbrev-ref HEAD                      # must be main
git merge-base --is-ancestor HEAD origin/main && echo pushed || echo NOT-pushed
git status --porcelain -- research site | wc -l      # must be 0
command -v uv || echo "uv MISSING"
test -d site/node_modules || echo "site deps MISSING"

Two of these are the traps:

  • site/node_modules is not in the repo. Without it the Astro build dies with astro: not found and build-site.py exits 1 after already re-aggregating every RQ. Fix: cd site && pnpm install --frozen-lockfile. Do not worry about the host's pnpm version — corepack honours the packageManager pin in site/package.json and uses that one.
  • uv is the documented interpreter and may be absent. Both pnpm scripts are uv run --project ../experiments python .... Install it the way the Dockerfile does, at the same pin, rather than reaching for pip (the system Python is PEP 668 managed and has no ensurepip):
    curl -LsSf https://astral.sh/uv/0.12.17/install.sh | sh
    cd experiments && uv sync
    

Phase 2 — build

cd site && pnpm build:site

It re-aggregates every RQ, runs the site data export, then astro build. Stops at the first failing step. Refuses while a batch runs, through the aggregator's batch lock — so check docker ps if it exits on that.

It closes with git diff --stat over research/. no changes is the only output that lets a deploy proceed, because deploy-site.py publishes nothing when its own build leaves a diff there.

Phase 3 — the research/ diff, if there is one

A diff means committed aggregations were stale. Sort it before offering a commit, because the two kinds read completely differently:

  • Substantive — a cell's n, mean or sd moves meaningfully, or a metric appears where it was null. Usually a metric was computed (compute-cost.py, compute-mutation-score.py) and never aggregated, or a run was re-measured and other RQs share that run's cell.
  • Last-digit float churn in summary.json — "sd": 3.271085446759225 → 3.2710854467592254. Harmless, and one-time: two consecutive aggregations are byte-identical afterwards.

Separate them before reporting:

git diff -U0 -- research | grep -E '^[+-]' | grep -vE '^[+-][+-]' \
  | grep -vE '"(sd|mean)":\s*[0-9.e-]{12,}' | head -40

Report the substantive ones by RQ and metric, then ask whether to commit. Never git checkout the diff away — the committed values are the stale ones.

If the churn is not one-time, the pins have drifted. experiments/pyproject.toml pins pandas/numpy to the host's system versions for exactly one reason: so uv run and a plain python3 compute the same numbers. When the host's Python moves and the pins do not, every uv-driven build rewrites the last digits of every mean and a deploy can never go green. Check python3 -c "import pandas, numpy; print(pandas.__version__, numpy.__version__)" against the pins before concluding anything about the data.

Phase 4 — deploy

Only after the user has said to deploy, and only with phase 1 green and phase 2 reporting no changes:

cd site && pnpm deploy:site

It runs the full build again, then commits site/dist/ plus .nojekyll onto gh-pages in a temporary worktree as Deploy <short sha>: <subject> and pushes. An orphan branch on the first deploy. The published site therefore always matches one pushed commit on main.

Afterwards, report the gh-pages commit and the deployed main sha:

git log --oneline -1 origin/gh-pages

Out of scope

  • Writing or editing findings.md — that is /run-rq and /reanalyze.
  • The frozen Markdown snapshot — that is /build-overview.
  • Starting batches or analysing runs.

レビュー

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

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Generates an experiment-overview snapshot of all research questions under research/reports/. Invoke when a new point-in-time report across all RQs should be produced.

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

marcoemrich/agentic_coding_lab142026年10月26日 更新

Mint a new YYYY-MM-DD-exact-coding-baseline snapshot under research/workflow-dev/export/. Detects the current best correctness- oriented workflow from research/workflow-dev/workflow-construction.md (or takes an explicit source-workflow argument) and transforms it from a lab workflow into a consumer-ready one on three axes: strips lab-only measurement content, re-enables human-in-the-loop checkpoints, and converts auto-loading config into an explicitly-invoked skill. Supports both promoted EXACT Coding lines: Opus/Hybrid and SOL/Predictive TDD. Exports Claude Code, pi, OpenCode, cursor-agent and, for SOL, Copilot. Trigger when the user says "exact-coding baseline export", "neue exact-coding baseline", "exact-coding-baseline-export", or asks to refresh the baseline snapshot.

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

marcoemrich/agentic_coding_lab142026年10月26日 更新

green

無料

TDD Green Phase - Implement minimal code to make the failing test pass

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

marcoemrich/agentic_coding_lab142026年10月26日 更新

reanalyze

無料

Re-run the analysis pipeline on all runs matching an RQ, reaggregate metrics, and propose findings updates against the fresh data. Trigger when the user says "reanalyze RQ-N", "reanalyse RQ-N", "Runs neu analysieren", or wants to refresh metrics/findings after a pipeline change (analyze-run.sh fix, adapter added, ESLint config).

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

marcoemrich/agentic_coding_lab142026年10月26日 更新

red

無料

TDD Red Phase - Activate ONE test from the test list and make it fail with explicit predictions

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

marcoemrich/agentic_coding_lab142026年10月26日 更新

refactor

無料

TDD Refactor Phase - Improve code while keeping tests green using Simple Design Rules and APP mass

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

marcoemrich/agentic_coding_lab142026年10月26日 更新

marcoemrich のスキルをすべて見る

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