extract-formulas
Extract mathematical formulas (F-*) from requirements - calculations, algorithms, conversions. Enables autogeneration of calculation functions with tests. Use when requirements involve math, dates, percentages, or algorithms.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
extract-formulas
Skill Type: Actuator (Requirements Disambiguation) Purpose: Extract F-* formulas from REQ-* requirements Prerequisites: REQ-* requirement exists
Agent Instructions
You are extracting formulas (F-*) from requirements.
Formulas are:
- Mathematical calculations (fee = amount * rate)
- Date/time calculations (expiry = issue_time + duration)
- Conversions (celsius = (fahrenheit - 32) * 5/9)
- Algorithms (hash, scoring, ranking)
Goal: Identify formulas precise enough for code autogeneration.
F-* Categories
1. Arithmetic Formulas
F-001: Stripe processing fee
- Formula: fee = (amount * 0.029) + 0.30
- Inputs: amount (float)
- Output: fee (float, rounded to 2 decimals)
- Autogenerate: calculate_stripe_fee(amount) -> float
2. Date/Time Calculations
F-010: Token expiry time
- Formula: expiry = issue_time + (60 * 60) seconds
- Inputs: issue_time (datetime)
- Output: expiry (datetime)
- Autogenerate: calculate_token_expiry(issue_time) -> datetime
3. Percentage/Ratio Calculations
F-020: Discount amount
- Formula: discount = original_price * discount_percentage
- Inputs: original_price (float), discount_percentage (float 0.0-1.0)
- Output: discount (float, rounded to 2 decimals)
- Autogenerate: calculate_discount(price, percentage) -> float
4. Hash/Checksum Algorithms
F-030: Idempotency key
- Formula: key = SHA256(merchant_id + timestamp + amount)
- Inputs: merchant_id (str), timestamp (int), amount (float)
- Output: key (hex string, 64 chars)
- Autogenerate: generate_idempotency_key(...) -> str
Extraction Process
Identify formulas by looking for:
- Calculations: "calculate", "compute", "determine"
- Operators: +, -, *, /, %, ^
- Functions: SHA256, round, abs, max, min
- Time: "expires after", "duration", "timeout"
- Money: "fee", "tax", "discount", "total"
Output Format
[EXTRACT FORMULAS - <REQ-ID>]
Requirement: Payment processing
Formulas Extracted (3):
✓ F-001: Stripe processing fee calculation
✓ F-002: Idempotency key generation
✓ F-003: Transaction timeout calculation
Updated: docs/requirements/payments.md
Added: Formulas section with 3 F-*
✅ Formula Extraction Complete!
"Excellence or nothing" 🔥
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!