Add auto-loading rust and sql language skills, and the architect's predictability deliverables - #66
Merged
Merged
Conversation
…eliverables Language expertise becomes a first-class skill under claude/skills/development/languages/ — rust (toolchain/lint policy as checked-in files, ownership-driven architecture, error doctrine with a failure-table method, tokio task ownership and cancellation, rusqlite embedding, deterministic testing, boundary security, a reviewer pass) and sql (parameterized-only, versioned migrations with expand-migrate-contract, EXPLAIN-before-merge, a scratch-container empirical check, dialect branches for PostgreSQL 18 / MySQL 8.4-9.7 / Oracle 26ai / SQLite, a reviewer pass). References never auto-load, and language standards must apply whenever the language is being written with no role command invoked — so these carry auto-triggering descriptions instead of living as one role's references. No persona, no slash command; the backend role's router now points at the rust skill and its old project-specific Rust reference is deleted (that file named one private project's modules and paths, violating the universal-knowledge rule; the project-specific half moved to that project's own repository). The architect gains references/design-for-predictability.md: boundary contract sheets, state tables with no blank cells, lightweight FMEA, a test-case table whose negative rows must at least match its positive rows, blast-radius notes, and declared extension points — produced before implementation, proportional to the track. Skill count claims updated 38 -> 40 at every checked site.
The DBA skill gains a dialect router (Postgres/MySQL/Oracle/SQLite) into the sql skill's references; the reviewer's language-specific index gains the rust and sql review passes; the disambiguation matrix and the agent directory record the exception: core languages are knowledge skills that auto-load from context, with the role agents routing into the one copy.
CONTRIBUTING amends the stacks-are-references key idea and adds an 'Add a language skill' recipe (no command step — loading from context is the point); the skill-extension guide gets a banner pointing at it; the changelog records what was added and why the old Rust reference was removed.
The batched-backfill template becomes a PK-range batch (the LIMIT-subquery shape fails on MySQL error 1093 and Oracle's missing LIMIT); the keyset pagination section now carries the portable expanded comparison instead of promising dialect forms the references did not contain; MySQL's online-DDL ladder gates RENAME COLUMN at 8.0.28 and set/drop default at 8.0.12; the Postgres DDL table stops calling now() volatile (STABLE, no-rewrite since 11) and names actually-volatile defaults; the undocumented-unsafe sweep is demoted to a locator with the clippy lint as the deciding check; the workflow note aligns its trigger claims with workflow.yaml (dependencies are ARCH, listening sockets are SECOPS via network, unsafe is review territory); the token template uses rand 0.9's fallible TryRngCore API and rand joins the versions table; the sql skill stops naming /data as a routing role against its own NOT-clause; the changelog's Removed heading no longer swallows the pre-existing Added bullets; and the in-process tower-oneshot handler-testing pattern lost with the old Rust reference is re-established in the testing reference.
There was a problem hiding this comment.
Pull request overview
This pull request updates the AI Development Team framework to treat Rust and SQL as auto-loading language knowledge skills (rather than stack references), and adds an /arch reference defining predictability deliverables to be produced at ARCH_APPROVED time.
Changes:
- Added new auto-loading language skills under
claude/skills/development/languages/for Rust and SQL, including deep references and reviewer passes for/rev. - Updated routing/docs across the framework to point roles (
/be,/dba,/rev,/arch) to the new language skills and to reflect the updated skill count (38 → 40). - Removed the prior project-specific Rust stack reference and introduced the architect “design-for-predictability” reference.
Reviewed changes
Copilot reviewed 32 out of 32 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates skill count and documents language-skill exception + extension guidance. |
| docs/skill-extension-guide.md | Adds note about the “core languages are knowledge skills” exception. |
| CONTRIBUTING.md | Records the rule amendment and adds a recipe for adding language skills. |
| claude/skills/quality/review/reviewer/SKILL.md | Adds /rev pointers to Rust/SQL review passes. |
| claude/skills/disambiguation.md | Documents the core-language knowledge-skill exception. |
| claude/skills/development/languages/sql/references/sqlite.md | Adds SQLite dialect engineering guidance for the SQL skill. |
| claude/skills/development/languages/sql/references/sql-review.md | Adds /rev SQL/migrations review pass and checklists. |
| claude/skills/development/languages/sql/references/oracle.md | Adds Oracle dialect reference for the SQL skill. |
| claude/skills/development/languages/sql/references/mysql.md | Adds MySQL dialect reference for the SQL skill. |
| claude/skills/development/languages/rust/SKILL.md | Adds the Rust language skill (standards + routing to deep references). |
| claude/skills/development/languages/rust/references/toolchain-and-lints.md | Adds Rust toolchain/lints/CI policy reference. |
| claude/skills/development/languages/rust/references/testing.md | Adds Rust testing doctrine reference. |
| claude/skills/development/languages/rust/references/sqlite-rusqlite.md | Adds rusqlite + embedded SQLite integration reference. |
| claude/skills/development/languages/rust/references/security.md | Adds Rust boundary-security reference. |
| claude/skills/development/languages/rust/references/rust-review.md | Adds /rev Rust review pass. |
| claude/skills/development/languages/rust/references/errors.md | Adds Rust error doctrine + failure-table method reference. |
| claude/skills/development/languages/rust/references/dependencies-supply-chain.md | Adds Rust dependency/supply-chain policy reference. |
| claude/skills/development/languages/rust/references/async-tokio.md | Adds Tokio async/task ownership/cancellation reference. |
| claude/skills/development/languages/rust/references/architecture.md | Adds Rust ownership-driven architecture reference. |
| claude/skills/development/data/dba/dba/SKILL.md | Routes /dba dialect depth to the SQL language skill references. |
| claude/skills/development/backend/java/backend-developer/SKILL.md | Routes Rust backend work to the Rust language skill (removes old stack reference). |
| claude/skills/development/backend/java/backend-developer/references/rust.md | Removes the old project-specific Rust reference. |
| claude/skills/architecture/solution-architect/SKILL.md | Adds predictability deliverables pointer and indexes the new reference. |
| claude/skills/ai-dev-team/SKILL.md | Updates framework description to include language skills and the exception rule. |
| claude/commands/agents.md | Updates roster guidance to include Rust/SQL language skills and routing notes. |
| claude/CLAUDE.md | Updates skill count and describes the language-skill exception. |
| claude/AGENTS.md | Mirrors CLAUDE.md updates for editors that read AGENTS.md. |
| CLAUDE.md | Updates repo-level documentation for the new skill count and structure. |
| CHANGELOG.md | Records the addition of language skills and the new predictability reference; notes removal of old Rust reference. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…E, and keep file:line evidence in the Rust injection sweep
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Language-level engineering standards (Rust; SQL across Postgres/MySQL/Oracle/SQLite) existed only as one role's stack references — so they loaded only when that role was explicitly invoked, and the only Rust reference was written around one private project, violating the repo's own universal-knowledge rule. There was no dialect-level SQL material at all, and no Rust or SQL review pass for /rev. Separately, architecture approvals produced no artifact that made failure modes and test cases explicit before implementation.
What changed
claude/skills/development/languages/with two knowledge skills that auto-load from context via their frontmatter descriptions — no persona, no slash command:rust— SKILL.md (ten blocking standards) + nine references: toolchain/lints as checked-in policy, dependencies/supply chain, ownership-driven architecture, error doctrine with a failure-table method, tokio task ownership and cancellation, rusqlite embedding, testing doctrine, boundary security, and a reviewer pass.sql— SKILL.md (ten core standards, dialect router, altitude contract, scratch-container empirical check) + dialect references for PostgreSQL 18, MySQL 8.4/9.7, Oracle 26ai, SQLite, and a reviewer pass./archgainsreferences/design-for-predictability.md— the ARCH_APPROVED deliverables produced before implementation: boundary contract sheets, state tables with no blank cells, lightweight FMEA, a test-case table (negative rows ≥ positive rows), blast-radius notes, declared extension points; proportional to the track.references/rust.mdis deleted; /dba gains a dialect-depth router; /rev's language-review index gains the Rust and SQL passes; /jorge indexes the new reference.ai-dev-teamskill and its CLAUDE/AGENTS mirrors,disambiguation.md,commands/agents.md, README, and the skill-extension guide.Review
A high-effort review of the diff surfaced ten confirmed defects — including a backfill template invalid on two dialects, a mis-gated MySQL INSTANT DDL row, a wrong Postgres rewrite claim, a review grep that could not distinguish documented from undocumented
unsafe, and a workflow-trigger claim contradictingworkflow.yaml— all fixed in the final commit.Tests
python3 scripts/validate-framework.py— all seven gates pass (G3: skills=40, commands=50, templates=6).claude plugin validate ./claude— passes../install.sh --dry-run --editors=all --scope=project --yes— passes.