vouchington-tooling 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vouchington-tooling",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Vouchington CLI and extractable tooling libraries.",
5
5
  "homepage": "https://github.com/vouchington/vouchington-tooling/tree/main/packages/vouchington-tooling#readme",
6
6
  "bugs": {
@@ -8,17 +8,55 @@ description: Search, create, update, link, or assess GitHub issues using the rep
8
8
  Use for durable follow-ups and pull-request linkage. Read local `AGENTS.md`, `CLAUDE.md`, issue
9
9
  templates, and repository-routing policy before making any remote mutation.
10
10
 
11
- 1. Confirm GitHub authentication and the explicitly authorized repository. Search open and relevant
12
- closed issues before creating work; return a likely duplicate rather than filing one.
13
- 2. Verify paths and current behavior named in an issue. A discovered blocker does not widen an
14
- accepted implementation scope without the required local decision.
15
- 3. Write a self-contained issue: problem, desired outcome, ownership boundaries, concrete areas,
16
- validation, and any external dependency. Apply only existing labels and milestones according to
17
- live local taxonomy.
18
- 4. Link a pull request with a closing reference only when it fully resolves the issue. Use a
19
- non-closing relationship with an explanation when work remains.
20
- 5. For updates or closure recommendations, inspect current state and evidence first. Preserve
21
- history and report the action, URL, and resulting metadata.
22
-
23
- This skill does not choose a default repository, permit cross-repository writes, create taxonomy,
24
- or prescribe a CLI wrapper. Consumer wrappers define authorization and local mechanics.
11
+ ## Mutation authority
12
+
13
+ Caller authorization is required before any issue or taxonomy mutation; credential capability does
14
+ not grant scope. Resolve the authenticated identity, current repository, and requested target without
15
+ owner-prefix or visibility assumptions. Immediately before every write, refetch the exact target and
16
+ require its canonical identity to still match and the repository not to be archived. Issue operations
17
+ also require issues to be enabled and `viewerPermission` of `TRIAGE`, `WRITE`, `MAINTAIN`, or `ADMIN`;
18
+ issue creation additionally requires `viewerCanCreateIssues`. Applying existing metadata to a pull
19
+ request uses the same permission set but does not require issues to be enabled. Creating, changing, or
20
+ deleting taxonomy definitions requires `WRITE`, `MAINTAIN`, or `ADMIN` plus the operation-specific API
21
+ capability. Treat insufficient permission or capability, missing or inaccessible data, identity
22
+ changes, and mismatches as a hard deny that approval cannot override.
23
+
24
+ When an external creation target is denied, never write there. Search for and create or reuse a
25
+ tracking issue in the current repository, or a consumer-selected tracker. Immediately before that
26
+ write, refetch the destination repository and apply the issue-operation gate above. Include the
27
+ intended upstream repository and a copy-ready report so a human can decide whether to file it. Before
28
+ copying details to a less-restricted destination, remove private repository identity, paths, links,
29
+ code, and findings; if redaction would make the report unusable, require explicit destination approval
30
+ or return the draft without mutation. Authorization to file the external issue includes this tracking
31
+ fallback unless the caller opts out; report the reroute explicitly. If no tracker passes, return the
32
+ draft without mutation. Never fall back silently or to an unverified repository.
33
+
34
+ ## Issue workflow
35
+
36
+ 1. Search open and relevant closed issues in the selected destination; return a likely duplicate
37
+ rather than filing one. Verify paths and current behavior named in the issue.
38
+ 2. Before editing, commenting, relating, closing, or otherwise changing state, refetch the issue and
39
+ its current discussion. Verify the requested mutation is still authorized and supported by that
40
+ evidence. Close only when the documented outcome and acceptance evidence show the work is
41
+ resolved; otherwise leave state unchanged and report the gap.
42
+ 3. Write a self-contained issue with the problem, desired outcome, ownership boundaries, concrete
43
+ areas, validation, and external context. A discovered blocker does not widen implementation scope.
44
+ 4. Fetch the complete live taxonomy. Apply matching existing labels and a selected existing milestone
45
+ without separate approval. Omit a missing optional milestone; a missing required milestone blocks
46
+ the issue, and milestone creation is a separately authorized taxonomy operation. For a
47
+ missing label, use [review-github-issue-taxonomy](../review-github-issue-taxonomy/SKILL.md): obtain
48
+ explicit approval for its exact repository, name, description, and color before creating it.
49
+ Omit a declined optional label; a missing required label blocks the issue.
50
+ 5. Refetch the created or updated issue and verify its metadata. Report a partial failure without
51
+ retrying creation. Preserve history and report the action, URL, labels, and milestone.
52
+ 6. Link a pull request with a closing reference only when it fully resolves the issue. Keep
53
+ cross-repository references fully qualified; PR creation authority remains separate.
54
+ 7. Use native sub-issues only for real hierarchy, blocked-by relationships only for genuine known
55
+ dependencies, and prose links for merely related work. Read every created relationship back.
56
+
57
+ For batch creation, preflight every entry before writing any issue and fail the whole batch when one
58
+ entry is invalid. A partial transport failure stops further creation and reports every issue already
59
+ created; never retry successful entries.
60
+
61
+ This skill supplies no repository allowlist, taxonomy, issue template, credential, or CLI wrapper.
62
+ Consumer wrappers define local defaults and may impose stricter policy, but may not weaken this gate.
@@ -9,11 +9,14 @@ Use for issue hygiene, priority normalization, and milestone assignment. Read lo
9
9
  `CLAUDE.md`, and live taxonomy guidance before acting.
10
10
 
11
11
  1. Confirm repository identity and fetch the live labels, milestone descriptions, and all required
12
- in-scope issue or pull-request evidence before mutating anything.
12
+ in-scope issue or pull-request evidence. Before mutating, enforce the operation-specific gate from
13
+ [github-issue](../github-issue/SKILL.md); pull-request metadata does not require issues to be
14
+ enabled.
13
15
  2. Classify from the permitted metadata and discussion evidence, not implementation guesses. Keep
14
16
  automation, ownership, and provenance labels unless local policy explicitly permits changes.
15
- 3. Apply only existing labels and milestones. Do not create taxonomy, close work, rewrite bodies,
16
- or alter titles unless the caller separately authorizes that scope.
17
+ 3. Apply only existing labels and milestones without requesting separate label approval. Do not
18
+ create taxonomy, close work, rewrite bodies, or alter titles unless the caller separately
19
+ authorizes that scope.
17
20
  4. In review mode, report the exact proposed metadata changes without mutating. In apply mode, make
18
21
  only necessary, idempotent updates.
19
22
  5. Refetch every touched item and verify the requested metadata changed while protected metadata
@@ -14,7 +14,9 @@ Use when completed retrospectives or journals should become durable follow-up wo
14
14
  3. Verify each candidate against the current base and search existing issues and open changes before
15
15
  drafting. Skip work that is complete, explicitly rejected, or already covered.
16
16
  4. Draft self-contained issues with the problem, concrete proposed work, relevant areas, and
17
- evidence embedded in the body. Follow local approval and taxonomy policy before creating them.
17
+ evidence embedded in the body. Route every authorized creation through
18
+ [github-issue](../github-issue/SKILL.md), including its repository gate, label approval, and
19
+ denied-external tracking behavior.
18
20
  5. Archive only records that were fully processed under the repository's retention rules; report
19
21
  created, updated, skipped, and deferred themes with reasons.
20
22
 
@@ -15,8 +15,13 @@ local configuration edits or live taxonomy mutation; read local `AGENTS.md` and
15
15
  3. Audit aliases, ambiguity, unused labels, missing descriptions, color consistency, milestone
16
16
  overlap, delivery gaps, and path-label coverage.
17
17
  4. Return exact recommendations with migration impact and separate safe cleanup from decisions that
18
- require product or scheduling judgment.
19
- 5. Re-fetch current state immediately before any explicitly authorized mutation.
18
+ require product or scheduling judgment. Applying an existing label is not taxonomy creation and
19
+ needs no separate approval from the authorized issue operation.
20
+ 5. Before creating a label, stop for explicit approval naming its exact repository, name,
21
+ description, and color. Re-fetch current state and enforce the taxonomy-definition gate from
22
+ [github-issue](../github-issue/SKILL.md): require `WRITE`, `MAINTAIN`, or `ADMIN` and the
23
+ label-specific API capability immediately before the approved mutation. `viewerCanCreateIssues`
24
+ applies only to issue creation. Approval for an issue or another label does not transfer.
20
25
 
21
26
  Do not create or change labels, milestones, issues, or local files for a recommendation-only
22
27
  request. This skill does not define a repository's taxonomy or automation file locations; a
@@ -17,8 +17,10 @@ issue policy, and review-record conventions first.
17
17
  4. Group related candidates into self-contained issue drafts that preserve the original evidence and
18
18
  explain why the work remains needed.
19
19
  5. Remain read-only unless the caller or consumer wrapper explicitly authorizes issue creation. If
20
- authorized, create only the approved candidates, then clean up temporary collection artifacts
21
- and report skipped, covered, and created items.
20
+ authorized, route every candidate through
21
+ [github-issue](../github-issue/SKILL.md), including its denied-external tracking behavior; do not
22
+ duplicate repository or label authorization. Then clean up temporary collection artifacts and
23
+ report skipped, covered, and created items.
22
24
 
23
25
  Do not assume a review journal format, default lookback, hosting provider, repository, issue
24
26
  taxonomy, or confirmation mechanism. Consumer wrappers own those integrations.