AgentSkillsCN

sparkgen-generate

从 Cookiecutter 模板中生成一个新的 SparkGen-AWS 项目

SKILL.md
--- frontmatter
name: sparkgen-generate
description: Generate a new SparkGen-AWS project from the cookiecutter template
user_invokable: true
auto_invokable: false
arguments: "[project_name] [--mode local|docker|aws] [--agents 1-4] [--rag yes|no] [--provider bedrock|ollama|openai]"

SparkGen Generate

Generate a new project from the SparkGen-AWS cookiecutter template.

Dynamic Context

Before generating:

  1. Read cookiecutter.json to understand all available template variables
  2. Check cookiecutter is installed: cookiecutter --version
  3. Determine output directory (default: current working directory)

Actions

Generate Project

Map the user's arguments to cookiecutter variables:

Argumentcookiecutter VariableDefault
project_nameproject_name"My SparkGen AWS Agent"
--modedeployment_mode"all"
--agentsnum_agents"4"
--ragenable_rag"yes"
--providerllm_provider"bedrock"

Build the cookiecutter command with --no-input and variable overrides:

bash
cookiecutter . --no-input \
  project_name="<name>" \
  deployment_mode="<mode>" \
  num_agents="<N>" \
  enable_rag="<yes|no>" \
  llm_provider="<provider>"

Post-Generation Verification

After generating:

  1. Verify output directory exists: ls <output_slug>/
  2. Compile check: python -m compileall <output_slug>/app -q
  3. Verify key files:
    • <output_slug>/config/ai_workflow.yaml
    • <output_slug>/Makefile
    • <output_slug>/app/api.py
    • <output_slug>/.claude/skills/ (skills directory)
    • <output_slug>/CLAUDE.md
  4. Count agents in workflow: grep "^ - name:" <output_slug>/config/ai_workflow.yaml

Print Summary

code
=== Project Generated ===
Name:        <project_name>
Location:    ./<output_slug>/
Mode:        <deployment_mode>
Provider:    <llm_provider>
Agents:      <num_agents>
RAG:         <enable_rag>
Guardrails:  <enable_guardrails>

Next steps:
  cd <output_slug>
  make setup       # Install dependencies
  make local       # Start local dev server

Available skills (in generated project):
  /sparkgen-deploy    Deploy to local/docker/aws
  /sparkgen-test      Run tests
  /sparkgen-chat      Test chat
  /sparkgen-debug     Diagnose issues

Error Handling

  • If cookiecutter not installed: pip install cookiecutter
  • If output directory already exists: warn and ask to overwrite
  • If compile check fails: report Jinja2 rendering errors