Borrowing it
Nothing to install: this file belongs to Badminton-Apps/badman. 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/Badminton-Apps/badman/develop/.claude/skills/speckit-maqa-linear-setup/SKILL.mdgit clone --depth 1 https://github.com/Badminton-Apps/badmanWrote 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/badminton-apps/badman/speckit-maqa-linear-setup)<a href="https://agentmods.dev/skills/badminton-apps/badman/speckit-maqa-linear-setup"><img src="https://agentmods.dev/badge/skills/badminton-apps/badman/speckit-maqa-linear-setup.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.00043 | $0.00621 |
| Opus 5 | $0.00022 | $0.00311 |
| Sonnet 5 | $0.00009 | $0.00124 |
| Haiku 4.5 | $0.00004 | $0.00062 |
Grade A, and why
speckit-maqa-linear-setup 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 yesterday.
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.
curl -s -X POST https://api.linear.app/graphql \ What it actually says
You are setting up Linear integration for MAQA.
Prerequisites check
[ -n "$LINEAR_API_KEY" ] && echo "LINEAR_API_KEY: set" || echo "ERROR: LINEAR_API_KEY not set — get it from Linear Settings → API → Personal API keys"
Stop if missing.
Step 1 — List teams
curl -s -X POST https://api.linear.app/graphql \
-H "Authorization: $LINEAR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"{ teams { nodes { id name } } }"}' | \
python3 -c "
import json,sys
data = json.load(sys.stdin)
for t in data['data']['teams']['nodes']:
print(f\"{t['id']} — {t['name']}\")
"
Ask user which team to use.
Step 2 — Get workflow states for selected team
TEAM_ID="<selected>"
curl -s -X POST https://api.linear.app/graphql \
-H "Authorization: $LINEAR_API_KEY" \
-H "Content-Type: application/json" \
-d "{\"query\":\"{ team(id: \\\"$TEAM_ID\\\") { states { nodes { id name type } } } }\"}" | \
python3 -c "
import json,sys
data = json.load(sys.stdin)
for s in data['data']['team']['states']['nodes']:
print(f\"{s['type']:12} {s['id']} — {s['name']}\")
"
Map states to MAQA slots (use type as guide: backlog, unstarted→todo, started→in_progress, completed→done). Ask user to confirm or correct mappings.
Step 3 — Write config
mkdir -p maqa-linear
cat > maqa-linear/linear-config.yml << EOF
# MAQA Linear Configuration — generated $(date -Iseconds)
team_id: "$TEAM_ID"
team_name: "$TEAM_NAME"
backlog_state_id: "$BACKLOG_ID"
todo_state_id: "$TODO_ID"
in_progress_state_id: "$IN_PROGRESS_ID"
in_review_state_id: "$IN_REVIEW_ID"
done_state_id: "$DONE_ID"
assignee_id: ""
EOF
Done
Report mapped states and tell user to run /speckit.maqa.coordinator — Linear integration activates automatically.
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.
- yesterday First seen · 76 lines · 43 tokens per session scan A 56b1b02d78ef
speckit-maqa-linear-setup is a skill published in the GitHub repository Badminton-Apps/badman (13 stars, last pushed 2d ago), licensed Apache-2.0. It adds 43 tokens to every session and 621 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-04.
Other skills, from other repositories
recipe-create-meet-space
Create a Google Meet meeting space and share the join link.
atmos-config
Atmos root configuration: atmos.yaml discovery, precedence, deep merging, basepath, imports, minimal bootstrap, and routing to narrower Atmos skills.
workthreads
SpecStory Workthreads - a weekly work-thread rollup across a team's repos from SpecStory coding histories (any agent - Claude Code, Codex, Cursor, Gemini, and more). It groups the window's sessions into threads of work per project and labels each new / open / recently closed, so a lead sees what shipped, what is still…
story-readiness
Validate that a story file is implementation-ready. Checks for embedded GDD requirements, ADR references, engine notes, clear acceptance criteria, and no open design questions. Produces READY / NEEDS WORK / BLOCKED verdict with specific gaps. Use when user says 'is this story ready', 'can I start on this story', 'is…
autotask-creator
Rules for automation CRUD from the group-chat commander. The commander does not call mutation tools and does not edit cloud/autotasks files directly. It emits one or more top-level ... containers in its final text; the bus parses and applies them after the turn.
monorepo-management
Master monorepo management with Turborepo, Nx, and pnpm workspaces to build efficient, scalable multi-package repositories with optimized builds and dependency management. Use when setting up monorepos, optimizing builds, or managing shared dependencies.