@yukioa2z/visa-apply 3.0.1 → 3.0.2

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/README.md CHANGED
@@ -4,8 +4,11 @@ Research, prepare, review, and track visa applications with current official sou
4
4
 
5
5
  [Website](https://yukioa2z.github.io/visa-apply/) · [Source](https://github.com/Yukioa2z/visa-apply)
6
6
 
7
+ Install into your agent's skills directory with `--dest`:
8
+
7
9
  ```sh
8
- npx --yes @yukioa2z/visa-apply
10
+ npx @yukioa2z/visa-apply -- --dest ~/.claude/skills # Claude Code
11
+ npx @yukioa2z/visa-apply -- --dest ~/.codex/skills # Codex
9
12
  ```
10
13
 
11
14
  Then invoke. To just check whether you need a visa:
@@ -20,11 +23,7 @@ Many trips end there with a visa-free or ETA answer. To prepare a full applicati
20
23
  Use $visa-apply to help me prepare a visa application for my destination and visa type.
21
24
  ```
22
25
 
23
- The installer copies the skill to `~/.codex/skills/visa-apply`. For Claude Code, Hermes, OpenClaw, or another agent with a different skill directory:
24
-
25
- ```sh
26
- npx --yes @yukioa2z/visa-apply -- --dest ~/.claude/skills
27
- ```
26
+ `--dest` is your agent's skills root; the installer copies the skill into `<dest>/visa-apply`. Point it at whatever directory your agent scans — Claude Code, Codex, Hermes, OpenClaw, or another agent. Run with `--help` to see the target paths.
28
27
 
29
28
  ## Pipeline
30
29
 
@@ -44,6 +43,12 @@ No cached source stores a visa-free or visa-required answer. Every case must be
44
43
 
45
44
  Government immigration, foreign-ministry, and embassy pages are the rule authority. Delegated visa application centres are used only for appointment and submission logistics.
46
45
 
46
+ ## Weekly source monitoring
47
+
48
+ Every Monday at 00:00 Asia/Shanghai, GitHub Actions compares normalized content fingerprints for every registered official visa source. All 250 destinations appear in the generated monitor: destinations with registered sources receive a change status, while destinations without a source seed are explicitly marked as requiring live official-source discovery.
49
+
50
+ A new fingerprint is first recorded as a review candidate and is only confirmed as changed when the same fingerprint appears in the next run. Either state is a review signal, not a visa-policy verdict. The workflow records the result in `skill/references/policy-monitor.json`, increments the package patch version, commits the report, and dispatches the npm trusted-publishing workflow. This keeps the installable skill current without turning an arbitrary webpage edit into legal guidance.
51
+
47
52
  The applicant model is global. It keeps citizenship, travel-document issuer, legal residence, current location, consular application location, and transit route separate, including dual nationals, third-country applicants, minors, and holders of refugee or other non-passport travel documents.
48
53
 
49
54
  This skill is not legal advice. The applicant must review all information and handle applicant-only declarations, signatures, certifications, CAPTCHA, and submission.
package/bin/install.js CHANGED
@@ -11,12 +11,13 @@ const sourceDir = path.join(packageRoot, "skill");
11
11
  function usage() {
12
12
  console.log(`Install ${skillName}
13
13
 
14
- Usage:
15
- npx @yukioa2z/visa-apply
16
- npx @yukioa2z/visa-apply -- --dest ~/.claude/skills
14
+ Choose where to install with --dest — your agent's skills directory:
15
+ Claude Code npx @yukioa2z/visa-apply -- --dest ~/.claude/skills
16
+ Codex npx @yukioa2z/visa-apply -- --dest ~/.codex/skills
17
+ Other agent npx @yukioa2z/visa-apply -- --dest <your agent's skills dir>
17
18
 
18
19
  Options:
19
- --dest <path> Skill root directory. Defaults to $CODEX_HOME/skills or ~/.codex/skills.
20
+ --dest <path> Skill root directory (required).
20
21
  --dry-run Print the destination without copying files.
21
22
  --help Show this help message.
22
23
  `);
@@ -47,11 +48,16 @@ if (!fs.existsSync(sourceDir)) {
47
48
  process.exit(1);
48
49
  }
49
50
 
50
- const defaultRoot = process.env.CODEX_HOME
51
- ? path.join(process.env.CODEX_HOME, "skills")
52
- : path.join(os.homedir(), ".codex", "skills");
51
+ const destOption = readOption("--dest");
52
+ if (!destOption) {
53
+ console.error(
54
+ "No --dest given. Install into your agent's skills directory:\n"
55
+ );
56
+ usage();
57
+ process.exit(1);
58
+ }
53
59
 
54
- const destRoot = path.resolve(expandHome(readOption("--dest") || defaultRoot));
60
+ const destRoot = path.resolve(expandHome(destOption));
55
61
  const destDir = path.join(destRoot, skillName);
56
62
 
57
63
  if (args.includes("--dry-run")) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yukioa2z/visa-apply",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "description": "Install a global visa-need research and application filing skill.",
5
5
  "license": "MIT",
6
6
  "keywords": [
package/skill/SKILL.md CHANGED
@@ -23,6 +23,7 @@ This skill is not legal advice. The applicant must review every answer and handl
23
23
  3. Run the mandatory live visa-need check before detailed intake.
24
24
  - Read `references/live-route-check.md`.
25
25
  - Resolve the destination in `references/jurisdictions.json`; cached starting sources are in `references/official-sources.json`.
26
+ - Consult `references/policy-monitor.json` when present. A changed fingerprint means the official page needs review; it is never a visa verdict and never replaces the live check.
26
27
  - Run `python3 scripts/source_registry.py live-check-plan <country> ...` when useful.
27
28
  - Browse current destination-government and responsible-mission sources for the exact passport, residence, purpose, dates, duration, entries, arrival mode, and transit itinerary.
28
29
  - Cross-check IATA Travel Centre/Timatic or the operating carrier for boarding requirements. Treat it as operational evidence, not legal authority.
@@ -42,6 +43,7 @@ This skill is not legal advice. The applicant must review every answer and handl
42
43
  - No chat note or scratch file may become more authoritative than the HTML.
43
44
  8. Run `references/quality-gates.md`, then stop at the applicant review gate before portal entry. Call out inferred values, stale sources, missing documents, expiring evidence, and unresolved conflicts.
44
45
  9. Assist with form entry using Browser or Computer Use after review.
46
+ - Before filling anything, make sure the dossier HTML is open in the user's default viewer (open it if it is not) so they can follow progress while you enter the form. Keep updating that file as each field is filled; the user refreshes to see the latest.
45
47
  - In non-Codex environments, use the equivalent browser/computer capability, such as Peekaboo or the runtime's supported automation skill.
46
48
  - Never bypass CAPTCHA or security controls, invent data, or perform an applicant-only signature/certification.
47
49
  10. Backfill application IDs, receipts, appointments/biometrics, document requests, decision status, and passport/visa return details into the HTML.
@@ -68,6 +70,8 @@ python3 scripts/create_dossier.py /path/to/visa-dossier.html \
68
70
  --transit "Singapore, airside"
69
71
  ```
70
72
 
73
+ Immediately open the dossier in the user's default viewer so they can watch it fill in as the interview proceeds. Use the platform opener: `open <path>` on macOS, `xdg-open <path>` on Linux, `start "" <path>` on Windows. Open it once; each later HTML update lands in the same file, so the user just refreshes the tab. If no opener is available (headless/remote), tell the user the local path to open manually.
74
+
71
75
  ## References
72
76
 
73
77
  - Full pipeline and source freshness rules: `references/pipeline.md`
@@ -77,4 +81,5 @@ python3 scripts/create_dossier.py /path/to/visa-dossier.html \
77
81
  - Submission, document, timing, and privacy gates: `references/quality-gates.md`
78
82
  - Searchable destination directory: `references/jurisdictions.json`
79
83
  - Official source registry: `references/official-sources.json`
84
+ - Weekly official-source change signals: `references/policy-monitor.json` (source health only, never a visa verdict)
80
85
  - Full country adapters: `references/countries/` — United States DS-160 (`us.md`), Schengen Type C (`schengen.md`), Canada IRCC (`ca.md`), United Kingdom (`uk.md`), Australia (`au.md`), Japan (`jp.md`). Every other destination uses a source-seeded or live-discovered adapter.