scope-architect

scope-architect is a skill for Claude Code from nguyenvanphituoc/shapeup-sdlc-plugin. It costs 131 tokens per session (2,276 once invoked), scanned A, original, MIT.

A skill for dividing a feature into independent vertical slices and recording each slice as an enforceable contract. A vertical slice follows a user flow across the needed parts of a system, rather than grouping work by folder.

In plain words
What is it for?
Use it to create, update, or re-slice scope contracts for a feature from its specification and board tasks.
Why use it?
It turns a task list into clear boundaries that hooks, fixtures, and evaluators can check, reducing confusion when tasks do not fit existing scopes.

Skill for Claude Code

Written for Claude Code: ${CLAUDE_PLUGIN_ROOT} variable.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the shapeup-sdlc-plugin plugin — 17 skills, 11 commands, 4 hooks shipped together

Good fit Use it to create, update, or re-slice scope contracts for a feature from its specification and board tasks.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add nguyenvanphituoc/shapeup-sdlc-plugin
Claude Code
/plugin install shapeup-sdlc-plugin

Made for: Claude Code.

Or install shapeup-sdlc-plugin, the plugin that ships this one along with the rest of its 17 skills, 11 commands, 4 hooks.

Wrote 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.

agentmods badge for scope-architect

README.md
[![agentmods](https://agentmods.dev/badge/skills/nguyenvanphituoc/shapeup-sdlc-plugin/scope-architect.svg)](https://agentmods.dev/skills/nguyenvanphituoc/shapeup-sdlc-plugin/scope-architect)
Your own site
<a href="https://agentmods.dev/skills/nguyenvanphituoc/shapeup-sdlc-plugin/scope-architect"><img src="https://agentmods.dev/badge/skills/nguyenvanphituoc/shapeup-sdlc-plugin/scope-architect.svg" alt="Measured on agentmods" height="20"></a>
Per session 131 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,276 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00131 $0.02276
Opus 5 $0.00066 $0.01138
Sonnet 5 $0.00026 $0.00455
Haiku 4.5 $0.00013 $0.00228

Measured 8d ago against content hash 2925d788f8c1, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

scope-architect scanned grade A with 0 findings 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 8d 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/scope-architect/SKILL.md · 151 lines

How it starts

The opening of the file, as written. The whole thing — 151 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Scope Architect (pure worker v1.0)

Slice by flow, never by directory — and write it as a contract a hook can enforce.

Groups a feature's tasks into independent, vertically-sliced scopes and writes each as a committed contract (shapeup/<slug>/scopes/<scope-id>.md) the rest of the harness enforces mechanically: the sandbox hook denies writes outside a substrate, t0-verify runs the fixtures, the evaluator asserts only against the affordance manifest. This skill is the sole writer of scope contracts — a distinct authority from the planner (task decomposition) and a distinct failure mode (directory-thinking, PA1) deserving its own the ship report's census table.

Input contract — the WorkOrder

Field What it is
operation map-scopes — the only operation this skill has. It covers first slicing after the board exists, folding discovered items in, and re-slicing a stuck scope; the payload says which of those you are doing
payload.feature / payload.spec_folder Slug + committed spec (read ux-behavior.md for manifests; usecases for flows)
payload.tasks[] The board's tasks with their touched files — the slicing INPUT only. Each carries use_case_refs; those UC ids are what you write into the contract. Never copy a task id into a contract
substrate.allowed scopes/*.md + scope-board.md — your ONLY write surface

Core process

1 SLICE    build an import/business-flow graph over the tasks' touched files (grep heuristic
           is fine; AST is an optimization). One scope = one call chain: the UI screen + the
           API route + the use case + the repository it drives. Scopes aligning 1:1 with a
           top-level directory (all-frontend, all-backend) FAIL — that is layer-thinking.
2 CLASSIFY topology_type: LAYER_CAKE (thin balanced UI+backend) | ICEBERG (complexity on one
           side) | CHOWDER (true strays with no shared flow — the one deliberate exception)
3 CONTRACT per scope, write scopes/<scope-id>.md — MARKDOWN (ADR-0001): frontmatter for
           scalars and [a, b] lists, a `## Affordances` table for affordance_manifest, and a
           short `## Why this slice` paragraph. A reviewer must be able to read the substrate
           in a PR; regeneration preserves prose under headings you do not own.
             scope_id, topology_type                         — the stable join key is the scope
             use_cases[]                                     — the UC ids this scope implements.
                                                               THE ONLY LINK YOU WRITE TO THE
                                                               WORK: never task ids. The contract
                                                               is committed and the board is not,
                                                               so a TASK-NNN here dangles on
                                                               every other clone (spec-lint
                                                               TIER-DIRECTION reds it). The
                                                               scope's tasks are re-derived from
                                                               the board's own use_case_refs
             covers[]                                        — optional REQ-ids from
                                                               requirements.md this scope answers
                                                               for; stable, never renumbered
             depends_on[]                                    — scope_ids this scope builds AFTER.
                                                               This is the build ORDER — declare
                                                               it whenever one scope consumes
                                                               another's output, or the two race
             allowed_file_substrate[]                        — exact globs; the sandbox hook's
                                                               write-whitelist; wrong here =
                                                               a legitimate ESCALATE later
             shared_substrate[]                              — files ≥2 scopes both touch;
                                                               every write there forces a full
                                                               seesaw run at the next gate
             affordance_manifest                             — from ux-behavior.md state
                                                               tables: every interactive
                                                               element as {test_id, role} +
                                                               required_states [idle, loading,
                                                               success, error, empty]
             e2e_verification_fixtures[]                     — the command(s)/spec file(s)
                                                               that drive this scope
                                                               end-to-end (T0 layer); too
                                                               speculative to fixture → mark
                                                               TBD and flag it, never invent
                                                               a fixture for unbuilt behavior
             hill_phase: "UPHILL_UNKNOWN"                    — ALWAYS; phase is derived from
                                                               T0/T1/seesaw facts later,
                                                               never authored
4 LINT     node "${CLAUDE_PLUGIN_ROOT}/kernel/harness.mjs" verify spec --slug <slug>
           → PA1 (directory alignment), PA2 (>~15 files), DISJOINT (undeclared overlap),
           SCOPE-ANCHOR (empty/unresolvable use_cases), TIER-DIRECTION (a task id in a
           committed contract), SCOPE-DEPS (depends_on naming a scope that isn't here).
           Fix reds by re-slicing, not by silencing.
5 BOARD    regenerate scope-board.md — a VIEW of the contracts, nothing more:

             | scope_id | topology | use_cases | depends_on | files | lint |

           Every column restates a field the contract already declares, so the board can be thrown
           away and rebuilt. Do NOT add a `wave` column: waves are Kahn levels of `depends_on` and
           `probe resume` derives them at dispatch — a hand-written copy of a derived value drifts,
           which is exactly why `unlocks` stopped being authored. The BUILD ORDER lives in each
           contract's `depends_on`; the board only shows it.

           A `TASK-` id anywhere in a contract or the board — a column, a cell, or a sentence in
           the prose — is spec-lint TIER-DIRECTION red. The board is committed; ids are not.

Read the full file on GitHub · 151 lines

Changes

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.

  1. 8d ago First seen · 151 lines · 131 tokens per session scan A 2925d788f8c1

Subscribe to this mod's changes

scope-architect is a skill published in the GitHub repository nguyenvanphituoc/shapeup-sdlc-plugin (2 stars, last pushed yesterday), licensed MIT. It adds 131 tokens to every session and 2,276 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

agui-dotnet-streaming-chat

Get started with the AG-UI .NET SDK: bootstrap and run your first streaming-chat app (client + server) with the AG-UI .NET NuGet packages (AGUI.Client, AGUI.Server, AGUI.Formatting, AGUI.Abstractions). USE FOR: which packages to install and how to wire them; constructing an AGUIChatClient against an endpoint and…

ag-ui-protocol/ag-ui · 223 tokens

agui-dotnet-protobuf

Use the protobuf wire transport (instead of the default Server-Sent Events) for an AG-UI connection with the AG-UI .NET SDK — a compact binary event stream negotiated via the Accept header. USE FOR: making an AGUIChatClient prefer protobuf by wiring an AGUIEventStreamHandler with ProtobufEventStreamFormatter (then…

ag-ui-protocol/ag-ui · 162 tokens

cog-knowledge-consolidation

Build structured knowledge frameworks from scattered vault notes with source attribution.

a5c-ai/babysitter · 19 tokens

quality-hooks

Language-specific auto-lint/format/typecheck pipeline. Supports Python (ruff+pyright), TypeScript (prettier+eslint+tsc), Go (gofmt+golangci-lint). Auto-fix and convergence loops.

a5c-ai/babysitter · 53 tokens

revdiff-plan

Review the last Codex assistant message (plan, analysis, or proposal) with inline annotations in a TUI overlay. Extracts the most recent response from Codex rollout files and opens it in revdiff for review and annotation. Activates on "revdiff-plan", "review plan with revdiff", "annotate plan", "review last response"…

umputun/revdiff · 84 tokens

strict-tdd

Strict RED->GREEN->REFACTOR test-driven development with enforcement. Never write production code before a failing test. Atomic commits per TDD cycle.

a5c-ai/babysitter · 34 tokens