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 marcusgoll/Spec-Flow --skill x-announcementgit clone --depth 1 https://github.com/marcusgoll/Spec-FlowWrote 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/marcusgoll/spec-flow/x-announcement)<a href="https://agentmods.dev/skills/marcusgoll/spec-flow/x-announcement"><img src="https://agentmods.dev/badge/skills/marcusgoll/spec-flow/x-announcement.svg" alt="Measured on agentmods" 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.00048 | $0.02812 |
| Opus 5 | $0.00024 | $0.01406 |
| Sonnet 5 | $0.00010 | $0.00562 |
| Haiku 4.5 | $0.00005 | $0.00281 |
Grade A, and why
x-announcement scanned grade A with 1 finding 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 5d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
RESPONSE=$(curl -s -X POST "http://5.161.75.135:8080/api/v1/posts/" \ How it starts
The opening of the file, as written. The whole thing — 390 lines — stays where its author put it; the contents beside it link to each section on GitHub.
<quick_start> <automation_workflow> One release, one announcement - fully automated:
- Generate post: Extract highlights from CHANGELOG for version
- User confirmation: Show preview, allow editing, get approval
- Post to X: Send via API (http://5.161.75.135:8080)
- Poll for tweet ID: Wait until post is live
- Reply with link: Post GitHub release URL as threaded reply
- Display URLs: Show both tweet links for verification
Example flow:
Generating X announcement for v2.7.0...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
X Announcement Preview
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Spec-Flow v2.7.0 is here!
- One-command releases with CI validation
- Auto-close GitHub issues when features ship
- Essential cleanup for all deployment models
Ship features faster with less manual work.
Characters: 187/280
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Options:
1. Post as-is
2. Edit post text
3. Skip X announcement
Posting to X... (ID: 12345)
Waiting for publish... (3s)
Posted to X!
Posting GitHub link as threaded reply... (ID: 12346)
GitHub link posted!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
X Announcement Posted!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Main Post:
https://x.com/username/status/1234567890
GitHub Link Reply:
https://x.com/username/status/1234567891
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
</automation_workflow>
<trigger_conditions> Auto-invoke when:
/releasecommand completes successfully- Manual invocation for any release
- User mentions "announce release", "post to X", "tweet release"
Context available:
NEW_VERSION- Version number (e.g., "2.7.0")CHANGELOG.md- Release notes for extractionREADME.md- Feature highlightsCOMMIT_SHA- Git commit hash </trigger_conditions>
<post_generation_guidelines> Format requirements:
- Include version number prominently
- Highlight 1-3 key features/improvements
- Keep under 280 characters (leave room for editing)
- Use engaging language (not just bullet points)
- End with call-to-action or benefit statement
- Do NOT use emojis (UTF-8 encoding issues with X API)
Content extraction:
- Read
CHANGELOG.md→ Extract## [NEW_VERSION]section - Identify top features: Prioritize Added > Fixed > Changed
- Format with engaging tone (no emojis)
- Validate character count (≤280)
See references/post-templates.md for examples and guidelines. </post_generation_guidelines> </quick_start>
Extract release highlights:
# Read CHANGELOG section for version
SECTION=$(sed -n "/## \[${NEW_VERSION}\]/,/## \[/p" CHANGELOG.md | head -n -1)
# Extract Added features
ADDED=$(echo "$SECTION" | grep -A 10 "### Added" | grep "^-" | head -3)
# Extract Fixed items
FIXED=$(echo "$SECTION" | grep -A 10 "### Fixed" | grep "^-" | head -2)
# Format into engaging post
# Template: 🚀 Spec-Flow v${NEW_VERSION} is here!
# ${FEATURE_EMOJI} ${FEATURE_1}
# ${FEATURE_EMOJI} ${FEATURE_2}
# ${BENEFIT_STATEMENT}
Display preview with character count for user review. </step_1_generate>
<step_2_confirm> 2. Get User Confirmation
Use AskUserQuestion or direct prompt:
Options:
1. ✅ Post as-is
2. ✏️ Edit post text
3. ❌ Skip X announcement
If user selects Edit:
- Prompt for new text
- Validate ≤280 characters
- Show updated preview
- Ask for confirmation again
If user selects Skip:
- Exit gracefully
- Continue with release summary </step_2_confirm>
<step_3_post> 3. Post to X API
Send POST request with confirmed content:
# Write content to temp file for proper UTF-8 encoding
cat > /tmp/x-post.txt << 'EOF'
<user-confirmed text>
EOF
POST_CONTENT=$(cat /tmp/x-post.txt | jq -Rs .)
RESPONSE=$(curl -s -X POST "http://5.161.75.135:8080/api/v1/posts/" \
-H "Content-Type: application/json" \
-d "{\"content\": $POST_CONTENT, \"scheduled_at\": null}")
POST_ID=$(echo "$RESPONSE" | jq -r '.id')
echo "📤 Posting to X... (ID: $POST_ID)"
What ships with it
4 files 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.
- 5d ago First seen · 390 lines · 48 tokens per session scan A b5bec6cd181a
x-announcement is a skill published in the GitHub repository marcusgoll/Spec-Flow (92 stars, last pushed 4mo ago), licensed MIT. It adds 48 tokens to every session and 2,812 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
skill-security-hooks
Install and maintain defensive security hooks and CI gates for authorized SaaS projects. Use when asked to add pre-commit hooks, pre-push hooks, CI security scans, GitHub Actions hardening, secret scanning, dependency scanning, SAST, DAST gates, or security automation around existing repositories.
skill-release-engineering
Prepara releases seguros com changelog, migrações, smoke tests, rollback, feature flags, CI e checklist operacional.
checkin-assistant
A checklist for the steps before making a Git commit. It treats a commit as one complete, reversible unit of work that should leave the codebase working.
changelog-guide
A guide for maintaining a CHANGELOG.md file, which records notable changes made in each software release. It follows the Keep a Changelog format and groups changes such as additions, updates, and fixes.
commit-standards
Format commit messages following conventional commits standard. Use when: writing commit messages, git commit, reviewing commit history. Keywords: commit, git, message, conventional, feat, fix, refactor.
git-workflow-guide
A guide for managing Git branches and merges, including branch names and common team workflows. Git is a system for tracking code changes and combining work from different branches.