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
identity, code layout, file-naming convention, the
project-calibrated orchestrator discipline (the skill system
itself lives in the `~/dev/skills/` plugin and is wired into
this project via `.claude/dev-cycle-profile.yml`), and the
itself lives in the `~/dev/skills/` plugin and reads the few
per-project facts it needs from the "Skills plugin: project
facts" section at the bottom of this file), and the
LLM-utility feature gate.
## 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 |
| `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). |
| `.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
@@ -97,17 +97,17 @@ ordering.
Day-to-day discipline lives in the `~/dev/skills/` plugin —
generic SKILL.md files at `~/dev/skills/<name>/SKILL.md`,
agents under `~/dev/skills/<name>/agents/<agent>.md`. The
plugin reads project-specific slots (paths, commands,
vocabulary, naming, issue tracker, pipeline customisations)
from this project's profile at
`.claude/dev-cycle-profile.yml`. See `~/dev/skills/README.md`
for the skill table and `~/dev/skills/docs/profile-schema.md`
for the slot schema. Skills are sharper tools, not a
replacement for orchestrator judgement.
plugin reads the few project-specific facts it needs (code
roots, build/test commands, design-ledger paths, issue
tracker, by-role standing reading, spec-validation parsers)
from the "Skills plugin: project facts" section at the bottom
of this file. See `~/dev/skills/README.md` for the skill table
and `~/dev/skills/docs/conventions.md` for the fixed
conventions. Skills are sharper tools, not a replacement for
orchestrator judgement.
Specs go to `docs/specs/<milestone>.md`, plans to
`docs/plans/<iteration>.md` — both per `paths.spec_dir` /
`paths.plan_dir` in the profile.
`docs/plans/<iteration>.md`.
Autonomous orchestrator mode — picking the next iter from
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
`~/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
getting verbose.
- 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 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
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 →
audit → fieldtest`), skipping rules, and exit-code gating
live in `~/dev/skills/README.md` and the per-skill `SKILL.md`
files; this project's pipeline configuration is in
`.claude/dev-cycle-profile.yml` under `pipeline:`.
files.
Vocabulary note: pre-2026-05-09 git history uses "iter" /
"family"; current vocabulary is "iteration" / "milestone".
Old commits are not retroactively renamed. The plugin uses
"cycle" / "iteration" as generic vocabulary; this project's
profile maps `cycle: milestone`.
Old commits are not retroactively renamed. The fixed plugin
terms cycle / iteration / milestone / contract apply across
all projects.
## 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
each file in the pair), open both files in the pair and confirm
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`