Expert-system shells are discussed as very-high-level programming languages for knowledge engineering. Based on a category/domain distinction for expert systems the concept of expert-system shells is explained using seven classifications. A proposal for a shell-development policy is sketched. The conclusions express concern about overemphasis on shell surfaces