Install any skill in seconds. Free to start, no credit card required.
Get Started Free →To synchronize web site with changes made to local *.md files
.claude/skills/griddynamics-sync-web-site/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | -11% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 93% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 134% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 101% | 0% |
You are a web site senior engineer and public OSS documentation expert.
Your job is to synchronize and improve documentation clarity, simplicity, and quality by applying best practices and strong editorial judgment. Do not decide product strategy. Do not invent features. Do not rewrite technical truth. Focus on structure, clarity, contributor speed, and maintainability.
Produce documentation guidance that is:
Optimize for:
Think in terms of:
Avoid:
For each document, define:
You provide best practices and reasoning frameworks, not arbitrary opinions.
## Reader profiles section using line ranges of docs/reviews/DOC-STRUCTURE-PLAN.md<details markdown="1">This is public OSS. Every document represents the project to the world.
Verbosity kills documentation. These are hard rules.
rosettify, rosettify-prompts, curiocity, and similar packages under src/ are published and user-facing. Default to mirroring their ARCHITECTURE.md sections on the web page — don't assume "internal tooling" and drop them.Excludes line (build/run-local → DEVELOPER_GUIDE, deploy/ops → DEPLOYMENT_GUIDE) is the tiebreaker for what NOT to port to the web page: deep OAuth-mode env-var tables, Redis schema migration internals, and local refsrc/ reference-package notes stay contributor-repo-only even when root ARCHITECTURE.md includes them (root doc drifting past its own contract is a separate problem, not this skill's job to fix silently).MUST, DO NOT FILTER, validation scripts) mixed into otherwise human-facing prose. Treat these as intentionally contributor/agent-only — never sync them to the public web page unless explicitly told to.submit_feedback against server.py found the tool's @mcp.tool decorator commented out (permanently disabled) while both root and web docs still list it as live. Flag findings like this as asides in the report; don't silently "fix" facts that are outside the sync's approved scope.plugins/core-* ship the r2 model (five bootstrap-* files, classify-and-route). Root docs/ARCHITECTURE.md was rewritten to the r3 model (bootstrap-alwayson.md + one mode file, typed load aliases, three delivery modes MCP/plugin/local) while its tree/datasets still say r2. This mixed r2-tree / r3-content state is intentional transitional narrative — mirror root faithfully; do NOT "fix" the r2/r3 split in the web doc (that's a root-internal decision).ACQUIRE <path> FROM KB is retained in the new alias table as the MCP-only raw shell form (not stale); installation's "read all five bootstrap-* files" matched the actually-shipped copilot plugin (ls plugins/core-copilot*/…/*bootstrap*); the r2/r3 tree faithfully mirrored root. Only the FAQ prep-step wording was real. Discriminator: git log -S "<phrase>" — if the wording predates the model change it's genuine staleness; if it was re-authored in the model-change commit it's intentional. Fix real drift in BOTH root + web (release-agnostic phrasing) so the next sync doesn't re-flag it.USE/READ SKILL, READ/APPLY SKILL FILE, USE/READ FLOW, APPLY PHASE, INVOKE/READ SUBAGENT, READ/APPLY RULE, READ TEMPLATE, READ CONFIGURE, LIST <path>. Verbs: READ=load, APPLY=load+execute, USE/INVOKE=activate. Old GET PREP STEPS/SEARCH … IN KB/STORE/… ABOUT <project> aliases are gone; ACQUIRE … FROM KB survives only as the MCP-raw shell form. The web doc is MCP-centric, so when porting r3 content add a one-line framing of the three delivery modes in place (plugin/local are new vocabulary for a web reader).bundle install (gems aren't vendored in the repo). Then cd docs/web && bundle exec jekyll serve --detach --port <port>. Fetch pages with curl -s http://127.0.0.1:<port>/rosetta/docs/<page>/. Stop with pkill -f "jekyll serve". Sanity-check rendered HTML for the new section names and for <table> counts (a missed blank line before a markdown table renders as a literal |-delimited paragraph, not a table).docs/web/vendor/bundle/ exists. Seen: bundle exec jekyll serve fails with Bundler::GemNotFound — Gemfile.lock pins versions (addressable, json, public_suffix, concurrent-ruby) not present in the vendored dir. Fix is bundle install, which rewrites vendored gems + the lockfile — a dependency change, out of scope for a pure doc sync and not to be run autonomously. For a trivial edit (heading rename, a <video> embed that copies the form of an existing sibling, no new tables), static validation is enough: re-read the edited region and confirm blank-line spacing around headings/tags. Reserve the server run for changes that touch tables or new page structure.docs/web/docs/introduction.md, not a docs/web top-level page. README uses raw https://github.com/user-attachments/assets/<id> URLs on their own line; the web page wraps the same asset id in <video src="..." controls width="100%"></video>. When syncing a new demo, port the asset id into that <video> form, keep headings in sync (README ## Tech Demo: Init and Coding / ## Tech Demo: Frontend Modernization ↔ same on web).docs/MODERNIZATION.md is a Guides page, not the workflow page. Mirror to docs/web/docs/modernization.md (/docs/modernization/, sidebar Guides → "Modernization Guide"). Keep docs/web/docs/modernization-flow.md as the /modernization-flow phase authority (Workflows → "Modernization"). Do not merge methodology/prompts into the flow page. When adding a new Guides doc, also add a ### Guides contract block under DOC-STRUCTURE-PLAN §2 and a Reader-profiles table row; point CONFIGURATION / USAGE_GUIDE / flow Excludes at the guide so ownership stays MECE.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 4,167 | 5,533 | +33% | 1 | 1 | 0% | 285 | 2,985 | +947% | 0 | 0 | — |
case-02 | fail→fail | 3,328 | 6,939 | +109% | 1 | 1 | 0% | 333 | 2,964 | +790% | 0 | 0 | — |
case-03 | fail→fail | 2,376 | 5,471 | +130% | 1 | 1 | 0% | 269 | 2,926 | +988% | 0 | 0 | — |
case-04 | fail→fail | 18,647 | 8,530 | -54% | 1 | 1 | 0% | 2,826 | 3,145 | +11% | 0 | 0 | — |
case-05 | fail→pass | 37,082 | 17,286 | -53% | 1 | 1 | 0% | 6,175 | 5,483 | -11% | 0 | 0 | — |
case-06 | fail→pass | 14,850 | 11,043 | -26% | 1 | 1 | 0% | 2,160 | 4,164 | +93% | 0 | 0 | — |
case-07 | fail→pass | 12,962 | 2,521 | -81% | 1 | 1 | 0% | 2,049 | 3,088 | +51% | 0 | 0 | — |
case-08 | pass→pass | 10,211 | 4,249 | -58% | 1 | 1 | 0% | 1,506 | 3,362 | +123% | 0 | 0 | — |
case-09 | pass→pass | 5,640 | 4,393 | -22% | 1 | 1 | 0% | 913 | 3,293 | +261% | 0 | 0 | — |
case-10 | fail→pass | 9,742 | 6,491 | -33% | 1 | 1 | 0% | 1,541 | 3,608 | +134% | 0 | 0 | — |
case-11 | pass→pass | 11,500 | 3,713 | -68% | 1 | 1 | 0% | 1,772 | 3,211 | +81% | 0 | 0 | — |
case-12 | pass→pass | 12,075 | 3,719 | -69% | 1 | 1 | 0% | 1,850 | 3,277 | +77% | 0 | 0 | — |
case-13 | fail→pass | 10,870 | 3,078 | -72% | 1 | 1 | 0% | 1,574 | 3,162 | +101% | 0 | 0 | — |
case-14 | fail→pass | 8,005 | 3,268 | -59% | 1 | 1 | 0% | 1,352 | 3,223 | +138% | 0 | 0 | — |
case-15 | fail→pass | 9,256 | 6,771 | -27% | 1 | 1 | 0% | 1,441 | 3,700 | +157% | 0 | 0 | — |
case-16 | pass→pass | 7,826 | 2,522 | -68% | 1 | 1 | 0% | 1,399 | 3,069 | +119% | 0 | 0 | — |
case-17 | fail→fail | 10,561 | 5,764 | -45% | 1 | 1 | 0% | 1,771 | 3,098 | +75% | 0 | 0 | — |
case-18 | fail→pass | 9,307 | 8,705 | -6% | 1 | 1 | 0% | 1,396 | 3,584 | +157% | 0 | 0 | — |
case-19 | fail→pass | 12,601 | 2,927 | -77% | 1 | 1 | 0% | 2,030 | 3,072 | +51% | 0 | 0 | — |
case-20 | pass→pass | 3,228 | 2,100 | -35% | 1 | 1 | 0% | 468 | 2,921 | +524% | 0 | 0 | — |
case-21 | pass→pass | 7,075 | 4,509 | -36% | 1 | 1 | 0% | 1,120 | 3,278 | +193% | 0 | 0 | — |
case-22 | pass→pass | 10,832 | 4,526 | -58% | 1 | 1 | 0% | 1,505 | 3,217 | +114% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 17 counted toward the lift figure. The other 5 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +41 percentage points is the difference between those two pass rates over the 17 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.