Skip to content

Feature/skill creation docs - #24

Merged
peak-flow merged 18 commits into
masterfrom
feature/skill-creation-docs
Aug 3, 2026
Merged

Feature/skill creation docs#24
peak-flow merged 18 commits into
masterfrom
feature/skill-creation-docs

Conversation

@peak-flow

Copy link
Copy Markdown
Owner

No description provided.

Tags used by the code-flow and data-model prompts were invisible to the
verifier. --emit-summary prints a ready-to-paste Verification Summary
block so docs never hand-count tags.
Single source of truth for the tag vocabulary and the mandatory verifier
step; prompts reference it instead of carrying diverging copies.
- Remove flask rows from the mandatory Step 0c table (examples never shipped);
  add model-systems and nextjs rows
- Collapse the two duplicate example-selection tables into Step 0c pointers
- Add the verify.py step to 02/03/05 checklists; complete truncated tag tables
- 01a: absences are NOT_FOUND, never [VERIFIED: no X found] or slash forms;
  add mandatory model-systems example read
- 04: NEEDS_VERIFICATION rendering, inferred-classification honesty,
  point the sample source doc at pf-docs instead of a bundled example
- 05: mandatory test-surface example read, Source Commit metadata row
…overlay 02a

[VERIFIED: LSP operation] tags produced zero resolvable citations, so an
LSP doc could never pass the verifier it mandates. Citations are now
[VERIFIED: path:line — via <op>]. Restore the mandatory Step 0c example
read, fix ../examples paths, add the verifier step to lsp/02, and rewrite
lsp/02a as a thin overlay of the base prompt (with an explicit note that
the outgoingCalls prohibition scopes to architecture docs only).
…oard mini app

Examples must cite committed sources so citations resolve for every
reader (the requests example previously cited a copy that was never
committed). Slim pinned vendors: openai/whisper c0d2f62 (py sources only,
assets pruned — see VENDORED.md) and requests 2.32.5 (7029833). linkboard
is a purpose-built Next.js App Router mini app with deliberate warts, in
the style of the existing tasktracker/slotbooker apps.
First example pair for the 01a model-centric overlay: the good doc shows
weights-are-downloads and training-code-absence handled honestly; the bad
doc demonstrates fame-based hallucination (documenting a famous model from
prior knowledge instead of the repo). The nextjs pair covers App Router
surfaces; its bad doc demonstrates App/Pages Router conflation. Both good
docs pass verify.py at 100% citation resolution.
The code-flow prompt had no examples to enforce its mandatory read
against. Good doc traces the real slotbooker booking flow (36/36
citations, 12/12 quotes); bad doc is an uncited specimen with annotated
hallucinations (BookingService, queued mail, SMS, transactions).
…format

Citations were systematically off by one line, two paths lacked the app/
prefix, one meta-tag was unparseable, and sections 4-5 used the exact
ASCII arrow-flow pattern the prompt bans. Now 133/133 citations resolve
and all 8 quotes match at ratio 1.00.
Every line citation had drifted 2-4 lines from the tasktracker app and one
quote no longer existed in the file; the doc failed its own verifier. Now
104/104 citations and 13/13 quotes pass. The bad example gets the banner,
per-section PROBLEMS callouts, and the false-claim-to-reality closing list.
Livewire resolved 20/26 citations and 1/18 quotes (bare blade filenames in
the 3b map); react's quotes were shifted. Both good docs rebuilt to the
prompt-01 skeleton — livewire 104/104 citations 17/17 quotes, react 90/90
and 15/15. Both bad examples annotated with grounded PROBLEMS callouts.
…n bad one

The good doc had no metadata, invented tags, and prose evidence the
verifier scored 0/0 — rebuilt to the contract (102/102 citations, 6/6
quotes). The bad doc's citations all resolve but its quotes are silently
truncated to hide warts; annotations now expose each cut verbatim, with
the headline lesson that resolving citations are not true claims.
…tbooker flow

It cited BookingService and a confirmation email — the exact hallucinations
the laravel bad example warns about. Now derived from the real booking flow
(35/35 citations), including an absence test pinning that no email exists.
…cise phase 2

Line references had drifted; the doc also demonstrated only phase 1. Adds
a quoted block so the canonical self-verifying example exercises the quote
check, documents the new tags and --emit-summary, and syncs summary counts.
Citations were bare filenames resolving against nothing, with byte counts
as evidence and hedged/disjunctive VERIFIED tags. Rewritten against the
vendored 2.32.5 source: 125/125 citations, 6/6 quotes. Bad example gains
per-section PROBLEMS callouts grounded in the vendored files.
scripts/verify-examples.sh maps each good doc to its source root and
requires PASS; the workflow runs it on push and PRs. This is the guard
that keeps teaching examples from drifting away from the code they cite —
the failure mode this session found in every framework example.
…gger phrasing

Skill descriptions were labels with no invocation phrasing; none mentioned
the verifier. Every doc-producing skill now ends with the verify.py gate,
LSP skills use the path:line citation form, map-flows reads the new
code-flow example pair, and the SKILLS.md workflow gains the verify step.
Flask downloads 404ed silently into an empty dir that satisfied the
mandatory example-read with nothing. Ships 00-verification-core.md, the
laravel code-flow pair, nextjs and model-systems pairs, and stops
swallowing errors on the verifier example fetch.
…erseded

React/Vue/Livewire were listed as coming soon despite shipping; flask is
gone; structure now shows the CI gate, skills, and new example dirs. The
old guides/01 taught arrow-flow tracing and manual verification — now
carries a superseded banner pointing at the current prompts.
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 101 files, which is 1 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: fae58ce4-594c-469f-bac9-e2d2000cedf0

📥 Commits

Reviewing files that changed from the base of the PR and between db2ba7f and 1b49fa5.

📒 Files selected for processing (101)
  • .github/workflows/verify-examples.yml
  • README.md
  • SKILLS.md
  • examples/fastapi/bad-architecture-doc-example.md
  • examples/fastapi/good-architecture-doc-example.md
  • examples/laravel/bad-code-flow-doc-example.md
  • examples/laravel/good-architecture-doc-example.md
  • examples/laravel/good-code-flow-doc-example.md
  • examples/livewire/bad-architecture-doc-example.md
  • examples/livewire/good-architecture-doc-example.md
  • examples/model-systems/bad-architecture-doc-example.md
  • examples/model-systems/good-architecture-doc-example.md
  • examples/model-systems/whisper/LICENSE
  • examples/model-systems/whisper/README.md
  • examples/model-systems/whisper/VENDORED.md
  • examples/model-systems/whisper/pyproject.toml
  • examples/model-systems/whisper/requirements.txt
  • examples/model-systems/whisper/whisper/__init__.py
  • examples/model-systems/whisper/whisper/__main__.py
  • examples/model-systems/whisper/whisper/audio.py
  • examples/model-systems/whisper/whisper/decoding.py
  • examples/model-systems/whisper/whisper/model.py
  • examples/model-systems/whisper/whisper/normalizers/__init__.py
  • examples/model-systems/whisper/whisper/normalizers/basic.py
  • examples/model-systems/whisper/whisper/normalizers/english.py
  • examples/model-systems/whisper/whisper/timing.py
  • examples/model-systems/whisper/whisper/tokenizer.py
  • examples/model-systems/whisper/whisper/transcribe.py
  • examples/model-systems/whisper/whisper/triton_ops.py
  • examples/model-systems/whisper/whisper/utils.py
  • examples/model-systems/whisper/whisper/version.py
  • examples/nextjs/bad-architecture-doc-example.md
  • examples/nextjs/good-architecture-doc-example.md
  • examples/nextjs/linkboard/.gitignore
  • examples/nextjs/linkboard/app/api/links/[id]/route.js
  • examples/nextjs/linkboard/app/api/links/route.js
  • examples/nextjs/linkboard/app/layout.jsx
  • examples/nextjs/linkboard/app/links/[id]/page.jsx
  • examples/nextjs/linkboard/app/page.jsx
  • examples/nextjs/linkboard/app/submit/page.jsx
  • examples/nextjs/linkboard/components/LinkCard.jsx
  • examples/nextjs/linkboard/components/SubmitForm.jsx
  • examples/nextjs/linkboard/components/VoteButton.jsx
  • examples/nextjs/linkboard/lib/store.js
  • examples/nextjs/linkboard/next.config.mjs
  • examples/nextjs/linkboard/package.json
  • examples/packages/requests/bad-architecture-doc-example.md
  • examples/packages/requests/good-architecture-doc-example.md
  • examples/packages/requests/source/LICENSE
  • examples/packages/requests/source/VENDORED.md
  • examples/packages/requests/source/requests/__init__.py
  • examples/packages/requests/source/requests/__version__.py
  • examples/packages/requests/source/requests/_internal_utils.py
  • examples/packages/requests/source/requests/adapters.py
  • examples/packages/requests/source/requests/api.py
  • examples/packages/requests/source/requests/auth.py
  • examples/packages/requests/source/requests/certs.py
  • examples/packages/requests/source/requests/compat.py
  • examples/packages/requests/source/requests/cookies.py
  • examples/packages/requests/source/requests/exceptions.py
  • examples/packages/requests/source/requests/help.py
  • examples/packages/requests/source/requests/hooks.py
  • examples/packages/requests/source/requests/models.py
  • examples/packages/requests/source/requests/packages.py
  • examples/packages/requests/source/requests/sessions.py
  • examples/packages/requests/source/requests/status_codes.py
  • examples/packages/requests/source/requests/structures.py
  • examples/packages/requests/source/requests/utils.py
  • examples/react/bad-architecture-doc-example.md
  • examples/react/good-architecture-doc-example.md
  • examples/test-surface/good-test-surface-example.md
  • examples/verifier/good-architecture-doc-example.md
  • examples/vue/bad-architecture-doc-example.md
  • examples/vue/good-architecture-doc-example.md
  • guides/01-architecture-overview.md
  • install-skills.sh
  • install.sh
  • prompts/00-verification-core.md
  • prompts/01-architecture-overview.md
  • prompts/01a-overlay-model-systems.md
  • prompts/02-code-flows.md
  • prompts/03-data-models.md
  • prompts/04-diagrams.md
  • prompts/05-test-surface.md
  • prompts/lsp/01-architecture-overview.md
  • prompts/lsp/02-code-flows.md
  • prompts/lsp/02a-recommend-code-flows.md
  • prompts/lsp/README.md
  • scripts/verify-examples.sh
  • skills/map-arch-lsp.md
  • skills/map-arch.md
  • skills/map-data.md
  • skills/map-diagrams.md
  • skills/map-flows-lsp.md
  • skills/map-flows.md
  • skills/map-install.md
  • skills/map-recommend-lsp.md
  • skills/map-recommend.md
  • skills/map-tests.md
  • skills/map-verify.md
  • verify.py

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@peak-flow
peak-flow merged commit 138ab71 into master Aug 3, 2026
2 checks passed
@peak-flow
peak-flow deleted the feature/skill-creation-docs branch August 3, 2026 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant