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 agentmods add skills/stephenqiu30/stephen-claude/linearnpx skills add StephenQiu30/stephen-claude --skill lineargit clone --depth 1 https://github.com/StephenQiu30/stephen-claudeWrote 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/stephenqiu30/stephen-claude/linear)<a href="https://agentmods.dev/skills/stephenqiu30/stephen-claude/linear"><img src="https://agentmods.dev/badge/skills/stephenqiu30/stephen-claude/linear.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.00027 | $0.01730 |
| Opus 5 | $0.00014 | $0.00865 |
| Sonnet 5 | $0.00005 | $0.00346 |
| Haiku 4.5 | $0.00003 | $0.00173 |
Grade A, and why
linear 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.
2. Upload the local file bytes to `uploadUrl` with `curl -X PUT` and the exact This is a copy
100% identical to linear — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 389 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Linear GraphQL
Use this skill for raw Linear GraphQL work during Symphony app-server sessions.
Primary tool
Use the linear_graphql client tool exposed by Symphony's app-server session.
It reuses Symphony's configured Linear auth for the session.
Tool input:
{
"query": "query or mutation document",
"variables": {
"optional": "graphql variables object"
}
}
Tool behavior:
- Send one GraphQL operation per tool call.
- Treat a top-level
errorsarray as a failed GraphQL operation even if the tool call itself completed. - Keep queries/mutations narrowly scoped; ask only for the fields you need.
Discovering unfamiliar operations
When you need an unfamiliar mutation, input type, or object field, use targeted
introspection through linear_graphql.
List mutation names:
query ListMutations {
__type(name: "Mutation") {
fields {
name
}
}
}
Inspect a specific input object:
query CommentCreateInputShape {
__type(name: "CommentCreateInput") {
inputFields {
name
type {
kind
name
ofType {
kind
name
}
}
}
}
}
Common workflows
Query an issue by key, identifier, or id
Use these progressively:
- Start with
issue(id: $key)when you have a ticket key such asMT-686. - Fall back to
issues(filter: ...)when you need identifier search semantics. - Once you have the internal issue id, prefer
issue(id: $id)for narrower reads.
Lookup by issue key:
query IssueByKey($key: String!) {
issue(id: $key) {
id
identifier
title
state {
id
name
type
}
project {
id
name
}
branchName
url
description
updatedAt
links {
nodes {
id
url
title
}
}
}
}
Lookup by identifier filter:
query IssueByIdentifier($identifier: String!) {
issues(filter: { identifier: { eq: $identifier } }, first: 1) {
nodes {
id
identifier
title
state {
id
name
type
}
project {
id
name
}
branchName
url
description
updatedAt
}
}
}
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 · 389 lines · 27 tokens per session scan A dae7888e1a1c
linear is a skill published in the GitHub repository StephenQiu30/stephen-claude (2 stars, last pushed 1mo ago), licensed MIT. It adds 27 tokens to every session and 1,730 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). It is 100% identical to linear, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
pr-review-triage
Watch open PRs, check CI status, review staleness, merge conflicts, and unanswered review comments. Produces a prioritized watchlist.
happiness-skill
当用户问「怎么才能更幸福/为什么得到了还不满足/怎么减少焦虑」时调用。 核心理念: 幸福是缺憾感清空的默认状态, 是可训练的技能; 欲望是与自己的契约(得到前不快乐), 同时只留一个重大欲望; 活在当下。 不适用于: 临床抑郁等需要专业治疗的场景(本书方法不能替代医疗)。 Triggers: 幸福/不快乐/欲望/焦虑/知足/活在当下/happiness/desire/anxiety.
peer-selection
当用户纠结交朋友/选伴侣/换圈子、感觉被周围人拖累、问「该不该疏远某人」时调用。 核心理念: 五只黑猩猩理论(你的行为由最常接触的5人预测); 同伴是主动选择而非巧合; 只与价值观一致者深交, 远离愤世嫉俗者/愤怒者。 不适用于: 职场必须共事的同事关系(可先设边界)。 Triggers: 朋友/圈子/伴侣/该不该疏远/被拖累/五只黑猩猩/peer/friends/circle/values.
dependency-triage
Scan package manifests and lockfiles for outdated and vulnerable dependencies. Classify by severity and update type.
draft-release-notes
Turn changelog-scan output into polished, categorized release notes draft. Propose only.
use-sdk
Install, configure, and use a TypeScript SDK generated with @ama-sdk. Use when user wants to call APIs, set up a client (fetch, Angular, beacon), or understand how to use an existing SDK package.