Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add timjensgrossinger/threnody --skill threnody-fullstackgit clone --depth 1 https://github.com/timjensgrossinger/threnodyWrote 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/timjensgrossinger/threnody/threnody-fullstack)<a href="https://agentmods.dev/skills/timjensgrossinger/threnody/threnody-fullstack"><img src="https://agentmods.dev/badge/skills/timjensgrossinger/threnody/threnody-fullstack/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/timjensgrossinger/threnody/threnody-fullstack"><img src="https://agentmods.dev/badge/skills/timjensgrossinger/threnody/threnody-fullstack.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.00051 | $0.00926 |
| Opus 5.5 | $0.00020 | $0.00370 |
| Sonnet 5.5 | $0.00010 | $0.00185 |
| Haiku 4.5 | $0.00005 | $0.00093 |
Grade A, and why
threnody-fullstack 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 1mo 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 — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Threnody full-stack parallel build
Threnody has no dedicated "app builder" mode. Use contract-first DAG planning so frontend and backend agents align before parallel execution.
Mandatory: spawn subagents
Full-stack orchestration uses the same contract as threnody-task and
threnody-swarm:
- Spawn one host
Task/Agentper subtask in each wave. - Never implement wave work yourself with Write/Edit — even for low-tier integration subtasks.
- Expect
host_execution_contract: spawn_subagentson plan/swarm responses.
Recommended wave shape
Wave 1: Define API contract
- OpenAPI spec, shared DTOs, route table
- produces: api-contract (openapi.yaml, shared types)
Wave 2: Parallel implementation (depends_on wave 1)
- Backend service/API handlers consumes: api-contract
- Frontend UI + client SDK consumes: api-contract
Wave 3: Integration
- Wire frontend to backend, smoke tests, fix drift
- depends_on: backend + frontend subtasks
Frontend and backend run in the same parallel wave only after the contract lands — not before.
Which MCP entry point?
| Goal | Tool | Topology |
|---|---|---|
| Plan once, host executes | decompose_task or plan_task |
Ask planner for DAG + depends_on |
| Persistence, budget, resume | execute_swarm |
topology: dag or auto |
Both return host_spawn_waves with spawn_subagents contract. Spawn one host
Task/Agent per subtask per wave — parallel wave 2 agents in one message.
Host-native heuristic planning also recognizes fullstack/openapi intent and
builds a contract-first DAG automatically. After wave 1, use expand_host_plan
if additional files were discovered.
Prompt the planner explicitly
Include in the task string:
- "Contract-first: wave 1 OpenAPI + shared types"
- "Wave 2: parallel frontend and backend consuming the contract"
- "Wave 3: integration and smoke tests"
- "Use depends_on / consumes / produces artifact names"
Example task for execute_swarm:
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.
- 1mo ago First seen · 105 lines · 51 tokens per session scan A 49630432d744
threnody-fullstack is a skill published in the GitHub repository timjensgrossinger/threnody (2 stars, last pushed 21d ago), licensed Apache-2.0. It adds 51 tokens to every session and 926 once invoked, about $0.0002 per session on Opus 5.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
backend-development
Backend API design, database architecture, microservices patterns, and test-driven development. Use for designing APIs, database schemas, or backend system architecture.
disconnect
Disconnect this session from Pad's push stream — stop receiving pushes for the rest of this session.
slack-cli
Interact with the official Slack CLI to create, run, deploy, and manage Slack apps, environments, manifests, and triggers. Use when the user asks about Slack app development workflows, not workspace chat automation.
trd
WHAT — Draft and review a Technical Requirements Document (TRD) using the template, typically from an agreed PRD. Covers architecture, data contracts, technical decisions, risks, and test strategy. English for technical artifacts and tickets unless the user asks otherwise.
gakido
High-performance Python HTTP client with browser impersonation and anti-bot evasion. Use when the user needs to bypass bot detection, impersonate browsers with TLS fingerprinting, make HTTP/2/3 requests, or build web scrapers that evade anti-bot systems.
personetta-set-active
Switches the active Personetta persona via set-active. The target tool is auto-detected from the host agent (Claude Code here), so no --format is needed. Use when the user asks to change recipe, switch persona, or set active role.