chore: move skills-plugin profile into CLAUDE.md project facts

The skills plugin dropped dev-cycle-profile.yml. Migrate this project's facts into CLAUDE.md under '## Skills plugin: project facts' and remove the profile file.
This commit is contained in:
2026-06-13 16:32:27 +02:00
parent 82d42f1b6b
commit 2e8dfd8ff9
2 changed files with 69 additions and 111 deletions
-92
View File
@@ -1,92 +0,0 @@
# AILang project profile for the ~/dev/skills/ plugin.
# Schema reference: ~/dev/skills/docs/profile-schema.md
paths:
spec_dir: docs/specs
plan_dir: docs/plans
design_ledger: design/INDEX.md
design_contracts: design/contracts
design_models: design/models
glossary: design/glossary.md
code_roots: [crates, runtime]
bench_dir: bench
public_interface: [README.md, design, docs, examples]
fieldtest_examples: examples/fieldtest
naming:
counter_dirs: [docs/specs, docs/plans, design/contracts, design/models]
policy: stable_per_directory_4digit
slug_separator: "-"
commands:
build: cargo build --workspace
test: cargo test --workspace
doc_build: cargo doc --no-deps 2>&1
regression:
- bench/check.py
- bench/compile_check.py
- bench/cross_lang.py
architect_sweeps:
- bash bench/architect_sweeps.sh
vocabulary:
cycle: milestone
subcycle: iteration
ledger_entry: contract
standing_reading:
always:
- CLAUDE.md
- design/INDEX.md
- "git log -10 --format=full"
by_role:
architect:
- design/contracts
debugger:
- "git log -5 --format=full"
bencher:
- design/models/0004-rc-uniqueness.md
- bench/run.sh
- runtime/rc.c
- runtime/bump.c
grounding-check:
- design/INDEX.md
- design/contracts
fieldtester:
- design/INDEX.md
- design/models
git:
main_sacrosanct: true
only_orchestrator_commits: true
protected_branches: [main]
issue_tracker:
kind: gitea
close_marker: "closes #N"
url: "http://192.168.178.103:3000/Brummel/AILang/issues"
list_cmd: "tea issues ls --repo Brummel/AILang --state open"
notifications:
command: "~/.claude/notify.sh"
spec_validation:
parsers:
ail:
ext: ".ail"
cmd: "ail check {file}"
ail-json:
ext: ".ail.json"
cmd: "ail check {file}"
ll:
ext: ".ll"
cmd: "llvm-as {file} -o /dev/null"
pipeline:
brainstorm: { gates: [planner] }
planner: { gates: [implement] }
implement: {}
audit: { mandatory_at: cycle_close }
debug: { trigger: bug, red_first: true }
boss: { user_invoked: true }
fieldtest: { boss_only: true, when: surface_touch }
docwriter: { boss_only: true, when: api_stable_across_n_cycles }
+69 -19
View File
@@ -4,8 +4,9 @@ repos, commit convention, issue-tracker vocabulary). This file
carries only AILang-specific decisions on top — the language carries only AILang-specific decisions on top — the language
identity, code layout, file-naming convention, the identity, code layout, file-naming convention, the
project-calibrated orchestrator discipline (the skill system project-calibrated orchestrator discipline (the skill system
itself lives in the `~/dev/skills/` plugin and is wired into itself lives in the `~/dev/skills/` plugin and reads the few
this project via `.claude/dev-cycle-profile.yml`), and the per-project facts it needs from the "Skills plugin: project
facts" section at the bottom of this file), and the
LLM-utility feature gate. LLM-utility feature gate.
## AILang — a language for LLM authors ## AILang — a language for LLM authors
@@ -61,7 +62,6 @@ most likely a revert, not a redesign.
| `examples/` | AILang fixtures used by tests and benches | | `examples/` | AILang fixtures used by tests and benches |
| `design/` | The canonical contract ledger — `design/INDEX.md` (sole addressable spine: a typed Contracts + Models table), `design/contracts/` (prose-authoritative test-linked invariants), `design/models/` (onboarding whitepapers). Files under `contracts/` and `models/` follow the counter-prefix convention (see "File-naming convention" below). | | `design/` | The canonical contract ledger — `design/INDEX.md` (sole addressable spine: a typed Contracts + Models table), `design/contracts/` (prose-authoritative test-linked invariants), `design/models/` (onboarding whitepapers). Files under `contracts/` and `models/` follow the counter-prefix convention (see "File-naming convention" below). |
| `docs/` | Specs and plans — `docs/specs/` (per-milestone design specs), `docs/plans/` (per-iteration plans), `PROSE_ROUNDTRIP.md`. Files under `specs/` and `plans/` follow the counter-prefix convention (see "File-naming convention" below). Project history lives in `git log`; the forward queue lives in Gitea issues (see "Roles" section below). | | `docs/` | Specs and plans — `docs/specs/` (per-milestone design specs), `docs/plans/` (per-iteration plans), `PROSE_ROUNDTRIP.md`. Files under `specs/` and `plans/` follow the counter-prefix convention (see "File-naming convention" below). Project history lives in `git log`; the forward queue lives in Gitea issues (see "Roles" section below). |
| `.claude/dev-cycle-profile.yml` | Project profile consumed by the `~/dev/skills/` plugin — declares paths, commands, vocabulary, naming policy, issue tracker, and pipeline customisations. See `~/dev/skills/docs/profile-schema.md` for the slot reference. |
## File-naming convention ## File-naming convention
@@ -97,17 +97,17 @@ ordering.
Day-to-day discipline lives in the `~/dev/skills/` plugin — Day-to-day discipline lives in the `~/dev/skills/` plugin —
generic SKILL.md files at `~/dev/skills/<name>/SKILL.md`, generic SKILL.md files at `~/dev/skills/<name>/SKILL.md`,
agents under `~/dev/skills/<name>/agents/<agent>.md`. The agents under `~/dev/skills/<name>/agents/<agent>.md`. The
plugin reads project-specific slots (paths, commands, plugin reads the few project-specific facts it needs (code
vocabulary, naming, issue tracker, pipeline customisations) roots, build/test commands, design-ledger paths, issue
from this project's profile at tracker, by-role standing reading, spec-validation parsers)
`.claude/dev-cycle-profile.yml`. See `~/dev/skills/README.md` from the "Skills plugin: project facts" section at the bottom
for the skill table and `~/dev/skills/docs/profile-schema.md` of this file. See `~/dev/skills/README.md` for the skill table
for the slot schema. Skills are sharper tools, not a and `~/dev/skills/docs/conventions.md` for the fixed
replacement for orchestrator judgement. conventions. Skills are sharper tools, not a replacement for
orchestrator judgement.
Specs go to `docs/specs/<milestone>.md`, plans to Specs go to `docs/specs/<milestone>.md`, plans to
`docs/plans/<iteration>.md` — both per `paths.spec_dir` / `docs/plans/<iteration>.md`.
`paths.plan_dir` in the profile.
Autonomous orchestrator mode — picking the next iter from Autonomous orchestrator mode — picking the next iter from
the Gitea issue backlog and looping until done-state — is the Gitea issue backlog and looping until done-state — is
@@ -184,7 +184,8 @@ needs it. Concretely:
- Adjust an agent's mandatory reading list (in - Adjust an agent's mandatory reading list (in
`~/dev/skills/<skill>/agents/<agent>.md`, or per-project via `~/dev/skills/<skill>/agents/<agent>.md`, or per-project via
`standing_reading.by_role.<agent>` in this project's profile). the by-role standing-reading table in the "Skills plugin:
project facts" section below).
- Tighten an agent or skill output format if reports are - Tighten an agent or skill output format if reports are
getting verbose. getting verbose.
- Add a new skill when a recurring meta-pattern doesn't fit - Add a new skill when a recurring meta-pattern doesn't fit
@@ -195,7 +196,7 @@ needs it. Concretely:
Plugin edits are universal (every project that consumes the Plugin edits are universal (every project that consumes the
plugin sees them). Edits that are only relevant to AILang go plugin sees them). Edits that are only relevant to AILang go
in the profile or in this CLAUDE.md, not in the plugin. in this CLAUDE.md, not in the plugin.
Skill and agent definitions are versioned files like any other Skill and agent definitions are versioned files like any other
code — changes go through git in `~/dev/skills/`, with a code — changes go through git in `~/dev/skills/`, with a
@@ -257,14 +258,13 @@ Work clusters into **milestones**, each subdivided into
**iterations**. Pipeline (`brainstorm → plan → implement → **iterations**. Pipeline (`brainstorm → plan → implement →
audit → fieldtest`), skipping rules, and exit-code gating audit → fieldtest`), skipping rules, and exit-code gating
live in `~/dev/skills/README.md` and the per-skill `SKILL.md` live in `~/dev/skills/README.md` and the per-skill `SKILL.md`
files; this project's pipeline configuration is in files.
`.claude/dev-cycle-profile.yml` under `pipeline:`.
Vocabulary note: pre-2026-05-09 git history uses "iter" / Vocabulary note: pre-2026-05-09 git history uses "iter" /
"family"; current vocabulary is "iteration" / "milestone". "family"; current vocabulary is "iteration" / "milestone".
Old commits are not retroactively renamed. The plugin uses Old commits are not retroactively renamed. The fixed plugin
"cycle" / "iteration" as generic vocabulary; this project's terms cycle / iteration / milestone / contract apply across
profile maps `cycle: milestone`. all projects.
## Roles of the `design/` ledger, `git log`, Gitea issues, `docs/specs/`, `docs/plans/` ## Roles of the `design/` ledger, `git log`, Gitea issues, `docs/specs/`, `docs/plans/`
@@ -320,3 +320,53 @@ Walk procedure: for each milestone-scope commit-range arm
landed in these files (use `git diff <prev-close>..HEAD --` on landed in these files (use `git diff <prev-close>..HEAD --` on
each file in the pair), open both files in the pair and confirm each file in the pair), open both files in the pair and confirm
the matching update is present. Flag any unpaired arm as drift. the matching update is present. Flag any unpaired arm as drift.
## Skills plugin: project facts
The few facts the `~/dev/skills/` plugin needs that genuinely vary per
project. Everything else is a fixed convention (see
`~/dev/skills/docs/conventions.md`).
- **Code roots** — `crates`, `runtime`
- **Build** — `cargo build --workspace`
- **Test** — `cargo test --workspace`
- **Doc build** — `cargo doc --no-deps 2>&1`
- **Regression scripts** — `bench/check.py`, `bench/compile_check.py`,
`bench/cross_lang.py`
- **Architect sweeps** — `bash bench/architect_sweeps.sh`
- **Design ledger** — `design/INDEX.md`
- **Design contracts** — `design/contracts`
- **Design models** — `design/models`
- **Glossary** — `design/glossary.md`
- **Bench dir** — `bench`
- **Public interface** — the *only* surface the `fieldtester` may read
(everything else, especially code roots and bench, is forbidden to
it): `README.md`, `design`, `docs`, `examples`
- **Fieldtest examples** — `examples/fieldtest`
- **Spec-validation parsers** — fence-label → parser table the `specify`
parse-gate and `grounding-check` use to validate spec code blocks. A
block whose label has no entry is a documented skip, never a silent
pass.
| Fence label | Temp ext | Command |
|-------------|-------------|---------|
| `ail` | `.ail` | `ail check {file}` |
| `ail-json` | `.ail.json` | `ail check {file}` |
| `ll` | `.ll` | `llvm-as {file} -o /dev/null` |
- **By-role standing reading** — extra files/commands a specific agent
role reads on every dispatch, beyond the universal always-list
(`CLAUDE.md` + `git log -10`).
| Role | Reads also |
|------|------------|
| architect | `design/contracts` |
| debugger | `git log -5 --format=full` |
| bencher | `design/models/0004-rc-uniqueness.md`, `bench/run.sh`, `runtime/rc.c`, `runtime/bump.c` |
| grounding-check | `design/INDEX.md`, `design/contracts` |
| fieldtester | `design/INDEX.md`, `design/models` |
- **Issue tracker** — Gitea, repo `Brummel/AILang`.
- browse: `http://192.168.178.103:3000/Brummel/AILang/issues`
- list open issues:
`tea issues ls --repo Brummel/AILang --state open`