Agent skill

Spec Intake

by Prismer-AI in Prismer-AI/PrismerCloud

Turn one atomic feature/gap request into a dispatchable task in a single pass — create the task, write SPEC.md (auto-folded into linkedAssetIds server-side), add acceptance criteria, record…

MITAuto-check: notesProduct & Project Management

Install Spec Intake

skills CLI
$ npx skills add Prismer-AI/PrismerCloud --skill spec-intake -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Prismer-AI/PrismerCloud spec-intake --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Prismer-AI/PrismerCloud.git skills-src && mkdir -p .claude/skills && cp -r skills-src/sdk/apc/skills/spec-intake .claude/skills/spec-intake && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
spec-intake
GitHub stars
1.6k
Token cost
~1.8k tokens
SKILL.md length
570 words
Files
2
Skills in repo
88
Repo updated
First seen
Licence
MIT

At a glance

Turn one atomic feature/gap request into a dispatchable task in a single pass — create the task, write SPEC.md (auto-folded into linkedAssetIds server-side), add acceptance criteria, record…

  • Works in 6 steps: 先判:是不是原子请求? → 建 task(期望写进 description) → 写 SPEC(服务端自动折进 linkedAssetIds) → …
  • Tasks that involve User stories
  • SKILL.md covers 承重约束(先记死), 工具契约(签名以此为准,先核后用), Procedure and 输出契约(机器判据按这个回读,别自由发挥格式), plus 3 more sections
  • Needs APC_READBACK_TOKEN and PRISMER_API_KEY

What it does

Spec Intake is an agent skill from Prismer-AI/PrismerCloud. Turn one atomic feature/gap request into a dispatchable task in a single pass — create the task, write SPEC.md (auto-folded into linkedAssetIds server-side), add acceptance criteria, record provenance. Two-part epics are refused, not silently split.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `skill.json`). Compatibility notes: ["claude-code","prismer-sdk"]

It sits in Product & Project Management, covering User stories and Backend development. The licence is MIT.

When your agent uses it

  • Tasks that involve User stories
  • Tasks that involve Backend development

Example prompts

  • “/spec-intake”

Requirements

  • A credential in APC_READBACK_TOKEN
  • A credential in PRISMER_API_KEY
  • Compatibility (from SKILL.md): ["claude-code","prismer-sdk"]
  • Pre-approved tools (allowed-tools): Bash

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. 先判:是不是原子请求?
  2. 建 task(期望写进 description)
  3. 写 SPEC(服务端自动折进 linkedAssetIds)
  4. 加验收标准(每条一个 criterion)
  5. 写 provenance(非 SPEC 的 id / sha,用 --set-string)
  6. 读回确认(副作用 oracle)

What it can do on your machine

Read from SKILL.md and the folder at commit e5d9444. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • APC_READBACK_TOKEN
    • PRISMER_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    ["claude-code","prismer-sdk"]

    From compatibility in the SKILL.md frontmatter.

Context cost

Spec Intake loads about 1.8k tokens when it runs. Until then it costs about 65 tokens; SKILL.md has 570 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~65
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Prismer-AI/PrismerCloud at commit e5d9444, republished under its MIT licence (© Prismer-AI). 570 words, ~1,814 tokens.

Download SKILL.mdSave it as .claude/skills/spec-intake/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
spec-intake
description
Turn one atomic feature/gap request into a dispatchable task in a single pass — create the task, write SPEC.md (auto-folded into linkedAssetIds server-side), add acceptance criteria, record provenance. Two-part epics are refused, not silently split.
allowed-tools
Bash
compatibility
["claude-code","prismer-sdk"]
license
MIT
scope
common
metadata.category
planning

spec-intake

把一个原子 feature/gap 请求一次性做成可派发的 task:create + spec-set(SPEC 自动折进 dispatch 可见的 linkedAssetIds)+ acceptanceCriteria + provenance(apc/05 §1 C1 · S3)。核心纪律:SPEC 折进 dispatch 由服务端自动做,你不手动折;期望写进 description/SPEC,coding agent 才看得到。

什么时候用:一个原子级 feature/gap 要进研发链——需要建 task、写清 SPEC 与验收标准,让下游 coding agent 一 dispatch 就拿到完整上下文。

承重约束(先记死)

  • 原子级 only:S3 是"一个 gap → 一个 task"。请求里裹了两个及以上独立 feature(epic)→ 拒绝,不许 silently 拆。epic 拆分/依赖排序不在本 skill,交人先拆。
  • SPEC 折进 dispatch 是服务端自动的:cloud task spec-set 落 SPEC asset 后,服务端已把它折进 metadata.assets.linkedAssetIds(task-spec.service.ts C1/S3)。你不要再 cloud task meta set 手动折 SPEC——那会重复且可能覆盖兄弟键。
  • 期望进 description + SPEC:dispatch 只把 title/description + linkedAssetIds 喂给 coding agent。验收期望要么写进 description,要么写进 SPEC(会被折进 linkedAssetIds),否则 agent 看不到。
  • provenance 用 --set-string:sha / id 用 --set 会被推断成 number(全数字 sha 精度毁)。写 sha 一律 --set-string。
  • metadata 写权限:cloud task meta set 走 gate = creator / orchestrator / admin / owner。spec-intake 是 intake 步、由主 agent 跑,主 agent 建的 task 天然是 creator——所以能写。assignee 不在内。

工具契约(签名以此为准,先核后用)

命令作用关键 flag
cloud task create --title <t>建 task;期望写进 --description--title(必填)· --description · --kind work_item|goal(默认 work_item)· --assignee-id · --json
cloud task spec-set <task-id> -m <md>写 SPEC.md(服务端自动折进 linkedAssetIds)-m/--markdown 或 -f/--file(内容源) · --json
cloud task add-criterion <task-id> --mode <m> --expectation <md>加一条验收标准--mode qualitative|quantitative|agent-self-check|manual(必填)· --expectation(必填)· --optional · --json
cloud task acceptance <task-id>读回验收标准 + 汇总状态--json
cloud task get <task-id>读回 task(含 metadata)--json
cloud task meta set <task-id> --set-string k=v写 provenance(非 SPEC 的 id / sha)--set-string(值恒字符串)
  • --kind 合法值恰好两个:work_item(默认,可派发工作项)| goal(长期目标投影)。intake 用 work_item。
  • --mode 合法值恰好四个:qualitative | quantitative | agent-self-check | manual。
  • 各命令 --json 下 stdout 是结构化响应;成功退出码 0,失败非零。

Procedure

0. 先判:是不是原子请求?

请求里如果有"并且做 X 又做 Y"这种两个独立 feature 的形状 → 停手,拒绝,回一句"这是 epic,请先拆成原子请求再逐个 intake"。不要建一个塞两件事的 task,也不要偷偷建两个 task。

1. 建 task(期望写进 description)
bash
cloud task create \
  --title "feat: 一句话需求" \
  --description "期望/验收要点写这里,coding agent dispatch 时看得到。" \
  --kind work_item --json > /tmp/task.json

从 stdout 取 data.id(下称 $TID)。

2. 写 SPEC(服务端自动折进 linkedAssetIds)
bash
cloud task spec-set "$TID" -m "# SPEC

## 目标
...

## 验收标准
- ...
" --json

不要再手动 meta set 折 SPEC——spec-set 已经把 SPEC asset id 折进 metadata.assets.linkedAssetIds 了。

3. 加验收标准(每条一个 criterion)
bash
cloud task add-criterion "$TID" \
  --mode qualitative \
  --expectation "done 长这样:<可判定的验收点>" --json

按需要加多条。verifier 具体方法(怎么验)留给下游,这里只钉 qualitative/quantitative 的期望。

4. 写 provenance(非 SPEC 的 id / sha,用 --set-string)
bash
cloud task meta set "$TID" \
  --set-string intake.sourceSha="$SOURCE_SHA" \
  --set-string intake.gapRef="apc/05 C1"

--set-string 保证 sha 落库是字符串(全数字 sha 不被数字化)。

5. 读回确认(副作用 oracle)
bash
cloud task get "$TID" --json          # 看 metadata.assets.linkedAssetIds 含 SPEC asset id
cloud task acceptance "$TID" --json   # 看 criteria 落库

输出契约(机器判据按这个回读,别自由发挥格式)

本 skill 的判据不是「报告里出现了 spec-set 这几个字」,而是判据拿你声明的 id 去真库/真 API 回读(structured-criteria.ts 的 declared-id-readback)。apc/12 §0.6 记了实证:一份一条 cloud 命令都没跑的编造报告,在旧文本判据下 5/5 全绿。所以报告必须带下面这几类可机器解析的行:

TASK: <cloud task create 返回的 task id>
ASSET: <已在 metadata.assets.linkedAssetIds 里的 SPEC asset id> | role: spec
CRITERION: <cloud task acceptance 里的一个 criterion id>
META: intake.sourceSha = <你写进去的值> | type: string

判据会判红的情况(任一):

  • TASK: 声明的 id 在服务端不存在(回读 404)——这正是「声称跑了但没跑」的指纹;
  • 该 task 不是本次跑出来的(createdAt 超过 maxAgeMinutes)——拿一个老 task 的 id 冒充不成立;
  • task 不是 metadata.kind=work_item,或 description 太短(dispatch 只喂 title/description + linkedAssetIds,描述空 = 下游 agent 看不到期望);
  • ASSET: 声明的 id 不在 metadata.assets.linkedAssetIds 里——SPEC 没折进 dispatch;
  • CRITERION: 声明的 id 不在 该 task 的 acceptance view 上,或该 task 一条 criterion 都没有;
  • META: 的键在 metadata 里不存在、值与服务端存的不一致,或存储类型不是 string——--set 的数字化在这里被逮住,不靠你自述「我用了 --set-string」。

回读凭据缺失(无 APC_READBACK_TOKEN / DEV_JWT / PRISMER_API_KEY)或 API 不可达 ⇒ 判红。「验不了」永远不算过。

⚠️ 回读凭据必须与真正跑命令的那个身份一致。GET /api/im/tasks/:id 的 ACL 是 creator / assignee / workspace 成员——换一个账号回读会 403(判据 fail-closed 判红,是假红)。实测踩过:cloud CLI 优先读 ~/.prismer/config.toml 的 api_key(先于 PRISMER_API_KEY env),于是 task 建在 A 账号名下、回读用 B 账号的 JWT ⇒ 403。跑验收时把 APC_READBACK_TOKEN 设成执行 agent 自己的凭据;APC_READBACK_BASE 默认 http://127.0.0.1:3000。

这些 id 必须从命令输出里原样复制,不要重打、不要凭记忆写——回读比对的是字节。

Show full SKILL.md (189 more words)Show less

产出(副作用 oracle,报告里必须给)

  1. task 真建:cloud task create 的 data.id + cloud task get 读回。
  2. SPEC 折进 dispatch:cloud task get --json 的 metadata.assets.linkedAssetIds 含 SPEC asset id(服务端自动折的,不是本 skill 手动折)。
  3. criteria 落库:cloud task acceptance --json 读回的 criteria 列表(每条 expectation + status)。
  4. provenance 落库:metadata.intake.sourceSha 是字符串(读回确认,全数字 sha 也不被数字化)。
  5. epic 拒绝:两部分请求下,未建 task(或明确拒绝)——不 silently 拆。

不许:手动折 SPEC 进 linkedAssetIds(服务端已做);把两部分 epic silently 拆成多 task;用 --set 写 sha;断言聊天文本而非 metadata/criteria 副作用。

诚实边界

  • 判据的能力上界:回读证明的是「这些 id 真在库里、关系真成立、类型真对」。它不证明 SPEC 内容质量,也不能证明「两部分 epic 被拒」——「什么都没建」是缺失,回读不了,那一条至今仍是文本判据(apc/12 §0.6 记录的残余空洞,不得声称已闭合)。
  • spec-intake 只承接原子级需求(apc/05 §1 C1 诚实边界)。epic 分解需先经人拆分。
  • spec-set 会服务端给 task 落 metadata.devEntryApprovalRequired=true(apc/03 §1「需求进入开发」门,服务端 task-spec.service.ts 自动,非你手动写)。该 flag 潜伏——仅当该 task 又绑了 feature/bugfix 卡(cardBound)时,首次 coding dispatch 前才 park 到 awaiting_approval 等人审「进开发」;非卡任务 flag 无效果、照常派发。所以本 skill 后续若走 09 §0 spec 段证据(「审批 进开发 decision」),请 cloud approval request-human 起该审批供人裁决。
  • 本 skill 若作为独立 dispatch 运行(无父 task 上下文),下方 cloud skill ack 会 exit 3(无 task 上下文)——这是契约限制,报告里不得声称已 ack。它建的 task 是产物,不是它自己的 dispatch task。
<!-- APC-ACK:v1 -->

调用回执(APC 平台方运营纪律 · 自动注入,勿手改)

执行本 skill 的第一步,先落一条调用回执:

bash
cloud skill ack spec-intake --task "$PRISMER_TASK_ID"

按退出码分流(这条命令的退出码是承重信息,禁止用 || 兜底、; true、 set +e 或重定向把它抹掉):

exit含义你要做的
0回执已落库(im_task_logs.action='skill_ack')继续执行本 skill
3无 task 上下文——本次运行没有 task,产不出回执继续执行本 skill;但本次运行没有回执,任何报告里都不得声称已 ack
4你不是该 task 的 assignee,服务端拒绝停下并上报:回执只能由执行该 task 的 agent 产生
1其它失败(网络 / 服务端)重试一次;仍失败则继续执行,并在结果里显式标注「回执缺失」

回执只证明本 skill 被调度,不证明执行正确——效果证明由本 skill 自己的 acceptanceCriteria 副作用断言承担(apc/04 §2 层 1 诚实标注)。

<!-- /APC-ACK:v1 -->

© Prismer-AI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in sdk/apc/skills/spec-intake of Prismer-AI/PrismerCloud.

  • SKILL.md
  • skill.json

Open the folder on GitHubat commit e5d9444

Compare with similar skills

Spec Intake next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Spec Intake compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Spec Intake this skillPrismer-AI/PrismerCloud1.6k—~1.8kAutomated safety check: NotesMIT
User Story Writerdeanpeters/Product-Manager-Skills7.2k2 repos~2.9kAutomated safety check: PassCustom licence
Ralph Tui Create Beadssubsy/ralph-tui2.5k1 repos~2.6kAutomated safety check: PassMIT
Agile Product Owneralirezarezvani/claude-skills28k3 repos~3.2kAutomated safety check: PassMIT
Ralph Tui Create Beads Rustsubsy/ralph-tui2.5k1 repos~2.8kAutomated safety check: PassMIT
To Specbestofjs/bestofjs3.1k21 repos~757Automated safety check: PassMIT

Similar skills

  • User Story Writer

    deanpeters/Product-Manager-Skills

    Writes user stories in Mike Cohn's format with Gherkin acceptance criteria, turning user needs into development-ready work with testable conditions.

    7.2k GitHub starsUsed in 2 repos~2.9k tokens
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create Beads

    subsy/ralph-tui

    Convert PRDs to beads for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed
  • Agile Product Owner

    alirezarezvani/claude-skills

    Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.

    28k GitHub starsUsed in 3 repos~3.2k tokens
    Product & Project ManagementAuto-check passed
  • Convert PRDs to beads for ralph-tui execution using beads-rust (br CLI).

    2.5k GitHub starsUsed in 1 repo~2.8k tokens
    Product & Project ManagementAuto-check passed
  • To Spec

    bestofjs/bestofjs

    Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.

    3.1k GitHub starsUsed in 21 repos~757 tokens
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create JSON

    subsy/ralph-tui

    Convert PRDs to prd.json format for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed

More from Prismer-AI/PrismerCloud

All 88 skills in this repo
  • Prismer Google Workspace

    Prismer-AI/PrismerCloud

    Gives an agent account-scoped access to Gmail, Calendar, Drive, Contacts, Docs and Sheets through the gws CLI or a bundled Python client.

    1.6k GitHub starsUsed in 3 repos~4.2k tokens
    Auto-check passed
  • Prismer Skill Creator

    Prismer-AI/PrismerCloud

    Walks an agent through creating, importing, editing, validating, testing and publishing Prismer Skills with a fixed workflow and bundled scripts.

    1.6k GitHub stars~2.6k tokensUpdated 10 days ago
    Auto-check: notes
  • Himalaya Email CLI

    Prismer-AI/PrismerCloud

    Operates a mailbox from the terminal with the external Himalaya CLI over IMAP, SMTP, Notmuch or Sendmail, separate from any built-in email gateway adapter.

    1.6k GitHub starsUsed in 2 repos~2.3k tokens
    Auto-check passed
  • Prismer Image Generation

    Prismer-AI/PrismerCloud

    Generates one image from a text prompt with a bundled Node.js helper and delivers it once as the attachment to the current Prismer reply.

    1.6k GitHub stars~1.4k tokensUpdated 10 days ago
    Auto-check passed
  • Manim Explainer Videos

    Prismer-AI/PrismerCloud

    Produces 3Blue1Brown-style explainer animations with Manim Community Edition for math, algorithms, equations and architecture diagrams, with planning and rendering references.

    1.6k GitHub starsUsed in 2 repos~3.1k tokens
    Auto-check passed
  • Prismer Role Builder

    Prismer-AI/PrismerCloud

    Creates or updates Prismer role templates from a persona, SOP or job description, and turns a role into a working agent that runs its first task through a bundled script.

    1.6k GitHub stars~2.3k tokensUpdated 10 days ago
    Auto-check: notes

Questions about Spec Intake

What does Spec Intake do?

Turn one atomic feature/gap request into a dispatchable task in a single pass — create the task, write SPEC.md (auto-folded into linkedAssetIds server-side), add acceptance criteria, record…. Spec Intake is an agent skill from Prismer-AI/PrismerCloud.md (auto-folded into linkedAssetIds server-side), add acceptance criteria, record provenance.

When should I use Spec Intake?

Spec Intake fits situations like: tasks that involve User stories; tasks that involve Backend development.

How do I install Spec Intake in Claude Code?

Run `npx skills add Prismer-AI/PrismerCloud --skill spec-intake -a claude-code`. Or copy the skill folder (sdk/apc/skills/spec-intake in Prismer-AI/PrismerCloud) into .claude/skills/spec-intake in your project. Claude Code loads it when a task matches its description.

How do I install Spec Intake in Codex?

Run `npx skills add Prismer-AI/PrismerCloud --skill spec-intake -a codex`. Or copy the skill folder (sdk/apc/skills/spec-intake in Prismer-AI/PrismerCloud) into .agents/skills/spec-intake in your project. Codex loads it when a task matches its description.

Can I use Spec Intake in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Prismer-AI/PrismerCloud --skill spec-intake -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spec-intake, .gemini/skills/spec-intake, .github/skills/spec-intake and .opencode/skills/spec-intake in your project.

What does Spec Intake need to run?

Going by SKILL.md and its folder, Spec Intake needs credentials named APC_READBACK_TOKEN and PRISMER_API_KEY. Our summary lists: A credential in APC_READBACK_TOKEN; A credential in PRISMER_API_KEY. Its frontmatter pre-approves these tools: Bash. Compatibility (from SKILL.md): ["claude-code","prismer-sdk"].

Does Spec Intake access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Spec Intake safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Spec Intake use?

Spec Intake is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Spec Intake use?

About 1.8k tokens (SKILL.md is roughly 7.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Spec Intake?

Skills that share tags, products or a category with Spec Intake: User Story Writer (deanpeters/Product-Manager-Skills, 7.2k stars), Ralph Tui Create Beads (subsy/ralph-tui, 2.5k stars), Agile Product Owner (alirezarezvani/claude-skills, 28k stars) and Ralph Tui Create Beads Rust (subsy/ralph-tui, 2.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Spec Intake?

Prismer-AI (a GitHub organization) maintains it in Prismer-AI/PrismerCloud, which has 1,555 GitHub stars. The repository holds 88 skills in this directory. The repository was last updated on September 30, 2026.

Source: Prismer-AI/PrismerCloud on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.