Borrowing it
Nothing to install: this file belongs to Federico-Anastasi/DYLA-ai. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Federico-Anastasi/DYLA-ai/main/.agents/skills/estimate/SKILL.mdgit clone --depth 1 https://github.com/Federico-Anastasi/DYLA-aiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/federico-anastasi/dyla-ai/estimate)<a href="https://agentmods.dev/skills/federico-anastasi/dyla-ai/estimate"><img src="https://agentmods.dev/badge/skills/federico-anastasi/dyla-ai/estimate/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/federico-anastasi/dyla-ai/estimate"><img src="https://agentmods.dev/badge/skills/federico-anastasi/dyla-ai/estimate.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00038 | $0.03326 |
| Opus 5 | $0.00019 | $0.01663 |
| Sonnet 5 | $0.00008 | $0.00665 |
| Haiku 4.5 | $0.00004 | $0.00333 |
Grade A, and why
estimate scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 261 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/estimate — The estimate
Turns the brief into a work plan measured in days: epics, the tasks inside them, an end-to-end test row per epic, and a contingency.
UX: chat stays conversational. The deliverable is never presented as a markdown table
in chat — the user reads the table in the viewer next to the chat, from estimate.json.
In chat you discuss it in words, referring to tasks by id and name (e.g. "E2.T3, the
detail view"): the id alone is unreadable, the name is what makes the sentence land. In
the other direction the user does not have to type ids: every row in the viewer has a
chat icon that sends you a ready-made [REFERENCE] with their question — point them at
that button when they are vague about which row they mean. When you cite a chapter of the
brief, write [[brief:Chapter title]]: it renders as a clickable reference that opens the
document at that point.
PROTOCOL
- Read context.md — is there a data model? Has the Q&A been done?
- Read the brief
- If the estimate already exists: ask "The estimate already exists. Regenerate it, or edit it?"
- If there is no Q&A: run the Q&A (BLOCKING)
- If there is no data model: carry on, but say so — "estimating without a validated data model, so this will be rougher"
- Build the estimate (see PHASE 3)
- Write estimate.json straight away with
meta.status: "draft"(validated againstschemas/estimate.schema.json) - Present a conversational summary of the draft (BLOCKING — wait for confirmation or edits)
- On confirmation: set
meta.status: "confirmed" - Update context.md
- Check consistency
PHASE 1 — READING
Read ALL of these before you go on:
- the brief:
projects/{project}/brief.json, or the input document (brief.md, or its extracted text under.extracted/if it is a PDF or a Word file) projects/{project}/meetings/*— if the project source isdiscovery: the real requirements are in the transcripts before they are in the briefprojects/{project}/docs/*— client documents (md, pdf, docx, xlsx, images; binaries have their text extracted under.extracted/)projects/{project}/context.mdprojects/{project}/data_model.json— if it existsprojects/{project}/estimate.json— if it existsknowledge/— if the folder exists: your own estimation rules, per-component baselines, team calibration, client conventions. Seeestimation-rules.mdnext to this file for how to put them there
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 261 lines · 38 tokens per session scan A aadd0311c839
estimate is a skill published in the GitHub repository Federico-Anastasi/DYLA-ai (2 stars, last pushed 1mo ago), licensed MIT. It adds 38 tokens to every session and 3,326 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
onboard
Interviews someone about a software project as a whole — the problem it solves, who it serves, what is in and out of scope, the hard constraints, and the domain vocabulary — and writes it up as a project constitution that every later feature specification inherits. Use this at the start of a project, before any…
fabrik-implement
Use when operating as the Fabrik Implement stage agent. This skill guides the implementation of a planned feature, following the task checklist to produce committed, tested, pushed code on a feature branch.
fabrik-plan
Use when operating as the Fabrik Plan stage agent. This skill guides the design of an implementation approach, producing a concrete plan with task checklist that the Implement stage will follow.
fabrik-setup
Bootstrap a project to use Fabrik (the GitHub-Project-driven SDLC pipeline orchestrator that drives Claude Code workers through Specify/Research/Plan/Implement/Review/Validate stages). Use this skill when the user wants to install, set up, initialize, or get started with Fabrik for the first time — especially when…
debt-ops-add
Register a deferred decision in the tech-debt registry. Trigger by judgment, not a marker scan, whenever a future reader would ask "why this way?": an unmade decision, stub, loosened type, bypassed check, swallowed error, a default picked "for now", or a TODO/FIXME/HACK/XXX marker. Trigger immediately whenever you…
trailhead-view
Skill "trailhead-view" from ToRvaLDz/trailhead, covering load first, in order, routing: verb to engine, render the map: map [map], 🎯 destination and 🗒️ notes.