AgentStack
SKILL verified MIT Self-run

Milestone Status Extractor

skill-igptai-skills-milestone-status-extractor · by igptai

Extracts the current status of every project milestone mentioned in email — what has been completed, what is in progress, what is at risk, and what is overdue. Use when a project manager needs a milestone status view from email without updating a project management tool manually. Triggers on "milestone status", "project milestones", "what milestones are complete", "milestone progress", "what's on…

No reviews yet
0 installs
10 views
0.0% view→install

Install

$ agentstack add skill-igptai-skills-milestone-status-extractor

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Milestone Status Extractor? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Milestone Status Extractor

Prerequisites

This skill needs the iGPT MCP at https://mcp.igpt.ai/.

If the MCP tools aren't available or return an auth error, tell the user to install the iGPT plugin (/plugin marketplace add igptai/skills) or add https://mcp.igpt.ai/ as a connector, then complete OAuth and say "ready". Retry once after they confirm. Never invent tokens or OAuth URLs. For deeper troubleshooting: https://raw.githubusercontent.com/igptai/skills/main/shared/mcp-guard.md


What This Skill Does

Finds every project milestone referenced in email threads, determines its current status based on the most recent email evidence, and returns a structured milestone tracker showing what is on track, at risk, or overdue.


Workflow

  1. Before calling any tool, collect these values from the user. Offer the

defaults and let the user override them; do not invent values they did not give.

  • [time_range] — what window of email to scan. The user may give this

in any form ("last 90 days", "the last 3 months", "May 2024", "since the kickoff"). Default: the last 90 days. Keep the user's natural phrasing for use in the ask input; convert to ISO dates separately for the search call.

  • [project_scope] — either "all" (default) or the name of a specific

project to focus on.

  • [projectclause] — derived. When [projectscope] is not "all", set

to " related to [projectscope]". When [projectscope] is "all", set to empty string.

  1. Call search with:
  • query: milestone deadline phase complete delivered launch release

(if [project_scope] is not "all", append the project name to the query)

  • datefrom: ISO start date derived from [timerange]
  • dateto: ISO end date derived from [timerange] (or today if open-ended)
  1. Call ask with:
  • input: Review all email threads from [timerange][projectclause]. Identify every project milestone, phase, or major deliverable mentioned. For each milestone determine: the milestone name, the target date if mentioned, the current status based on the most recent email evidence, and whether it is on track, at risk, or already delayed. Note who reported on this milestone and when.
  • output_format:

{ "strict": true, "schema": { "type": "object", "description": "Project milestone status report extracted from email threads", "additionalProperties": false, "properties": { "project": { "type": "string", "description": "Name or description of the project" }, "asof": { "type": "string", "description": "ISO8601 date when this report was generated" }, "milestones": { "type": "array", "description": "List of every project milestone found in email with current status", "items": { "type": "object", "description": "A single project milestone with its current status and evidence", "additionalProperties": false, "properties": { "milestonename": { "type": "string", "description": "Name or description of this milestone or deliverable" }, "targetdate": { "type": "string", "description": "ISO8601 target completion date, empty string if not mentioned" }, "status": { "type": "string", "description": "Current status of this milestone based on most recent email evidence", "enum": [ "completed", "ontrack", "atrisk", "delayed", "blocked", "notstarted", "unknown" ] }, "percentcomplete": { "type": "number", "description": "Estimated percentage complete based on email language, -1 if cannot be determined" }, "lastreportedby": { "type": "string", "description": "Name or role of the person who most recently reported on this milestone" }, "lastreportedon": { "type": "string", "description": "ISO8601 date of the most recent status update for this milestone" }, "statussummary": { "type": "string", "description": "Brief summary of the current situation for this milestone based on email" }, "risksorblockers": { "type": "string", "description": "Any risks or blockers affecting this milestone, empty string if none" } }, "required": [ "milestonename", "targetdate", "status", "percentcomplete", "lastreportedby", "lastreportedon", "statussummary", "risksorblockers" ] } }, "completedcount": { "type": "number", "description": "Number of milestones with completed status" }, "atriskcount": { "type": "number", "description": "Number of milestones with atrisk or delayed status" }, "overallprojectstatus": { "type": "string", "description": "Overall project health based on the milestone picture", "enum": ["ontrack", "atrisk", "delayed", "critical", "unknown"] }, "summary": { "type": "string", "description": "One or two sentence summary of milestone progress and overall project status" } }, "required": [ "project", "asof", "milestones", "completedcount", "atriskcount", "overallprojectstatus", "summary" ] } }

  1. Present overall project status first, then milestones grouped by status:

atrisk and delayed first, then ontrack, then completed. Lead with the at_risk count.

  1. Ask: "Would you like me to draft a milestone status update for

stakeholders?"

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.