
contract-delivery-kickoff
Prepare the first working session with a contracted supplier against a fixed day budget: reads the agreed offer or contract, then builds a branded session workbook whose day-budget sheet totals against the contracted ceiling, an internal prep brief, a supplier agenda and a post-session note template. Use for kick-off or delivery-session prep with a supplier, or day-budget splits over a signed offer. Distinct from tor-procurement (writes the ToR), selection-toolkit (panel scoring), procurement-offer-review (one incoming offer), implementation-pack (donor grants IPPF receives), and meeting-notes mode 2 (1-1 prep).
- Installs
- 110
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/gasserane/personal-skills --skill contract-delivery-kickoff- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads contract-delivery-kickoff automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
/contract-delivery-kickoff — the session that sets the ceiling
One job: a contract is signed, work is about to start, and the first session decides how a fixed number of days gets spent. /tor-procurement wrote the ToR, selection-toolkit ran the award. This is what happens after signature.
Why this exists
A delivery contract does not fail loudly. It drifts. The first session walks an issue list, agrees to everything reasonable on it, and the overrun surfaces in month five when the last tranche has no days left. The reference run is the Abortion Dashboard Phase II session of 12 June 2026: 9 technical and 4 coordination days against 14 contracted components, done entirely by hand.
So the deliverable is the arithmetic. The prep brief and the agenda are how the arithmetic reaches the room. If you produce beautiful documents and no day budget, you have built nothing.
The rule that governs everything here
Nothing is invented. Every contracted day, every rate, every tranche comes from the contract or is reported as a gap for Ane to resolve. A day rate read off a similar contract is indistinguishable from a real one once it is in a cell, and the session commits money against it. read never fills a gap; build refuses while _gaps survives; validate_spec refuses a real hole afterwards, so deleting the gap list smuggles nothing through.
The five moves this encodes
All five are proven on the 12 June 2026 session. They are not style preferences; each one closes a way the session goes wrong.
- Split every item into lanes. Content the client owns (final text, labels, definitions, files) costs the supplier almost nothing once handed over. Build work costs days, and there are few. The lane split is usually the cheapest scope win in the hour.
- Agree the cap before the walkthrough. The workbook puts
01 Day budgetbefore02 Triagefor this reason, which reverses the hand-built version. A list of 14 plausible items read first answers "what fits in 9 days" against the list instead of against the contract. - Ask for estimates on every tranche in session one, not only the one starting now. A tranche with no estimate is not a tranche with no cost. The workbook writes
not pricedwhere a zero would have gone, and the engine keeps it asNoneso it cannot hide inside a total. - Name the protected items first. A do-no-harm, credibility or compliance defect survives the cap; it does not compete for it. Saying so before the trade-offs start stops the trade being offered.
- Check signature status before anything else. An unsigned contract means no expenditure can be committed, and it usually means the first contractual deliverable has already slipped.
validate_specrefuses a spec whose signature status is unknown, so this cannot be skipped by omission.
Where the code lives
All Office work is in ane_package. This skill contributes judgement, not plumbing.
ane_package.reporting.delivery_kickoff— the spec, the day-budget engine, the workbook builder.ane_package.reporting.markdown_docx— renders the markdown artefacts as branded Word.ane_package.officeops.extract—document_tablesreads the contract's budget table as a grid that keeps its blanks;extract_textreads the prose.scripts/contract_kickoff.py— the driver: budget-table detection, number parsing, signature reading, spec assembly, artefact text, verification.
The boundary, so it does not get relitigated: anything that opens an Office file belongs in the module. Exactly one function in the driver opens a document, load_document, and a test asserts that it stays exactly one. Everything downstream takes objects, which is why the whole parser is tested without a single .docx fixture.
Read references/officeops-excel-api.md (in office-repair) before writing any Office code, and references/session-moves.md here for how to run the hour.
Running it
1. Read the contract
python scripts/contract_kickoff.py read "Agreed offer.docx" \
--supplier "Supplier A" --contract "Phase II delivery" \
--out kickoff-spec.json
Prints the contracted roles it found, the tranches, the candidate items, and every gap. Take the gaps to Ane. The common ones, in order of how often they appear:
- Signature status. An offer almost never states whether it was countersigned. This gap is close to guaranteed, and it is move 5 doing its job rather than a parser failure.
- Day splits per tranche. A contract names its tranches and rarely prices them separately. That is the question for session one.
- Lane and severity on every item. A parser cannot tell client content from supplier build, and an item wrongly marked
Client, contentreads as free when it is not. These are set with Ane, never guessed.
2. Fill the spec with Ane, then delete _gaps
The spec file is the audit trail for "why does this contract have 9 days". Keep it beside the pack.
3. Build
python scripts/contract_kickoff.py build kickoff-spec.json --out "Session 1"
Writes the workbook plus PREP-brief.md, AGENDA-to-supplier.md and NOTE-template.md, each rendered to branded Word. Markdown is canonical. Edit the .md and re-run; never edit the .docx and expect it to survive a rebuild.
build also runs the contract's own proposal through the engine and reports whether it fits its own ceiling. A contract proposing 10 days against 9 bought has a problem no session can negotiate away, and finding that out while drafting the agenda is much cheaper than finding it out in the room.
build refuses to overwrite an existing workbook. Once it has been used in a session, the estimates and decisions in it exist nowhere else.
4. Verify by execution
python scripts/contract_kickoff.py verify "Session 1" --spec kickoff-spec.json
Copies the workbook, injects sample day figures through Excel COM, forces a full recalculation, and asserts the numbers Excel produces against the same Python engine the formulas were written from, plus zero formula-error cells.
A workbook that looks right and calculates wrong is the failure mode here. Reading a formula back proves only that the formula you wrote is the formula you wrote. Verification runs on a copy, so sample data never lands in a live contract record.
If Excel is unavailable the command exits 2 and says the workbook was not verified. Report that as unverified. Do not present an unverified workbook as checked.
5. Commit the output
The edit-preservation guard cannot see Excel COM or openpyxl writes, so it flags the emitted files as hand-edited. Commit them as the final step rather than leaving them dirty.
What the workbook holds
00 Guide (signature status first, then how to run the hour, then the severity and lane vocabularies), 01 Day budget (per role: tranches, days proposed against days agreed, hours, share, value, then total, contracted and remaining, with the lane split computed live from the triage sheet), 02 Triage (one row per candidate item, with the columns the session fills shaded), 03 Decision log, 98 REF (the contracted parameters, so the audit trail travels with the file).
Things that will bite
- A contract in another language. Budget-table headers, rate words and signature wording are matched accent-blind across English, French, Spanish, Romanian and German. An English-only guard finds no budget table in a French offer and reports a gap that is a fact about the parser, not about the document. This has bitten on three consecutive waves.
1.234is one thousand two hundred and thirty-four, in four of the five languages above. Reading it as 1.234 turns a day rate into pocket change and the whole budget silently becomes nonsense.parse_numberinfers the convention from the separators actually present rather than assuming one.- A total row is not a resource line. Reading it as one doubles the contracted days, and the resulting ceiling is generous enough that nothing ever looks over budget.
Noneand0.0are not the same day count. A tranche nobody has priced and a tranche priced at zero are indistinguishable inside a total, and the first is what sinks the contract. The engine propagatesNone; the workbook writesnot priced.- The early warning fires while the budget is still positive. A bucket whose agreed days exceed the contract's own proposal by more than 1.5x raises a signal even when the total is still under the ceiling. A constraint that only signals once breached signals too late, which is the failure this skill exists to prevent.
- The agenda goes to the supplier. The signature warning, the protected-items list and Ane's reading of where the contract is weak stay in the prep brief. A test asserts they do not leak.
- Ask for the estimate before saying what you want. Naming the outcome first anchors the number, and the anchored number is the one the whole budget is then built on.
Where this does not go
It does not write the ToR (/tor-procurement), run the award panel (selection-toolkit), analyse a single incoming offer (procurement-offer-review), or track a donor grant IPPF receives (implementation-pack). It does not manage the contract after session one, and it does not decide what comes out of scope. It builds the instrument and does the arithmetic; Ane and the supplier decide.
FAQ
What does the contract-delivery-kickoff skill do?
Prepare the first working session with a contracted supplier against a fixed day budget: reads the agreed offer or contract, then builds a branded session workbook whose day-budget sheet totals against the contracted ceiling, an internal prep brief, a supplier agenda and a post-session note template. Use for kick-off or delivery-session prep with a supplier, or day-budget splits over a signed offer. Distinct from tor-procurement (writes the ToR), selection-toolkit (panel scoring), procurement-offer-review (one incoming offer), implementation-pack (donor grants IPPF receives), and meeting-notes mode 2 (1-1 prep).
How do I install contract-delivery-kickoff?
Run npx skills add https://github.com/gasserane/personal-skills --skill contract-delivery-kickoff in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/contract-delivery-kickoff/ (personal) or .claude/skills/contract-delivery-kickoff/ (project).
Which AI agents can use contract-delivery-kickoff?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is contract-delivery-kickoff safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains contract-delivery-kickoff?
It is published by gasserane in gasserane/personal-skills. It has 110 recorded installs.
More from gasserane/personal-skills
journal-reflection
gasserane/personal-skills
Guide Ane through structured reflection at end of day, end of week, after a decision, or after new learning material, producing Obsidian-compatible markdown and writing to the vault journal when the path is reachable. Use on 'journal', 'reflect on today', 'weekly review', 'after-action review', or asks that reference writing to the Obsidian vault. For a quick 4-line post-deliverable capture use /learned instead.
evidence-synthesis
gasserane/personal-skills
Conduct a rigorous rapid evidence assessment or systematic-lite literature review for MEL/SRHR questions. Use when Ane asks for "evidence review", "literature review", "evidence synthesis", "REA", "what does the evidence say", "what do we know about", or similar. Produces a structured brief with question framing, method, findings by theme, confidence grading, and implications for programme or evaluation design. Does not invent citations.
daily-brief
gasserane/personal-skills
Produce a scannable morning briefing for Ane (Senior MEL/SRHR Specialist at IPPF). Use when the user asks for "daily brief", "morning briefing", "start of day", "what's on today", "plan my day", or similar. Assembles today's priority, calendar, overdue items, pending decisions, and an energy check. Operates on user-provided inputs by default; richer when calendar/email MCP servers are connected.
decision-memo
gasserane/personal-skills
Draft a structured decision memo for Ane. Use when the user asks for a "decision memo", "decision doc", "options paper", "recommendation brief", or equivalent. Produces a scannable document with context, options, recommendation, risks, and reversibility. Applies Ane's CLAUDE.md writing style automatically.
video-content-analysis
gasserane/personal-skills
Convert FGD/webinar/SBCC video files into a structured artefact pack (transcript, frames, manifest, Tier 1 BLUF summary) the existing MEL specialists can consume. Use when Ane asks to "analyse a video", "transcribe a focus group", "process a webinar recording", "summarise a meeting recording", or runs /analyze-video . Tiered transcription (local Whisper for sensitive; M365 Stream for internal/public). Privacy + consent validated by construction. Per-run feedback prompt feeds the self-improvement loop.
power-bi-build
gasserane/personal-skills
Build IPPF-branded Power BI artefacts from analytical input. Use when Ane asks to build, scaffold, or update a Power BI dashboard, semantic model, DAX measures, or .pbip project. Applies IPPF Visual Identity 2025 brand, MEL-standard DAX measures, and three standard page recipes (indicator dashboard, equity disaggregation, methodology card). Requires the pbi CLI (pbi-cli-tool, command name pbi) installed and Power BI Desktop running with a .pbip open.
Popular business & finance skills
sales-enablement
coreyhaines31/marketingskills
When the user wants to create sales collateral, pitch decks, one-pagers, objection handling docs, or demo scripts. Also use when the user mentions 'sales deck,' 'pitch deck,' 'one-pager,' 'leave-behind,' 'objection handling,' 'deal-specific ROI analysis,' 'demo script,' 'talk track,' 'sales playbook,' 'proposal template,' 'buyer persona card,' 'battle card,' 'battlecard,' 'competitive one-pager,' 'win-loss analysis,' 'why are we losing deals,' 'loss reasons,' 'how do I respond to this objection,' 'prospect just said,' 'help my sales team,' 'sales materials,' or 'what should I give my sales reps,' 'cold call script,' or 'voicemail script.' Use this for any document or asset that helps a sales team close deals. For public competitor comparison pages, see competitors. For running buyer interviews or churn research, see customer-research. For marketing website copy, see copywriting. For cold outreach emails, see cold-email. For the offer being sold (bonuses, guarantees, pricing structure),
revops
coreyhaines31/marketingskills
When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes. Also use when the user mentions 'RevOps,' 'revenue operations,' 'lead scoring,' 'outbound pipeline stages,' 'lead routing,' 'MQL,' 'SQL,' 'pipeline stages,' 'deal desk,' 'CRM automation,' 'marketing-to-sales handoff,' 'data hygiene,' 'leads aren't getting to sales,' 'pipeline management,' 'lead qualification,' or 'when should marketing hand off to sales.' Use this for anything involving the systems and processes that connect marketing to revenue. For cold outreach emails, see cold-email. For email drip campaigns, see emails. For pricing decisions, see pricing.
sales-funnel-blueprint
autonnel/autonnel-skills
Turn an offer into a concrete multi-step sales funnel spec - page-by-page structure, price ladder, copy outline and the metrics each step must hit. Use when asked to build a sales funnel, marketing funnel, landing page flow, lead magnet funnel, webinar funnel, tripwire or VSL funnel, when planning a product launch page flow, or when someone asks "what pages do I need" for selling something online.
pricing
coreyhaines31/marketingskills
When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' 'monetization,' 'how much should I charge,' 'my pricing is wrong,' 'pricing page,' 'annual vs monthly,' 'per seat pricing,' 'should I offer a free plan,' 'pricing page teardown,' 'pricing page audit,' 'is my pricing page AI-readable,' or 'can AI read my pricing.' Use this whenever someone is figuring out what to charge, how to structure their plans, or wants to audit a pricing page (for humans and for the AI agents that shortlist tools). For in-app upgrade screens, see paywalls. For offer construction (bonuses, guarantees, value framing, naming) on services/courses/coaching/high-ticket B2B, see offers.
cross-border-ecommerce
nexscope-ai/ecommerce-skills
Cross-border e-commerce expansion advisor. Scores target markets on 8 weighted dimensions (market size, ecommerce penetration, competition, regulatory complexity, logistics infrastructure, payment ecosystem, cultural distance, IP protection), compares 5 fulfillment models with cost and transit data, provides country-by-country tax/duty compliance guides (EU VAT/IOSS, UK VAT, US sales tax, CA GST, AU GST, JP consumption tax), maps local payment preferences by market, and builds a phased expansion roadmap. No API key required.
pricing-strategy
coreyhaines31/marketingskills
When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' 'monetization,' 'how much should I charge,' 'my pricing is wrong,' 'pricing page,' 'annual vs monthly,' 'per seat pricing,' or 'should I offer a free plan.' Use this whenever someone is figuring out what to charge or how to structure their plans. For in-app upgrade screens, see paywall-upgrade-cro.