docs: protected void _generate(SarlSkill skill, IExtraLanguageGeneratorContext context) {
  		final JvmDeclaredType jvmType = getJvmModelAssociations().getInferredType(skill);
  		final PyAppendable appendable = createAppendable(jvmType, context);
  
  		List<JvmTypeReference> superTypes = getSuperTypes(skill.getExtends(), skill.getImplements());
  		if (superTypes.isEmpty()) {
  			superTypes = Collections.singletonList(getTypeReferences().getTypeForName(Skill.class, skill));
  		}
  		final String qualifiedName = this.qualifiedNameProvider.getFullyQualifiedName(skill).toString();
  		if (generateTypeDeclaration(
  				qualifiedName,
  				skill.getName(), skill.isAbstract(), superTypes,
  				getTypeBuilder().getDocumentation(skill),
  				true,
  				skill.getMembers(), appendable, context, (it, context2) -> {
  				generateGuardEvaluators(qualifiedName, it, context2);
  			})) {
  			final QualifiedName name = getQualifiedNameProvider().getFullyQualifiedName(skill);
  			writeFile(name, appendable, context);
  		}
  	}