AI Skill Report Card
Updating Proposal Templates
Quick Start
Update existing email_skill.py with new context variables:
Python# Locate email_skill.py and update the context dictionary context = { "Date": "15 March 2024", "RECIPIENT_ORGANIZATION": "Ministry of Education", "REFERENCE_LINE": "Proposal for Educational Technology Implementation", "OPENING_PARAGRAPH": "We are pleased to submit...", "BODY_PARAGRAPH": "Our comprehensive approach includes...", "CLOSING_PARAGRAPH": "We look forward to your response.", "PROJECT_TITLE": "Digital Learning Platform" }
Workflow
Progress:
- Check if user has pre-written content
- Collect required variables
- Update email_skill.py context
- Verify template file paths
Step 1: Content Assessment Ask: "Do you have pre-written email content? (yes/no)"
Step 2A: Custom Content Path (if yes)
- Collect: Date (dd month year), RECIPIENT_ORGANIZATION, REFERENCE_LINE
- Collect: OPENING_PARAGRAPH, BODY_PARAGRAPH, CLOSING_PARAGRAPH, PROJECT_TITLE
- Update email_skill.py with all user-provided values
Step 2B: Default Content Path (if no)
- Collect: Date, RECIPIENT_ORGANIZATION, REFERENCE_LINE, PROJECT_TITLE only
- Update email_skill.py with ARCED standard paragraphs:
- OPENING_PARAGRAPH: "We, Aureolin Research, Consultancy and Expertise Development (ARCED) Foundation, would like to take the privilege and pleasure of placing our proposal (Technical part) herewith for"
- Standard BODY_PARAGRAPH and CLOSING_PARAGRAPH
Step 3: File Update
- Modify context dictionary in email_skill.py
- Maintain DocxTemplate("../../proposal_template.docx") path
- Keep doc.save("../../proposal_final.docx") output
Examples
Example 1: Custom Content Update Input: User has pre-written content, Date: "12 April 2024", Organization: "Health Ministry" Output:
Pythoncontext = { "Date": "12 April 2024", "RECIPIENT_ORGANIZATION": "Health Ministry", "REFERENCE_LINE": "Healthcare System Modernization Proposal", "OPENING_PARAGRAPH": "We respectfully submit this comprehensive proposal...", "BODY_PARAGRAPH": "Our evidence-based methodology ensures...", "CLOSING_PARAGRAPH": "Thank you for considering our proposal.", "PROJECT_TITLE": "Digital Health Infrastructure" }
Example 2: Default ARCED Template Input: No pre-written content, Date: "08 June 2024", Organization: "Rural Development Board" Output:
Pythoncontext = { "Date": "08 June 2024", "RECIPIENT_ORGANIZATION": "Rural Development Board", "REFERENCE_LINE": "Agricultural Technology Implementation", "OPENING_PARAGRAPH": "We, Aureolin Research, Consultancy and Expertise Development (ARCED) Foundation, would like to take the privilege and pleasure of placing our proposal (Technical part) herewith for", "BODY_PARAGRAPH": "The document that follows presents our credentials, team composition, implementation strategies, offerings, and related information for the assignment. We welcome the opportunity to discuss the contents for further clarification. Should you have any queries, please do not hesitate to contact us through email, phone, or any other contact means provided below.", "CLOSING_PARAGRAPH": "Thank you for reviewing the proposal. It would be an absolute pleasure to hear back from you.", "PROJECT_TITLE": "Smart Agriculture Platform" }
Best Practices
- Always backup email_skill.py before modifications
- Use consistent date format: "dd month year" (15 March 2024)
- Keep template placeholders in {{CAPS}} format
- Test file paths exist before updating context
- Validate all required variables are present
Common Pitfalls
- Don't modify DocxTemplate or save paths in existing email_skill.py
- Don't use inconsistent date formats across updates
- Don't leave template variables empty or undefined
- Don't update wrong context dictionary if multiple exist
- Don't forget PROJECT_TITLE in both content paths