Skip to content

Demo: 4 skills built by the agent team

From the project root:

claude

Then in natural language, tell it what skill you need. The Lead detects ambiguities and asks before starting.


Input prompt:

I need a skill to create a VM on Google Cloud with Terraform.

What happened:

The Lead asked about the instance type and region before starting. With that information, it launched the Investigator to search the official Terraform documentation for Google Cloud.

Phase 2 — The debate:

  • The Architect wrote the SKILL.md with the google_compute_instance resource and all network dependencies
  • The Reviewer found a real bug: a network argument Terraform would have rejected at runtime
  • The Architect fixed it and the Reviewer approved on the second review

Phase 3 — Optimization: The Optimizer compressed the skill from 247 to 157 lines, removing 5 blocks of context Claude already knows about Terraform.

Result:

✅ Validation passed: 0 errors, 0 warnings
✅ Skill published to portal: gcp-vm-terraform
📥 Installed locally at: ~/.claude/skills/gcp-vm-terraform/

Input prompt:

I need a skill to create an S3 bucket with boto3.

What happened:

The Lead didn’t ask — the scope was clear enough to start with placeholders (<BUCKET_NAME>, <REGION>, <AWS_PROFILE>).

The Investigator searched the official boto3 documentation (boto3.amazonaws.com). It documented the exact methods for bucket creation, public access block configuration and verification.

Team debate:

  • The Reviewer questioned whether the skill correctly handled the region difference (us-east-1 doesn’t accept LocationConstraint, other regions do)
  • The Architect added the conditional logic
  • The Optimizer removed explanatory comments about what a bucket is and what boto3 is — Claude already knows

Result:

✅ Validation passed: 0 errors, 1 warning (References section)
✅ Skill published to portal: aws-s3-boto3

Input prompt:

I need a skill to create Google Workspace groups with GAM.

What happened:

The Lead asked whether the groups should include permission configuration or just basic creation — the scope was ambiguous.

The Investigator consulted the official GAM CLI documentation and documented the exact commands for group creation, send permission configuration and member addition.

Debate:

  • The Reviewer detected that handling the case where a group already exists was missing
  • The Architect added the preliminary check with gam info group <GROUP_EMAIL>
  • On the second review, the Reviewer approved with no new objections

Result:

✅ Validation passed: 0 errors, 0 warnings
✅ Skill published to portal: gam-create-group

Input prompt:

I need a skill to create and verify an email identity in Amazon SES.

What happened:

The Investigator searched the official AWS CLI v2 documentation for SES v2. It documented the full flow: create-email-identity, DKIM status verification and expected propagation time.

Debate:

  • The Reviewer pointed out the skill didn’t cover the case of an already existing identity (PENDING_VERIFICATION vs SUCCESS status)
  • The Architect added status verification logic before creating
  • The Optimizer compressed by removing the explanation of what DKIM is — Claude already knows

Result:

✅ Validation passed: 0 errors, 0 warnings
✅ Skill published to portal: aws-ses-email-identity

After the 4 demos, the Hermit portal shows all available skills:

curl -s http://localhost:8080/api/v1/skills \
-H "Authorization: Bearer $HERMIT_TOKEN" | jq '.[] | {name, description}'
[
{"name": "gcp-vm-terraform", "description": "Creates a VM on Google Cloud..."},
{"name": "aws-s3-boto3", "description": "Creates an S3 bucket..."},
{"name": "gam-create-group", "description": "Creates a Google Workspace group..."},
{"name": "aws-ses-email-identity", "description": "Verifies an email identity in SES..."}
]

In a new Claude Code session (no prior context), Claude detects the portal skills and picks the right one based on the task description:

> I need to create an S3 bucket to store application logs.

Claude selects aws-s3-boto3 automatically — without the user saying which skill exists or which one to use.

See the full system architecture