scoped-planning
Per-stage scope-check overlay across the planning lifecycle.
Skill by kyzooghost
Chalk Labs
Need help deploying scoped-planning?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/kyzooghost-scoped-planning
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/scoped-planning
What's inside
- Skill name
scoped-planning- Description
- Per-stage scope-check overlay across the planning lifecycle. Wraps brainstorming, grill-plan, and writing-plans as black boxes and applies post-hoc scope guardrails at each stage's natural checkpoint against a scope map built from a GitHub issue-label universe. Use when the user says "/scoped-planning" or asks to scope a planning stage to specific tickets. Classifies every overscoped artifact point as IN SCOPE, OWNED BY ANOTHER TICKET, or GENUINE GAP, and proposes gap tickets. Requires a non-empty ticket universe; use create-scoped-tickets to seed one first.
- License
- MIT
- Instructions
- 247 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# scoped-planning
A per-stage scope-check overlay across the planning lifecycle (`/brainstorming` -> `/grill-plan` -> `/writing-plans`). Each stage is invoked separately as `scoped-planning /<wrapped-skill>`, wrapping that stage's base skill as a black box. The wrapped skill runs to its natural checkpoint (brainstorming's user-review gate, grill-plan's handoff, writing-plans' execution-handoff); scope-check guardrails are then applied post-hoc, before the artifact is handed off. The deliverable is the wrapped skill's normal output (spec / grilled plan / task plan), kept scope-clean - not a separate verdict report.
All scope-routing logic - scope inventory, IN/OWNED/GAP classification, gap rule, gap-ticket template - is defined here. The only external reference is to `create-scoped-tickets`, which is used to seed the ticket universe when it is empty; scope-routing itself is self-contained.
## Inputs
- `--tickets <N,M,...>` - one or more target ticket numbers in the label universe that this planning effort implements (e.g. `4343,4380`). Comma-separated. Required; omitting `--tickets` is always an error.
- `--label <label>` - the issue label defining the ticket universe. Default: `agent-work-ticket`.
- `<wrapped-skill>` - the base skill to wrap: one of `/brainstorming`, `/grill-plan`, `/writing-plans`. This token selects the overlay mode; no separate `--mode` flag.
- The wrapped skill's own inputs (idea/spec, plan draft, etc.) are passed through unchanged.
`--repo` is required when `--tickets` are bare numbers; inferred from full ticket URLs when `--tickets` are given as full URLs.
If the label universe is empty (no tickets exist yet), use the `create-scoped-tickets` skill first to seed it from a spec, then invoke `/scoped-planning` with the seeded ticket numbers.
## Built-in defaults (never restated by the user)
- No-duplication check against every open ticket carrying `--label` in the repo.
- Gap routing: every overscoped artifact point must map to a target ticket's owned scope, another open ticket's owned scope, or a proposed new ticket - never silently introduced as new scope.
- No-new-scope guard: an artifact point that fits neither a target ticket nor an existing open ticket is a gap, not a license to expand the plan.
- Post-hoc guardrails: the wrapped skill runs uninterrupted to its natural checkpoint; scope-checks apply after, before handoff.
## Scope inventory
Run:
```bash
gh issue list -R <REPO> --label <LABEL> --state open --limit 200 --json number,title,body
```
For every ticket, extract what it OWNS ("The owner may" / "Scope of Work" or equivalent) and EXCLUDES ("The owner must not" / "Not In Scope" or equivalent). Produce a scope map: ticket number -> one-line ownership statement. Treat every ticket's ownership as exclusive. If work appears under another ticket's "owner may", it is out of scope here, full stop.
The authoritative set of recognized scope-section headings is: "The owner may", "The owner must not", "Not In Scope", "Scope of Work", "Definition of Done". If a ticket uses none of these, see Error handling.
## IN/OWNED/GAP classification
Applied to every point of the wrapped skill's artifact (a spec section, an unresolved decision, a task line) at the stage's natural checkpoint:
- **IN SCOPE** - the point touches the union of the target tickets' owned scope. Silent pass; emit the artifact as the base skill would.
- **OWNED BY ANOTHER TICKET** - the point touches an area owned by a different open ticket in the scope map. Flag inline at the point of collision; name the owning ticket. Ask the user to narrow the artifact, reassign, or explicitly accept the cross-ticket work before handoff.
- **GENUINE GAP** - the point touches an area no open ticket owns. Flag inline at the unowned work. **Stop and ask**: (i) create a gap ticket now (embedded template) or (ii) narrow the artifact to drop the gap.
- **Uncertain mapping** - if you cannot map a point to a scope-map entry with confidence, default to GENUINE GAP and flag the uncertainty inline. The approval gate for gap tickets lets the user filter noise; do not interrupt the stage to ask per-point about the uncertainty.
Stubs, interfaces, TODOs, and hardcoded placeholders standing in for other tickets' unimplemented work are CORRECT by design - only verify the stub matches the agreed interface; do not flag them as overscope.
## Gap rule
Draft each GENUINE GAP as a new ticket using the self-contained Agent Work Ticket template below. Present drafts under "Proposed new tickets". Request approval before filing each gap ticket via `gh issue create -R <REPO> --label <LABEL> -t "<title>" -b "<body>"`. Do not file any gap ticket unless approved. Capture the real number/URL of each filed ticket and surface it back to the user.
## Self-contained gap-ticket template
Title: `<Area> - <Concrete outcome>`. Do NOT include Status, Status Flow, Required Receipt, or Due Date in the body.
```markdown
## Agent Work Ticket
### Request / Outcome
What needs to happen?
* <Concrete outcomes, not a vague theme. Concrete verbs + named components.>
### Background / Context
* <Why this exists: prior PRs, reviews, design constraints.>
* <Dependencies on other tickets: "Depends on #N (consumed via <interface/stub>); blocked by #M landing first.">
### Source Materials
* <Specs, PRs, commits, adjacent tickets. Prefer repo-relative paths.>
### Scope of Work
The owner may:
* <Allowed work. Every bullet traces to the Request / Outcome.>
The owner must not:
* <Out-of-scope work item> (ticket #N)
* <Out-of-scope work item> (ticket #M)
* <Change shared interfaces/contracts owned elsewhere>
* <Invent semantics not in the spec/source materials>
* Take any action requiring human approval without asking first
### Definition of Done
This ticket is complete when:
* <Verifiable checks only: tests, invariants, docs.>
### Stop Conditions
Stop and ask for input if:
* Ambiguity or missing information in the spec or interfaces
* A decision requires product/protocol judgment
* An action would affect another team or repo
* There is risk of overstepping the ticket scope
### Blocking Questions
* <Pre-seed only if already known; otherwise leave empty.>
```
The "owner must not" list cites adjacent ticket numbers from the scope map so every boundary is unambiguous.
## Architecture
`scoped-planning` is a per-stage scope-check overlay with three entry points, each wrapping one lifecycle skill as a black box and bolting a scope guard onto its output:
| Mode | Wraps | Scope-checks |
|------|-------|--------------|
| `scoped-planning /brainstorming` | `brainstorming` | The emerging spec/design - flag scope creep vs the ticket universe. |
| `scoped-planning /grill-plan` | `grill-plan` | The grilled plan - flag unresolved decisions that drift outside ticket scope. |
| `scoped-planning /writing-plans` | `writing-plans` | The task plan - flag any task that touches work owned by another ticket or outside the universe. |From kyzooghost/skills, MIT.
More from kyzooghost/skills
- 0.570score
pr-review-comments
kyzooghost
Transform security review findings into targeted GitHub PR review comments.
SkillAFreshness: AClaude Code +9 - 0.538score
fix-ci
kyzooghost
Use when the user asks for /fix-ci behavior or the equivalent command workflow.
SkillAFreshness: AClaude Code +9 - 0.529score
create-scoped-tickets
kyzooghost
Decompose a technical implementation spec into mutually exclusive GitHub Agent Work Tickets under one or more labels, either seeding an empty label universe…
SkillBFreshness: BClaude Code +9 - 0.529score
ship-from-plan
kyzooghost
Use when the user provides a completed implementation plan and wants one continuous isolated execution through a reviewed, CI-green pull request marked ready…
SkillBFreshness: BClaude Code +9 - 0.524score
complexity-review
kyzooghost
Review a PR for unnecessary complexity, brittle test strategies, and overengineering.
SkillBFreshness: BClaude Code +9 - 0.524score
scoped-differential-review
kyzooghost
Wraps a vendored differential-review skill and routes its findings against a GitHub issue-label universe.
SkillBFreshness: BClaude Code +9 - 0.479score
sync-skill
kyzooghost
Sync a skill from this repo into the local machine's skill directories.
SkillCFreshness: CClaude Code +9 - 0.479score
sync-command
kyzooghost
Sync a command from this repo into local agent surfaces.
SkillCFreshness: CClaude Code +9 - 0.479score
discover-repo
kyzooghost
Generate a comprehensive AGENTS.md index for a repository with a CLAUDE.md symlink.
SkillCFreshness: CClaude Code +9 - 0.479score
llm-wiki
kyzooghost
Build and maintain a personal knowledge wiki using LLMs.
SkillCFreshness: CClaude Code +9 - 0.474score
perf-review
kyzooghost
Use when drafting a periodic performance review (annual review, mid-year, promo packet, peer feedback) from monthly win reports and supporting sources, where…
SkillCFreshness: CClaude Code +9 - 0.474score
handover
kyzooghost
Prepare a structured handover document from the current session for a fresh Claude session to continue the work.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jul 29, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/kyzooghost/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from kyzooghost
- 0.570score
pr-review-comments
kyzooghost
Transform security review findings into targeted GitHub PR review comments.
SkillAFreshness: AClaude Code +9 - 0.538score
fix-ci
kyzooghost
Use when the user asks for /fix-ci behavior or the equivalent command workflow.
SkillAFreshness: AClaude Code +9 - 0.529score
create-scoped-tickets
kyzooghost
Decompose a technical implementation spec into mutually exclusive GitHub Agent Work Tickets under one or more labels, either seeding an empty label universe…
SkillBFreshness: BClaude Code +9 - 0.529score
ship-from-plan
kyzooghost
Use when the user provides a completed implementation plan and wants one continuous isolated execution through a reviewed, CI-green pull request marked ready…
SkillBFreshness: BClaude Code +9 - 0.524score
scoped-differential-review
kyzooghost
Wraps a vendored differential-review skill and routes its findings against a GitHub issue-label universe.
SkillBFreshness: BClaude Code +9 - 0.524score
complexity-review
kyzooghost
Review a PR for unnecessary complexity, brittle test strategies, and overengineering.
SkillBFreshness: BClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get scoped-planning running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
scoped-planning skill. Agent Mart. https://agentmart.dev/skills/kyzooghost-scoped-planning (last updated 2026-10-24)