capture-followup
Capture follow-up work discovered during backlog delivery — deferred tasks, out-of-scope findings, doc drift, waived acceptance criteria — into a reviewable…
Skill by wfukatsu
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/wfukatsu-capture-followup
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: documents
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 and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/capture-followup
What's inside
- Skill name
capture-followup- Description
- Capture follow-up work discovered during backlog delivery — deferred tasks, out-of-scope findings, doc drift, waived acceptance criteria — into a reviewable queue, then register approved entries as tracker Issues under the in-flight Epic so they enter the /architect:deliver-backlog loop.
- License
- MIT
- Instructions
- 255 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- name: missing
Files (2)
- SKILL.md
- followup-contract.test.py
SKILL.md (first lines)
# Follow-up Capture (Deferred Work → Backlog)
Shared files: a path written `@rules/…`, `@skills/…`, `@templates/…` or `@docs/…` is relative to the
plugin root, `${CLAUDE_PLUGIN_ROOT}` — not to the project being worked on. Read it from there.
**Usage:** `/architect:capture-followup [title] [--parent=<local_id|#iid>] [--from=<file|issue-ref>] [--queue-only] [--flush] [--dry-run] [--auto] [--lang=en|ja]`
With a title/--from, appends to the queue (and offers a flush); --queue-only stops after the append
(the form the feeder skills use mid-run); --flush (or no args with a non-empty queue) reviews the
queue and creates the Issues after an approval gate.
## Desired Outcome
Work discovered mid-delivery that cannot be done now stops disappearing into comments and review
prose. Instead it flows through three states, each durable:
- **Queued.** A `reports/backlog/followup-queue.md` entry records the task, its proposed parent,
and where it was discovered — appendable at any point during `/architect:implement-backlog`,
`/architect:review-issue`, or `/architect:merge-issue` without a remote write or an approval
interruption.
- **Created.** After an explicit approval gate, each queued entry becomes a tracker Issue
(`glab` / `gh`) labeled `status::todo`, linked to its parent Sub-Epic (or, explicitly, Epic),
and appended to `reports/backlog/backlog-manifest.json` as a node the rest of the backlog
family understands.
- **Delivered.** The new Issues are ordinary backlog Issues: `/architect:deliver-backlog` picks
them up as `status::todo` with no special handling.
Runs against the **target project** (the one holding `reports/backlog/backlog-manifest.json` and
the tracked repository). It never edits nexus-architect itself.
## Decision Criteria
- **Parent selection precedence** — (1) `--parent=<local_id|#iid>` always wins. (2) Otherwise
default to the parent Sub-Epic of the Issue currently in flight: the single `status::doing`
Issue, resolved from the manifest's `impl.status` — when the tracker label and `impl.status`
disagree, the tracker wins (same rule as `/architect:deliver-backlog`). (3) When zero or
multiple Issues are `doing`, ask via AskUserQuestion. **Epic-direct attachment is allowed only
explicitly** (`--parent=E<n>` or chosen in the dialog) — a cross-cutting follow-up may
legitimately have no Sub-Epic home, but the default never silently picks the Epic.
- **Queue vs create** — Feeder skills always append with `--queue-only`; remote creation happens
only past the Step 3 gate. Never create an Issue the user has not approved (unless `--auto`).
- **Fabrication ban** — The Issue body derives from the recorded finding (the queue entry, the
`--from` source, or the user's words). Do not invent acceptance criteria, endpoints, or
numbers; a follow-up whose "done" condition is unknown gets a single criterion restating the
finding to resolve, marked `TBD`.
- **Follow-ups are not an escape hatch** — A `[B]` blocker, a failing preflight check, or an
unmet criterion needed for the *current* Issue's merge is handled by the owning skill's own
loop; only genuinely deferrable work belongs here.
## Prerequisites
| File / source | Required/Recommended | Produced by |
|---------------|----------------------|-------------|
| `reports/backlog/backlog-manifest.json` | Required | /architect:export-backlog |
| `glab` / `gh` authenticated for the target project | Required (flush only) | user |
| `reports/backlog/followup-queue.md` | Optional (created on first capture) | this skill + feeder skills |
Read the output language from `work/pipeline-progress.json` (`options.output_language`, default
`en`); `--lang` overrides. Queue entries, Issue titles/bodies, and reports use that language;
label keys, local IDs, and traceability IDs stay in English.
## Follow-up ID & Manifest Contract
Follow-up Issues live in their **own local-ID namespace** so they can never collide with the
positional IDs `/architect:export-backlog` synthesizes from reports:
- **Format**: `<parent_local_id>.F<n>` — e.g. `SE1.2` → `I1.2.F1`, `I1.2.F2`; an Epic-direct
follow-up under `E1` is `I1.F1`. The `I` prefix marks the level (always `issue`); the `F<n>`
suffix marks the namespace.
- **Allocation at create time** (Step 4, not at queueing): `n` = max existing `F` index among the
parent's children in the manifest, plus 1. Queued-but-not-created entries reserve nothing, so
dropping one leaves no gap.
- **Collision rule** — `export-backlog --update` re-synthesizes only positional IDs
(`I1.2.1 … I1.2.n`); it must never assign, renumber, or reassign a `*.F<n>` node or any node
carrying `origin` (stated on its side too). The two namespaces are disjoint by construction.
The manifest node uses the exact shape `export-backlog` defines, plus one new field, `origin`:
```json
{
"local_id": "I1.2.F1",
"level": "issue",
"title": "Extract retry policy into shared config",
"body": "## How\n…\n## Acceptance Criteria\n- [ ] …\n## References\n…",
"labels": ["type:issue", "status::todo", "followup", "domain:payments"],
"parent_local_id": "SE1.2",
"source_reports": ["reports/backlog/impl-log/I1.2.3.md"],
"traceability": ["NFR-03"],
"origin": {
"discovered_in": "I1.2.3",
"source": "implement",
"reference": "reports/backlog/impl-log/I1.2.3.md#finding-2",
"queued_at": "2026-08-06T02:00:00Z"
},
"remote": { "id": 401, "iid": 57, "url": "…", "created_at": "…" }
}
```
- `origin.source` ∈ `implement | review | merge | manual`; `origin.discovered_in` is the local ID
(or `#<iid>`) of the item being worked when the task surfaced; `origin.reference` points at the
recorded finding (impl-log anchor, review doc, comment URL).
- `labels` is the **creation seed, not live state** (the standing manifest rule): seeded with
`type:issue` (GitLab fallback: `type::issue`), `status::todo`, `followup`, and the `domain:` /
`tier:` labels inherited from the parent Sub-Epic. Status advances on the tracker and in
`impl.status`, never here.
- The node is appended to the manifest **immediately after each successful create**, with
`remote` filled in, so an interrupted flush resumes cleanly.
This contract is asserted as behaviour by `skills/capture-followup/followup-contract.test.py`
(F-index allocation, namespace disjointness, node shape, parent resolution) — run it after
changing this section.
## Queue File Contract
`reports/backlog/followup-queue.md` — markdown (not JSON) so the user can hand-edit entries
before a flush. Created on first capture with the required YAML frontmatter (`title`,
`schema_version: 1`, `phase`, `skill: capture-followup`, `generated_at`, `input_files`). One
section per entry:From wfukatsu/nexus-architect, MIT.
More from wfukatsu/nexus-architect
- 0.632score
config
wfukatsu
Generate ScalarDB configuration files (database.properties, build.gradle dependencies) based on your choices.
SkillAFreshness: A★ 13Claude Code +9 - 0.632score
crud-ops
wfukatsu
Show ScalarDB CRUD operation patterns — builder syntax for Get, Scan, Insert, Upsert, Update, Delete with examples.
SkillAFreshness: A★ 13Claude Code +9 - 0.632score
docs
wfukatsu
Search ScalarDB / ScalarDL documentation for specific topics.
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
analyze
wfukatsu
Extract ubiquitous language, actor-role-permission matrix, and domain-code mapping.
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
build-app
wfukatsu
Build a complete ScalarDB application from a domain description.
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
generate-test-specs
wfukatsu
Generate BDD scenarios, contract test, unit test, property-based test, integration test, and performance test specifications.
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
deliver-backlog
wfukatsu
Drive each Issue under an Epic through implement → review → human approval → merge, in order, resuming from backlog-manifest.json and stopping at every human…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
analyze-data-model
wfukatsu
Comprehensive data layer analysis including entity/relationship analysis, DB design evaluation, and ER diagram generation.
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
analyze-ui
wfukatsu
Analyze the user interface of an existing system: screens with their inputs, outputs, actions and access; UI components; features and user tasks; business…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
design-api
wfukatsu
Generate REST/GraphQL/gRPC/AsyncAPI specifications as the project's single, verifiable API contract — named schemas, every status code declared, RFC 9457…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
design-data-layer
wfukatsu
Generic database design for non-ScalarDB projects.
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
design-graphql
wfukatsu
Design a schema-first Spring for GraphQL API after /architect:design-api selects GraphQL or a hybrid surface.
SkillAFreshness: A★ 13Claude Code +9
Signals
- Stars
- 13
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Oct 8, 2026 (20 days ago)
- Last release
- Oct 9, 2026 (19 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/wfukatsu/nexus-architect
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from wfukatsu
- 0.632score
docs
wfukatsu
Search ScalarDB / ScalarDL documentation for specific topics.
SkillAFreshness: A★ 13Claude Code +9 - 0.632score
crud-ops
wfukatsu
Show ScalarDB CRUD operation patterns — builder syntax for Get, Scan, Insert, Upsert, Update, Delete with examples.
SkillAFreshness: A★ 13Claude Code +9 - 0.632score
config
wfukatsu
Generate ScalarDB configuration files (database.properties, build.gradle dependencies) based on your choices.
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
analyze
wfukatsu
Extract ubiquitous language, actor-role-permission matrix, and domain-code mapping.
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
build-app
wfukatsu
Build a complete ScalarDB application from a domain description.
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
analyze-ui
wfukatsu
Analyze the user interface of an existing system: screens with their inputs, outputs, actions and access; UI components; features and user tasks; business…
SkillAFreshness: A★ 13Claude Code +9
Cite this page
capture-followup skill. Agent Mart. https://agentmart.dev/skills/wfukatsu-capture-followup (last updated 2026-10-24)