This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow-steward.git


The following commit(s) were added to refs/heads/main by this push:
     new a6d4a87  feat(setup-steward): richer Step 11 doc-update flow (#111)
a6d4a87 is described below

commit a6d4a8798530e0061e781e046fe88953730d0f18
Author: Jarek Potiuk <[email protected]>
AuthorDate: Mon May 11 04:00:14 2026 +0200

    feat(setup-steward): richer Step 11 doc-update flow (#111)
    
    Step 11 (project doc updates) previously said only "add a brief
    paragraph to README.md or CONTRIBUTING.md noting three things",
    which left every adopter to reinvent the wording. Replace it with:
    
    - a copy-pasteable `## Agent-assisted contribution
      (apache-steward)` section for README.md, with substitution
      guidance for the adopter's skill-family choices and the
      flat-vs-double-symlinked path convention;
    - an explicit note about PyPI sync markers (avoid leaking the
      adoption blurb into the published PyPI description on
      projects that round-trip README.md to PyPI);
    - a separate AGENTS.md template that agent harnesses see first,
      with a cross-reference back to the README section so the
      agent lands on the human-readable summary rather than
      duplicating the prose;
    - a "do not create AGENTS.md if it does not already exist"
      guardrail (empty file is more noise than signal);
    - a doctoc/TOC-hook note so adopters know to expect a second
      commit touching the auto-updated TOC block;
    - CONTRIBUTING.md as a documented fallback when README.md is
      absent or strictly off-limits.
    
    Update verify.md check 9 in parallel: grep for both
    `apache-steward` and `/setup-steward` tokens in README.md (and
    the cross-reference link in AGENTS.md if the file exists)
    rather than the previous "mentions the framework somewhere"
    hand-wave. Stay at ⚠ severity — these are nice-to-have, not
    blocking.
    
    Motivated by the apache/airflow adoption PR
    (apache/airflow#66677) which added both files by hand; the
    templates here capture what landed there so the next adopter
    gets it from the skill rather than from the airflow PR diff.
---
 .claude/skills/setup-steward/adopt.md  | 127 +++++++++++++++++++++++++++++----
 .claude/skills/setup-steward/verify.md |  26 +++++--
 2 files changed, 137 insertions(+), 16 deletions(-)

diff --git a/.claude/skills/setup-steward/adopt.md 
b/.claude/skills/setup-steward/adopt.md
index d85befe..33e3842 100644
--- a/.claude/skills/setup-steward/adopt.md
+++ b/.claude/skills/setup-steward/adopt.md
@@ -379,18 +379,121 @@ hook content to the user before writing.
 
 ## Step 11 — Project doc updates (FRESH only)
 
-Add (or extend) a brief paragraph in the adopter's
-`README.md` or `CONTRIBUTING.md` (whichever already mentions
-agents / skills) noting:
-
-- the project adopts apache-steward via the snapshot
-  mechanism;
-- a fresh clone needs `/setup-steward` to populate the
-  framework before any framework skill is invocable;
-- adopter-specific modifications live in
-  `.apache-steward-overrides/`.
-
-Surface the doc diff to the user before writing.
+Update two adopter-facing docs so contributors discover the
+framework before they hit a "skill not found" error:
+
+1. **`README.md` (contributor-facing summary, REQUIRED if
+   the file exists).** This is the doc most fresh-clone
+   contributors read first. Add a dedicated section. If the
+   project uses PyPI-sync markers (e.g.
+   `<!-- START Contributing ... -->` / `<!-- END Contributing ... -->`),
+   place the new section **outside** any sync block so the
+   adoption note does not leak into the published PyPI
+   description.
+
+   Suggested template — substitute the adopter's name and
+   the skill families they actually installed:
+
+   ```markdown
+   ## Agent-assisted contribution (apache-steward)
+
+   This repo adopts the
+   [`apache/airflow-steward`](https://github.com/apache/airflow-steward)
+   framework via a snapshot mechanism. The framework provides
+   maintainer-facing skills (e.g. `pr-management-triage`,
+   `pr-management-code-review`, `pr-management-stats`,
+   `pr-management-mentor`, and the `security-*` family)
+   exposed as agent skills in agent harnesses such as Claude
+   Code.
+
+   The framework is **not** vendored — it lives as a
+   gitignored snapshot under `.apache-steward/`, fetched on
+   demand from the version pinned in the committed
+   [`.apache-steward.lock`](.apache-steward.lock). The only
+   framework artefact committed to this repo is the
+   `setup-steward` skill at
+   [`.github/skills/setup-steward/`](.github/skills/setup-steward/);
+   everything else is a gitignored symlink the setup skill
+   wires up.
+
+   A fresh clone needs the snapshot populated before any
+   framework skill is invocable. In your agent harness, run:
+
+       /setup-steward
+
+   (or follow [`.claude/skills/setup-steward/`](.claude/skills/setup-steward/))
+   to fetch the snapshot per the committed lock, scaffold the
+   gitignored symlinks, and install the post-checkout hook
+   that re-creates them on each worktree checkout.
+
+   Adopter-specific modifications to framework workflows live
+   in [`.apache-steward-overrides/`](.apache-steward-overrides/)
+   (committed) — never edit the snapshot directly. Framework
+   changes go via PR to
+   [`apache/airflow-steward`](https://github.com/apache/airflow-steward).
+   ```
+
+   Trim the skill-family list to what was actually picked in
+   Step 5 (only mention `security-*` if the adopter installed
+   that family, etc.). Adjust the skill paths to the adopter's
+   convention (flat vs double-symlinked — see
+   [`conventions.md`](conventions.md)). Skip this sub-step
+   entirely if `README.md` does not exist.
+
+2. **`AGENTS.md` (agent-facing detail, ONLY if the file
+   already exists).** Agent harnesses load this file
+   automatically; a short section here tells the agent the
+   adoption is in place and where to find the contributor
+   summary. Cross-reference back to the `README.md` section
+   you just wrote so the agent lands on the human-readable
+   summary first.
+
+   Suggested template:
+
+   ```markdown
+   ## apache-steward framework
+
+   This repo adopts the
+   [`apache/airflow-steward`](https://github.com/apache/airflow-steward)
+   framework via the snapshot mechanism. The framework
+   provides the `pr-management-*` skills; they are gitignored
+   symlinks into the `.apache-steward/` snapshot directory.
+
+   A fresh clone needs the snapshot populated before any
+   framework skill is invocable. Run `/setup-steward` (or
+   follow [`.claude/skills/setup-steward/`](.claude/skills/setup-steward/))
+   to fetch it per the committed
+   [`.apache-steward.lock`](.apache-steward.lock). The
+   contributor-facing summary of the adoption + setup flow
+   lives in the
+   [Agent-assisted contribution section of 
`README.md`](README.md#agent-assisted-contribution-apache-steward).
+
+   Adopter-specific modifications to framework-skill
+   workflows live in
+   [`.apache-steward-overrides/`](.apache-steward-overrides/)
+   — never edit the snapshot directly. Framework changes go
+   via PR to
+   [`apache/airflow-steward`](https://github.com/apache/airflow-steward).
+   ```
+
+   Do not create `AGENTS.md` if it does not already exist —
+   the contributor-facing section in `README.md` is the
+   authoritative entry-point, and an empty `AGENTS.md` would
+   be more noise than signal.
+
+3. **`CONTRIBUTING.md` (fallback only).** If `README.md` is
+   absent or strictly off-limits (some projects vendor it
+   from another source and rebuild on release), add the
+   `README.md` template content here instead.
+
+**Doctoc and other auto-update hooks.** If the adopter
+runs `doctoc` or similar README-TOC hooks, expect the next
+commit to also touch the TOC block. Either run the hook
+yourself before staging or note it in the commit message.
+
+Surface the rendered diff (`git diff README.md AGENTS.md`)
+to the user before writing. The user confirms once for the
+whole doc set; do not ask separately per file.
 
 ## Step 12 — Sanity check
 
diff --git a/.claude/skills/setup-steward/verify.md 
b/.claude/skills/setup-steward/verify.md
index 2c638b1..e9bfc21 100644
--- a/.claude/skills/setup-steward/verify.md
+++ b/.claude/skills/setup-steward/verify.md
@@ -169,10 +169,28 @@ executable, and contains the
 
 ### 9. Project documentation mentions the framework
 
-`<repo-root>/README.md` (or another committed doc the
-adopter picked) mentions the steward adoption with a link
-into the framework. Cheap to skip if absent — surface as
-⚠ only.
+Two files to check (per
+[`adopt.md` Step 11](adopt.md#step-11--project-doc-updates-fresh-only)):
+
+- **`<repo-root>/README.md`** — should have a contributor-facing
+  section (typically `## Agent-assisted contribution
+  (apache-steward)`) that mentions the snapshot mechanism, the
+  `/setup-steward` invocation for fresh clones, the
+  `.apache-steward.lock` pin, and `.apache-steward-overrides/`.
+  Grep for `apache-steward` and `/setup-steward` together as a
+  proxy. ⚠ if either token is absent.
+- **`<repo-root>/AGENTS.md`** — if the file exists, it should
+  have an `## apache-steward framework` section that
+  cross-references the README section. Grep for
+  `apache-steward` and a link to the README anchor. ⚠ if the
+  file exists but lacks the section; not applicable if the
+  file does not exist (do not create one just to satisfy
+  the check).
+
+Cheap to skip if both are absent on a minimal repo — surface
+as ⚠ overall only, never ✗. `CONTRIBUTING.md` counts as a
+fallback for `README.md` if the adopter declared it so during
+adoption.
 
 ## After the report
 

Reply via email to