MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
M-1.3 planner skill — 把 frozen consensus 翻译成 TaskNode 图 + 依赖边 + 资源 claim。
$ npx skills add Towow-ai/Flowness --skill planning -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Towow-ai/Flowness planning --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Towow-ai/Flowness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/planning .claude/skills/planning && rm -rf skills-srcUse ~/.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/
Install the "planning" agent skill from https://github.com/Towow-ai/Flowness/tree/main/.claude/skills/planning into .claude/skills/planning/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "planning", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Towow-ai/Flowness/tree/main/.claude/skills/planningType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Towow-ai/Flowness --skill planning -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Towow-ai/Flowness planning --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Towow-ai/Flowness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/planning .agents/skills/planning && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "planning" agent skill from https://github.com/Towow-ai/Flowness/tree/main/.claude/skills/planning into .agents/skills/planning/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "planning", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Towow-ai/Flowness --skill planning -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Towow-ai/Flowness planning --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Towow-ai/Flowness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/planning .cursor/skills/planning && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "planning" agent skill from https://github.com/Towow-ai/Flowness/tree/main/.claude/skills/planning into .cursor/skills/planning/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "planning", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Towow-ai/Flowness.git --path .claude/skills/planning--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Towow-ai/Flowness --skill planning -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Towow-ai/Flowness planning --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Towow-ai/Flowness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/planning .gemini/skills/planning && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "planning" agent skill from https://github.com/Towow-ai/Flowness/tree/main/.claude/skills/planning into .gemini/skills/planning/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "planning", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Towow-ai/Flowness planningInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Towow-ai/Flowness --skill planning -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Towow-ai/Flowness.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/planning .github/skills/planning && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "planning" agent skill from https://github.com/Towow-ai/Flowness/tree/main/.claude/skills/planning into .github/skills/planning/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "planning", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Towow-ai/Flowness --skill planning -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Towow-ai/Flowness planning --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Towow-ai/Flowness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/planning .opencode/skills/planning && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "planning" agent skill from https://github.com/Towow-ai/Flowness/tree/main/.claude/skills/planning into .opencode/skills/planning/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "planning", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
planningM-1.3 planner skill — 把 frozen consensus 翻译成 TaskNode 图 + 依赖边 + 资源 claim。
Planning is an agent skill from Towow-ai/Flowness. M-1.3 planner skill — 把 frozen consensus 翻译成 TaskNode 图 + 依赖边 + 资源 claim。
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files (for example `knowledge/cross-plan-coordination-policy.md`, `knowledge/decomposition-policy.md` and `knowledge/dependency-policy.md`).
It sits in Agent Workflows. The repository describes itself as: A work-centered runtime for agentic software engineering. Work persists; agents, context, and graphs assemble around it. The licence is Apache-2.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c9d6abe. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Planning loads about 2.3k tokens when it runs. Until then it costs about 21 tokens; SKILL.md has 787 words of instructions outside code blocks.
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.
The automated check found no risky patterns in SKILL.md.
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.
The full file from Towow-ai/Flowness at commit c9d6abe, republished under its Apache-2.0 licence (© Towow-ai). 787 words, ~2,250 tokens.
.claude/skills/planning/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.我是 planner —— 把 frozen engineering consensus 拆分成可执行 task 图。每个 task 必须 self-contained(零上下文 AI 也能跑)。
我的成功标准不是"看着像计划"——是产出后续 execution fork 能直接拿来跑。
frontmatter 里那 8 份 shared knowledge:若你的装载通道没有 capsule 注入(主会话用 Skill 工具装载即是),它们就在本 skill 目录
knowledge/下,按需读。
我把 frozen 共识翻译成任务图,判断的核心是四把尺:
dep-add 成 TaskDependencyEdgeAdded 边。completion_condition:「用户能创建并查询 batch」。
✗ 看着像计划、execution 跑不起来:
建了 task A/B/C、发了 package,依赖写在描述里"B 要在 A 之后做",停在 package-publish。
execution fork 拿 B 去跑:依赖只在散文里 → orchestrator 看不到 DAG → 不知道 B 等 A,并行炸;package 里"参考 A 的输出" → fork 找不到 A 的输出(不自包含)回头问;而且没 freeze、整个计划没过 freeze 的 blocking_check 门,下游不该启动。看着齐全,跑不起来。
✓ execution 能直接跑:
task A/B/C 各零上下文自包含 package;B 依赖 A 经
dep-add成边(orchestrator 一看 DAG 就知道 A→B 串行、C 可并行);critical-path 已 emit;freeze跑完全部 blocking_check → PlanFreezed。execution fork 拿任一 ready task 直接跑、不回头问、不撞车。
区别不在"建没建 task、发没发包"(✗ 也建了发了)——在依赖固化成边了吗(能不能并行)、package 零上下文自包含吗(fork 要不要回头问)、freeze 了吗(到没到终态)。
我读 capsule + frozen ConceptGraph + brief.goal.completion_condition,然后走完整三阶段。 停在 TaskPackagePublished 不算做完——必须走到 PlanFreezed。计划的终态是 freeze,不是发包。
live_target_observables(goal 收口门据它复算账本、拒零证据的假完成)。发现该带却没带 →
这不是我 planner 能补的字段(它在 brief 层),登一条 spec gap 让采访侧补发 / amend,别静默拆成
一堆 task 就冻结——否则执行完、goal 收口门对本 goal 空放行,假完成又溜过去。(plan-freeze 侧的
"强制声明"兜底 debt-b6187ed0d19c 还没落;在它落之前靠这一眼自然发现。)plan task-create(单一 task_type / target_artifacts 明确 write_set 边界 / 自包含描述无隐含
caller context)+ plan read-claim / plan write-claim 显式 claim read/write setplan dep-add 固化成 TaskDependencyEdgeAdded 边——不许只写进 task 描述散文。
散文依赖 = 无 DAG = 无法识别并行组 = 无法并行。停止检查:所有 task 拆完后,dependency-analyze
proposed 的边全部经 plan dep-add 落账,没有一条只活在描述里plan model-tier 给每个 task 分 opus/sonnet(TaskModelTierAssigned)plan critical-path —— 真 emit CriticalPathIdentified(从 dep 图算最长链,不是手填)。
跳过这步,Phase 3 的 plan freeze 会被 fail-closed 门(check_critical_path_identified)挡死plan package-publish
(TaskPackagePublished)plan freeze —— freeze 前必须持有本 plan 的 consistency_result(plan-consistency-verify
的产出);没有 → 先调它。物理门拦形式硬伤,pcv 拦的是机器门够不着的语义层(escalation 语义 /
边方向 / 派发框架纠错),"机器门反正会跑"不构成跳过它的理由——历史上被调的每一次都是"检了才敢冻"。
然后跑全部 blocking_check(几道、哪几道以 run_all_blocking_checks
/ freeze 运行时输出为准——门随代码增长,别信任何写死的数字),全过才 emit PlanFreezed。分批:无依赖的 task
先 freeze 先跑,前置完成后再 freeze 依赖它的那批(progressive)。freeze 成功 = 计划真做完;
停在 package-publish 没 freeze = 计划没做完。上面的三 Phase 合同假设"新鲜冻结→拆→冻"。下面四类场景各有既定出口,撞上时按判例走,别静默即兴发明:
./tw vitality 看是否已有别的会话在拆同一个 plan
(调度器会重复派发,debt-d3e8834466a4)。有活体且它更完整 → 主动让位、登 debt 收口,
别拆到一半撞车(判例:会话 aca008f1)。dep-add 不许跨 plan):已知边界,走 cross-plan-coordination-policy
的既定出口,别硬绕。我不亲自做每一步判断——我把判断分发给 6 个专才 fork,拿它们的 decision + confidence + evidence,
我(主 session)决定接受 / 调整 / 拒绝并 commit。这 6 个 fork 是真实部署的 sibling skill
(.claude/skills/<name>/SKILL.md,capsule_scene_types=[planning],capsule scene 可调),不是占位:
| 何时调 | fork(skill_id) | 它产什么 |
|---|---|---|
| Phase 1 建图——从 completion_condition 反推交付物 | plan-decompose (§13.1) | decomposition_candidates + coverage_matrix + gaps |
| Phase 1 建图——从 read/write set + state_machine 推依赖 | dependency-analyze (§13.2) | edges_proposed(6 类,每条带 evidence)+ conflict_groups |
| Phase 2 调度——关键路径 + model_tier + 并行组 | critical-path-schedule (§13.3) | critical_path + parallel_groups + model_tier_assignments |
| Phase 2 调度——查其他活跃 plan 的 6 类冲突 | cross-plan-check (§13.4) | detected_conflicts + recommended_escalations |
| Phase 3 打包——组装零上下文自包含 package | task-package-assemble (§13.5,主 session 内工具) | assembled_packages + publication_blockers |
| Phase 3 冻结前——最后一道整体闭合门 | plan-consistency-verify (§13.6) | consistency_result(检查清单以其 skill 文本为准,别抄数字进派发)+ blocking_issues + ready_to_freeze |
通道(怎么调):用 Skill 工具按名调用(forked execution;bg 通道由 capsule scene 注入; task-package-assemble 本就是主 session 内工具)。这些 fork 没有同名 subagent_type——用 Agent 工具会报 "Agent type not found";用 general-purpose 冒名、口头转述 fork 的角色 = 它的 合同文本根本不在场,那不是调用,是自问自答。CLI 自己会算的东西(如
plan critical-pathemit 时自算最长链/makespan)≠ fork 冗余:fork 的增量在落账前的独立判断——敏感度分析、tier 逐项 评分、纠你自己的前提错。CLI 算过,fork 照调。给什么(不预填答案):派 fork 时只给输入——brief、冻结共识、read/write set、已建 task 现状、你的疑点。不给预期答案:预填任务清单("预期方向 T1…T9")、预填边集("T4 依赖 T1-T3")、预派 model_tier / opus-factor,全算买通裁判——fork 会顺着锚定走,独立 analyzes/ proposes 的意义就没了(预派 tier 的实战笑话:连词表里不存在的 "haiku" 都写得出来——tier 评分是 fork 的活,主 planner 预派即越权)。你若确有预判,逐条标「待复核」当疑点交出, 让 fork 取证——它敢驳回你,才是它的价值。
怎么收结果:fork 给"我建议这样 + 依据 + 置信度",不是"我已经做好了"。收到先核完整性—— fork 外壳可能把连接中断包装成 completed(结果里出现 "Connection closed mid-response" = 半截提案,重派,别当完整采纳)。主 session 决定接受/调整/拒绝后才走 CLI emit(task-create / dep-add / model-tier / critical-path / package-publish / freeze),并把 fork 提案的要点随 emit 落账留痕(fork 无 session_id 无权 emit,留痕义务在你——别让判断只活在 tool_result 里)。 真正的 fail-closed 物理门在 commit gate +
plan freeze的全部 blocking_check(真相源是 plan_freezed.py 的run_all_blocking_checks,以运行时输出为准)。
@new-capability-task-classifier@v1 判为新增能力(write_set 命中能力性路径、或引新事件类型、或误标 task_type 但命中这两个信号)的 task,其 done_criterion 的 machine_check 必须 test 型且 test_selector 读真账本(EventLog.all_records() 断目标事件存在 + provenance 非交互);grep 型扫不到账本里的 live 事件签名,在这里永远是假做完。把我的计划交给一个零上下文 execution fork:它能拿任一 ready task 直接跑完、不回头问任何人、不跟兄弟 task 撞车吗?依赖全固化成边(不是散文)吗?走到 PlanFreezed 了(不是停在发包)吗?都 yes → 够;任一 no → 那处没拆到位 / 没固化成边 / 没冻结。
【新增能力 live-fire 自检(INV-A)】 对本次计划里每一个被 @new-capability-task-classifier@v1 三信号判别为新增能力的 task,逐条核:其 done_criteria 里是否至少有一条 machine_check 满足 verification_method=test 且 test_selector 指向的集成测试读 EventLog.all_records() 断目标事件 live 签名?任一新增能力 task 没有这样的 machine_check → 补上,不是降级用 grep 凑数;plan-freeze 的 check_new_capability_tasks_have_livefire_machine_check 门会在冻结时机械拒这种包,提前自检比被门拦回要省。
TaskNodeCreatedTaskDependencyEdgeAdded —— Phase 1,依赖必固化成边(不留散文)TaskReadSetClaimed / TaskWriteSetClaimedTaskModelTierAssignedCriticalPathIdentified —— Phase 2,关键路径(freeze 的 fail-closed 前置)TaskPackagePublishedPlanFreezed —— Phase 3,计划的终态产物© Towow-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files in .claude/skills/planning of Towow-ai/Flowness.
Open the folder on GitHubat commit c9d6abe
Planning 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Planning this skillTowow-ai/Flowness | 107 | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| MCP Server Builderanthropics/skills | 180k | 63 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Hook Development for Claude Code Pluginsanthropics/claude-plugins-official | 38k | 10 repos | ~4.1k | Automated safety check: Notes | Apache-2.0 | |
| Using Superpowersfarm-fe/farm | 5.6k | 35 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Executing Plans Inlineobra/superpowers | 297k | 2 repos | ~5.1k | Automated safety check: Pass | MIT | |
| Skill CreatorAzure/azqr | 796 | 89 repos | ~8.2k | Automated safety check: Pass | Apache-2.0 |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
farm-fe/farm
A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
obra/superpowers
Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
Towow-ai/Flowness
从 task 的 read/write set + concept statemachine 推导 6 种依赖类型的提案。主 planner 决定边的真实性。派它时只给 read/write set 与疑点、不给预期边集;已有预判逐条标「待复核」交它取证。
Towow-ai/Flowness
停机后复工的标准安全流程(水位线追平/积压泄流/服务分批重启)。当系统经历过 daemon 停机、性能冲刺减负、事故停摆之后要恢复常驻服务时触发;即使 owner 只说"把服务开回来"、"复工"、"追平水位线",也应触发。核心使命:绝不让"重启"变成"积压喷发"(2026-07-04 实锤:orchestrator 停机后水位线落后 3240 条,直接重启把机器负载打到 22+,owner…
Towow-ai/Flowness
M-1.4 execution skill — 跑 single task 产 patch + 提交 envelope。
Towow-ai/Flowness
Pre-submit 自检——envelope 提交 commit gate 前必跑。独立 OPUS fork 逐项判 blocking checks(清单以 dispatch prompt 注入为准),executor 不能 self-assess(运动员不当裁判)。
Towow-ai/Flowness
修复者 — 把一条被发现的问题(finding)按它的闭合合约修干净,修一个不制造下一个。产 FixProposed + 临时的 FixCompleted,不自判问题关闭(那是复查的权)。当 daemon 派一条 finding 来修、或需要闭合一个已发现的问题时用,即使只说"修一下这个 finding""把这个问题闭合"也触发。调用名就是 fix(Skill 工具)或 /fix(命令),没有…
Towow-ai/Flowness
M-1.6 envelope self-check——独立性保证不自欺欺人 (5 blockingcheck)。由 CLI ./tw fix complete --self-check-mode fork(默认即 fork)自动派起,不经 Skill 工具调用;fix 主会话产 FixCompleted 前直读本文,是为理解双层验证关系。
Categories
M-1.3 planner skill — 把 frozen consensus 翻译成 TaskNode 图 + 依赖边 + 资源 claim。. Planning is an agent skill from Towow-ai/Flowness.
Planning fits situations like: agent Workflows work in your project.
Run `npx skills add Towow-ai/Flowness --skill planning -a claude-code`. Or copy the skill folder (.claude/skills/planning in Towow-ai/Flowness) into .claude/skills/planning in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Towow-ai/Flowness --skill planning -a codex`. Or copy the skill folder (.claude/skills/planning in Towow-ai/Flowness) into .agents/skills/planning in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Towow-ai/Flowness --skill planning -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/planning, .gemini/skills/planning, .github/skills/planning and .opencode/skills/planning in your project.
SKILL.md names no scripts, command-line tools or credentials: Planning is instructions for the agent only.
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.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Planning is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Planning: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 297k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Towow-ai (a GitHub organization) maintains it in Towow-ai/Flowness, which has 107 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on August 8, 2026.
Source: Towow-ai/Flowness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.